agentme 0.34.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.xdrs/agentme/bdrs/index.md +11 -0
- package/.xdrs/agentme/bdrs/operations/.assets/team-composition.svg +171 -0
- package/.xdrs/agentme/bdrs/operations/401-epic-feature-story-planning.md +10 -1
- package/.xdrs/agentme/bdrs/operations/402-digital-product-roles.md +149 -0
- package/.xdrs/agentme/bdrs/operations/403-product-team-composition.md +102 -0
- package/.xdrs/agentme/bdrs/operations/404-team-roles-and-specialists.md +274 -0
- package/.xdrs/agentme/bdrs/principles/001-company-organizational-levels.md +61 -0
- package/.xdrs/agentme/bdrs/principles/002-okr-framework.md +74 -0
- package/.xdrs/agentme/bdrs/principles/003-product-delivery-value-flow.md +90 -0
- package/.xdrs/agentme/edrs/index.md +1 -1
- package/.xdrs/agentme/edrs/principles/skills/150-refine-plan-mode/SKILL.md +30 -29
- package/.xdrs/agentme/edrs/principles/skills/151-refine-user-story/SKILL.md +165 -56
- package/.xdrs/agentme/edrs/principles/skills/151-refine-user-story/SKILL.test.md +181 -42
- package/package.json +1 -1
|
@@ -2,8 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Business decisions for software development project management practices in the agentme scope.
|
|
4
4
|
|
|
5
|
+
## Principles
|
|
6
|
+
|
|
7
|
+
Organisational structure, team topology, and strategic alignment concepts.
|
|
8
|
+
|
|
9
|
+
- [agentme-bdr-001](principles/001-company-organizational-levels.md) - **Company organizational levels** — Defines the Group, Company, and Business Unit taxonomy used to describe how organisations are structured
|
|
10
|
+
- [agentme-bdr-002](principles/002-okr-framework.md) - **OKR framework** — Defines the Strategic, Tactical, and Operational OKR framework and connection rules
|
|
11
|
+
- [agentme-bdr-003](principles/003-product-delivery-value-flow.md) - **Product delivery value flow** — Defines the end-to-end chain from Strategic OKRs through roles and artefacts to fulfilled Tactical OKRs
|
|
12
|
+
|
|
5
13
|
## Operations
|
|
6
14
|
|
|
7
15
|
Project management workflow and structure for development teams.
|
|
8
16
|
|
|
9
17
|
- [agentme-bdr-401](operations/401-epic-feature-story-planning.md) - **Epic / Feature / User Story planning** — Organize development work as epics, features, and user stories using XDRS plan documents
|
|
18
|
+
- [agentme-bdr-402](operations/402-digital-product-roles.md) - **Digital product roles — organisation & cross-team** — Defines team purpose, workforce allocation, roles overview, and org-level and cross-team roles (PM, Principal Engineer, Solution Architect)
|
|
19
|
+
- [agentme-bdr-403](operations/403-product-team-composition.md) - **Product team composition** — Defines team composition models, squad structure, squad dynamics, and known structural gaps for Product Teams
|
|
20
|
+
- [agentme-bdr-404](operations/404-team-roles-and-specialists.md) - **Digital product roles — team & specialists** — Defines team-level roles (PO, PjM, BA, AI BA, AI Lead, AI Engineer, Tech Lead, engineers) and shared specialist roles
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="685" viewBox="0 0 920 685">
|
|
2
|
+
<defs>
|
|
3
|
+
<marker id="arr" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto">
|
|
4
|
+
<polygon points="0 0, 8 3, 0 6" fill="#9CA3AF"/>
|
|
5
|
+
</marker>
|
|
6
|
+
<marker id="arr-v" markerWidth="8" markerHeight="6" refX="7" refY="3" orient="auto">
|
|
7
|
+
<polygon points="0 0, 8 3, 0 6" fill="#7C3AED"/>
|
|
8
|
+
</marker>
|
|
9
|
+
</defs>
|
|
10
|
+
|
|
11
|
+
<rect width="920" height="685" fill="#F8FAFC"/>
|
|
12
|
+
|
|
13
|
+
<!-- ===== CROSS-TEAM ===== -->
|
|
14
|
+
<rect x="10" y="10" width="900" height="95" rx="8" fill="#EEF2FF" stroke="#C7D2FE" stroke-width="1.5"/>
|
|
15
|
+
<text x="22" y="30" font-family="system-ui,sans-serif" font-size="10" font-weight="700" fill="#6366F1" letter-spacing="1">ORGANISATION & CROSS-TEAM ROLES</text>
|
|
16
|
+
|
|
17
|
+
<rect x="65" y="38" width="165" height="52" rx="6" fill="#4F46E5"/>
|
|
18
|
+
<text x="147" y="59" font-family="system-ui,sans-serif" font-size="12" font-weight="700" fill="white" text-anchor="middle">Product Manager</text>
|
|
19
|
+
<text x="147" y="76" font-family="system-ui,sans-serif" font-size="10" fill="#C7D2FE" text-anchor="middle">What / When</text>
|
|
20
|
+
|
|
21
|
+
<rect x="378" y="38" width="165" height="52" rx="6" fill="#1D4ED8"/>
|
|
22
|
+
<text x="460" y="59" font-family="system-ui,sans-serif" font-size="12" font-weight="700" fill="white" text-anchor="middle">Principal Engineer</text>
|
|
23
|
+
<text x="460" y="76" font-family="system-ui,sans-serif" font-size="10" fill="#BFDBFE" text-anchor="middle">How</text>
|
|
24
|
+
|
|
25
|
+
<rect x="692" y="38" width="165" height="52" rx="6" fill="#1D4ED8"/>
|
|
26
|
+
<text x="774" y="59" font-family="system-ui,sans-serif" font-size="12" font-weight="700" fill="white" text-anchor="middle">Solution Architect</text>
|
|
27
|
+
<text x="774" y="76" font-family="system-ui,sans-serif" font-size="10" fill="#BFDBFE" text-anchor="middle">What</text>
|
|
28
|
+
|
|
29
|
+
<!-- Arrow: cross-team → team -->
|
|
30
|
+
<line x1="460" y1="105" x2="460" y2="122" stroke="#9CA3AF" stroke-width="1.5" marker-end="url(#arr)"/>
|
|
31
|
+
|
|
32
|
+
<!-- ===== TEAM ===== -->
|
|
33
|
+
<rect x="10" y="125" width="900" height="95" rx="8" fill="#F0FDF4" stroke="#86EFAC" stroke-width="1.5"/>
|
|
34
|
+
<text x="22" y="144" font-family="system-ui,sans-serif" font-size="10" font-weight="700" fill="#16A34A" letter-spacing="1">TEAM X</text>
|
|
35
|
+
|
|
36
|
+
<!-- PO — shared, dashed border -->
|
|
37
|
+
<rect x="22" y="150" width="138" height="55" rx="6" fill="#4F46E5" stroke="#A5B4FC" stroke-width="1.5" stroke-dasharray="5,3"/>
|
|
38
|
+
<text x="91" y="170" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Product Owner</text>
|
|
39
|
+
<text x="91" y="185" font-family="system-ui,sans-serif" font-size="9" fill="#C7D2FE" text-anchor="middle">What / When</text>
|
|
40
|
+
<text x="91" y="198" font-family="system-ui,sans-serif" font-size="9" fill="#E0E7FF" text-anchor="middle">↔ all squads</text>
|
|
41
|
+
|
|
42
|
+
<!-- PM -->
|
|
43
|
+
<rect x="178" y="150" width="138" height="55" rx="6" fill="#7C3AED"/>
|
|
44
|
+
<text x="247" y="170" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Project Manager</text>
|
|
45
|
+
<text x="247" y="185" font-family="system-ui,sans-serif" font-size="9" fill="#DDD6FE" text-anchor="middle">When / How</text>
|
|
46
|
+
<text x="247" y="198" font-family="system-ui,sans-serif" font-size="9" fill="#EDE9FE" text-anchor="middle">cross-squad deps</text>
|
|
47
|
+
|
|
48
|
+
<!-- Tech Lead — shared, dashed border -->
|
|
49
|
+
<rect x="567" y="150" width="138" height="55" rx="6" fill="#059669" stroke="#6EE7B7" stroke-width="1.5" stroke-dasharray="5,3"/>
|
|
50
|
+
<text x="636" y="170" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Tech Lead</text>
|
|
51
|
+
<text x="636" y="185" font-family="system-ui,sans-serif" font-size="9" fill="#A7F3D0" text-anchor="middle">How / When</text>
|
|
52
|
+
<text x="636" y="198" font-family="system-ui,sans-serif" font-size="9" fill="#D1FAE5" text-anchor="middle">↔ all squads</text>
|
|
53
|
+
|
|
54
|
+
<!-- AI Lead — shared, dashed border -->
|
|
55
|
+
<rect x="723" y="150" width="138" height="55" rx="6" fill="#D97706" stroke="#FDE68A" stroke-width="1.5" stroke-dasharray="5,3"/>
|
|
56
|
+
<text x="792" y="170" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">AI Lead</text>
|
|
57
|
+
<text x="792" y="185" font-family="system-ui,sans-serif" font-size="9" fill="#FDE68A" text-anchor="middle">How / When</text>
|
|
58
|
+
<text x="792" y="198" font-family="system-ui,sans-serif" font-size="9" fill="#FEF3C7" text-anchor="middle">↔ all squads</text>
|
|
59
|
+
|
|
60
|
+
<!-- Arrows: team → squads -->
|
|
61
|
+
<line x1="152" y1="220" x2="152" y2="237" stroke="#9CA3AF" stroke-width="1.5" marker-end="url(#arr)"/>
|
|
62
|
+
<line x1="460" y1="220" x2="460" y2="237" stroke="#9CA3AF" stroke-width="1.5" marker-end="url(#arr)"/>
|
|
63
|
+
<line x1="768" y1="220" x2="768" y2="237" stroke="#9CA3AF" stroke-width="1.5" marker-end="url(#arr)"/>
|
|
64
|
+
|
|
65
|
+
<!-- BA fluidity labels and arrows (between BA row of adjacent squads) -->
|
|
66
|
+
<text x="305" y="287" font-family="system-ui,sans-serif" font-size="9" fill="#7C3AED" text-anchor="middle" font-style="italic">fluid</text>
|
|
67
|
+
<line x1="279" y1="293" x2="330" y2="293" stroke="#7C3AED" stroke-width="1.5" stroke-dasharray="4,3" marker-end="url(#arr-v)"/>
|
|
68
|
+
<text x="613" y="287" font-family="system-ui,sans-serif" font-size="9" fill="#7C3AED" text-anchor="middle" font-style="italic">fluid</text>
|
|
69
|
+
<line x1="587" y1="293" x2="638" y2="293" stroke="#7C3AED" stroke-width="1.5" stroke-dasharray="4,3" marker-end="url(#arr-v)"/>
|
|
70
|
+
|
|
71
|
+
<!-- ===== SQUAD 1 ===== -->
|
|
72
|
+
<rect x="10" y="240" width="283" height="365" rx="8" fill="#FFFBEB" stroke="#FCD34D" stroke-width="1.5"/>
|
|
73
|
+
<text x="152" y="262" font-family="system-ui,sans-serif" font-size="12" font-weight="700" fill="#92400E" text-anchor="middle">Squad 1</text>
|
|
74
|
+
|
|
75
|
+
<rect x="24" y="270" width="255" height="46" rx="5" fill="#7C3AED"/>
|
|
76
|
+
<text x="152" y="288" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Business Analyst</text>
|
|
77
|
+
<text x="152" y="304" font-family="system-ui,sans-serif" font-size="9" fill="#EDE9FE" text-anchor="middle">Requirements · Process Design</text>
|
|
78
|
+
|
|
79
|
+
<rect x="24" y="325" width="255" height="46" rx="5" fill="#D97706"/>
|
|
80
|
+
<text x="152" y="343" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">AI Engineer</text>
|
|
81
|
+
<text x="152" y="359" font-family="system-ui,sans-serif" font-size="9" fill="#FEF3C7" text-anchor="middle">Models · Agents · Evals</text>
|
|
82
|
+
|
|
83
|
+
<rect x="24" y="380" width="255" height="46" rx="5" fill="#D97706"/>
|
|
84
|
+
<text x="152" y="398" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">AI Engineer</text>
|
|
85
|
+
<text x="152" y="414" font-family="system-ui,sans-serif" font-size="9" fill="#FEF3C7" text-anchor="middle">Models · Agents · Evals</text>
|
|
86
|
+
|
|
87
|
+
<!-- FS Eng 1 = Squad Lead (thicker border) -->
|
|
88
|
+
<rect x="24" y="435" width="255" height="46" rx="5" fill="#059669" stroke="#34D399" stroke-width="2"/>
|
|
89
|
+
<text x="152" y="453" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Engineer ★</text>
|
|
90
|
+
<text x="152" y="469" font-family="system-ui,sans-serif" font-size="9" fill="#D1FAE5" text-anchor="middle">APIs · Pipelines · Frontend</text>
|
|
91
|
+
|
|
92
|
+
<rect x="24" y="490" width="255" height="46" rx="5" fill="#059669"/>
|
|
93
|
+
<text x="152" y="508" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Engineer</text>
|
|
94
|
+
<text x="152" y="524" font-family="system-ui,sans-serif" font-size="9" fill="#D1FAE5" text-anchor="middle">APIs · Pipelines · Frontend</text>
|
|
95
|
+
|
|
96
|
+
<text x="152" y="556" font-family="system-ui,sans-serif" font-size="8" fill="#92400E" text-anchor="middle" font-style="italic">★ Squad Lead — ceremonies, shielding, prioritisation</text>
|
|
97
|
+
|
|
98
|
+
<!-- ===== SQUAD 2 ===== -->
|
|
99
|
+
<rect x="318" y="240" width="283" height="365" rx="8" fill="#FFFBEB" stroke="#FCD34D" stroke-width="1.5"/>
|
|
100
|
+
<text x="460" y="262" font-family="system-ui,sans-serif" font-size="12" font-weight="700" fill="#92400E" text-anchor="middle">Squad 2</text>
|
|
101
|
+
|
|
102
|
+
<rect x="332" y="270" width="255" height="46" rx="5" fill="#7C3AED"/>
|
|
103
|
+
<text x="460" y="288" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">AI Business Analyst</text>
|
|
104
|
+
<text x="460" y="304" font-family="system-ui,sans-serif" font-size="9" fill="#EDE9FE" text-anchor="middle">AI Requirements · Agent Specs</text>
|
|
105
|
+
|
|
106
|
+
<!-- AI Eng 1 = Squad Lead -->
|
|
107
|
+
<rect x="332" y="325" width="255" height="46" rx="5" fill="#D97706" stroke="#FDE68A" stroke-width="2"/>
|
|
108
|
+
<text x="460" y="343" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">AI Engineer ★</text>
|
|
109
|
+
<text x="460" y="359" font-family="system-ui,sans-serif" font-size="9" fill="#FEF3C7" text-anchor="middle">Models · Agents · Evals</text>
|
|
110
|
+
|
|
111
|
+
<rect x="332" y="380" width="255" height="46" rx="5" fill="#D97706"/>
|
|
112
|
+
<text x="460" y="398" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">AI Engineer</text>
|
|
113
|
+
<text x="460" y="414" font-family="system-ui,sans-serif" font-size="9" fill="#FEF3C7" text-anchor="middle">Models · Agents · Evals</text>
|
|
114
|
+
|
|
115
|
+
<rect x="332" y="435" width="255" height="46" rx="5" fill="#059669"/>
|
|
116
|
+
<text x="460" y="453" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Engineer</text>
|
|
117
|
+
<text x="460" y="469" font-family="system-ui,sans-serif" font-size="9" fill="#D1FAE5" text-anchor="middle">APIs · Pipelines · Frontend</text>
|
|
118
|
+
|
|
119
|
+
<rect x="332" y="490" width="255" height="46" rx="5" fill="#059669"/>
|
|
120
|
+
<text x="460" y="508" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Engineer</text>
|
|
121
|
+
<text x="460" y="524" font-family="system-ui,sans-serif" font-size="9" fill="#D1FAE5" text-anchor="middle">APIs · Pipelines · Frontend</text>
|
|
122
|
+
|
|
123
|
+
<text x="460" y="556" font-family="system-ui,sans-serif" font-size="8" fill="#92400E" text-anchor="middle" font-style="italic">★ Squad Lead — ceremonies, shielding, prioritisation</text>
|
|
124
|
+
|
|
125
|
+
<!-- ===== SQUAD 3 ===== -->
|
|
126
|
+
<rect x="626" y="240" width="283" height="365" rx="8" fill="#FFFBEB" stroke="#FCD34D" stroke-width="1.5"/>
|
|
127
|
+
<text x="768" y="262" font-family="system-ui,sans-serif" font-size="12" font-weight="700" fill="#92400E" text-anchor="middle">Squad 3</text>
|
|
128
|
+
|
|
129
|
+
<rect x="640" y="270" width="255" height="46" rx="5" fill="#7C3AED"/>
|
|
130
|
+
<text x="768" y="288" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Business Analyst</text>
|
|
131
|
+
<text x="768" y="304" font-family="system-ui,sans-serif" font-size="9" fill="#EDE9FE" text-anchor="middle">Requirements · Process Design</text>
|
|
132
|
+
|
|
133
|
+
<rect x="640" y="325" width="255" height="46" rx="5" fill="#D97706"/>
|
|
134
|
+
<text x="768" y="343" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">AI Engineer</text>
|
|
135
|
+
<text x="768" y="359" font-family="system-ui,sans-serif" font-size="9" fill="#FEF3C7" text-anchor="middle">Models · Agents · Evals</text>
|
|
136
|
+
|
|
137
|
+
<rect x="640" y="380" width="255" height="46" rx="5" fill="#D97706"/>
|
|
138
|
+
<text x="768" y="398" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">AI Engineer</text>
|
|
139
|
+
<text x="768" y="414" font-family="system-ui,sans-serif" font-size="9" fill="#FEF3C7" text-anchor="middle">Models · Agents · Evals</text>
|
|
140
|
+
|
|
141
|
+
<rect x="640" y="435" width="255" height="46" rx="5" fill="#059669"/>
|
|
142
|
+
<text x="768" y="453" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Engineer</text>
|
|
143
|
+
<text x="768" y="469" font-family="system-ui,sans-serif" font-size="9" fill="#D1FAE5" text-anchor="middle">APIs · Pipelines · Frontend</text>
|
|
144
|
+
|
|
145
|
+
<!-- Eng 2 = Squad Lead -->
|
|
146
|
+
<rect x="640" y="490" width="255" height="46" rx="5" fill="#059669" stroke="#34D399" stroke-width="2"/>
|
|
147
|
+
<text x="768" y="508" font-family="system-ui,sans-serif" font-size="11" font-weight="700" fill="white" text-anchor="middle">Engineer ★</text>
|
|
148
|
+
<text x="768" y="524" font-family="system-ui,sans-serif" font-size="9" fill="#D1FAE5" text-anchor="middle">APIs · Pipelines · Frontend</text>
|
|
149
|
+
|
|
150
|
+
<text x="768" y="556" font-family="system-ui,sans-serif" font-size="8" fill="#92400E" text-anchor="middle" font-style="italic">★ Squad Lead — ceremonies, shielding, prioritisation</text>
|
|
151
|
+
|
|
152
|
+
<!-- ===== LEGEND ===== -->
|
|
153
|
+
<rect x="10" y="622" width="900" height="52" rx="6" fill="#F3F4F6" stroke="#E5E7EB" stroke-width="1"/>
|
|
154
|
+
|
|
155
|
+
<rect x="20" y="632" width="11" height="11" rx="2" fill="#4F46E5"/>
|
|
156
|
+
<text x="35" y="642" font-family="system-ui,sans-serif" font-size="10" fill="#374151">Vision / Product</text>
|
|
157
|
+
|
|
158
|
+
<rect x="160" y="632" width="11" height="11" rx="2" fill="#7C3AED"/>
|
|
159
|
+
<text x="175" y="642" font-family="system-ui,sans-serif" font-size="10" fill="#374151">Requirements / BA</text>
|
|
160
|
+
|
|
161
|
+
<rect x="315" y="632" width="11" height="11" rx="2" fill="#D97706"/>
|
|
162
|
+
<text x="330" y="642" font-family="system-ui,sans-serif" font-size="10" fill="#374151">AI Engineering</text>
|
|
163
|
+
|
|
164
|
+
<rect x="455" y="632" width="11" height="11" rx="2" fill="#059669"/>
|
|
165
|
+
<text x="470" y="642" font-family="system-ui,sans-serif" font-size="10" fill="#374151">Engineering</text>
|
|
166
|
+
|
|
167
|
+
<rect x="575" y="632" width="11" height="11" rx="2" fill="#1D4ED8"/>
|
|
168
|
+
<text x="590" y="642" font-family="system-ui,sans-serif" font-size="10" fill="#374151">Arch / Standards</text>
|
|
169
|
+
|
|
170
|
+
<text x="20" y="660" font-family="system-ui,sans-serif" font-size="9" fill="#6B7280" font-style="italic">★ = Squad Lead (formal role, selected at squad formation) - - border = shared across all squads ╌╌▶ = BA / AI BA moves between squads (self-organised, PO aware)</text>
|
|
171
|
+
</svg>
|
|
@@ -133,7 +133,7 @@ A user story that lacks enough detail to begin architecture, planning, or implem
|
|
|
133
133
|
|
|
134
134
|
Stories MUST be refined using the `151-refine-user-story` skill. The skill:
|
|
135
135
|
- Detects active epic plan documents and lists pending stories for selection.
|
|
136
|
-
- MUST run a structured
|
|
136
|
+
- MUST run a structured 10-phase refinement process including interface/integration spec discovery.
|
|
137
137
|
- MUST write the resulting detail file and update the key task link in the plan's Milestone.
|
|
138
138
|
- When a story is split, MUST create placeholder files for each deferred slice and add them as pending task links in the plan.
|
|
139
139
|
|
|
@@ -144,7 +144,16 @@ Epic plans and their associated user story detail files are ephemeral artifacts.
|
|
|
144
144
|
- The `.assets/` folder and all user story detail files MUST be deleted with it.
|
|
145
145
|
- The lasting outputs of an epic are the implemented code, decisions, skills, articles, and other artifacts produced during execution.
|
|
146
146
|
|
|
147
|
+
#### 08-okr-connection
|
|
148
|
+
|
|
149
|
+
Epics SHOULD be connected to one or more Tactical OKRs from `agentme-bdr-002` that represent the quarterly goals the epic is helping achieve.
|
|
150
|
+
|
|
151
|
+
- The OKR reference MUST be placed in a `## OKRs` section immediately after the heading line of the epic plan document, listing each Tactical OKR by name or identifier.
|
|
152
|
+
- An epic without a linked Tactical OKR MUST document the reason in the `## OKRs` section (e.g., "No Tactical OKR defined for this quarter — tracked as a conscious decision").
|
|
153
|
+
- The relationship is many-to-many: one Tactical OKR MAY drive multiple Epics; one Epic MAY contribute to multiple Tactical OKRs.
|
|
154
|
+
|
|
147
155
|
## References
|
|
148
156
|
|
|
149
157
|
- [`_core-adr-policy-007`](../../../_core/adrs/principles/007-plan-standards.md) — Plan document standards: structure, lifecycle, and Milestone template
|
|
158
|
+
- [`agentme-bdr-002`](../principles/002-okr-framework.md) — OKR framework: Tactical OKR definition and epic connection rule
|
|
150
159
|
- [`agentme-edr-skill-151`](../../edrs/principles/skills/151-refine-user-story/SKILL.md) — Refine user story skill: structured refinement workflow that produces output following this policy
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agentme-bdr-policy-402-digital-product-roles-org-cross-team
|
|
3
|
+
description: Defines organisation-level and cross-team roles — Product Manager, Principal Engineer, and Solution Architect — along with team purpose, scope, workforce allocation, and a roles overview table. Use when staffing or assigning responsibilities at the organisation or cross-team level.
|
|
4
|
+
apply-to: Organisation-level and cross-team roles in digital product organisations
|
|
5
|
+
valid-from: 2026-08-30
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# agentme-bdr-policy-402: Digital product roles — org & cross-team
|
|
9
|
+
|
|
10
|
+
## Context and Problem Statement
|
|
11
|
+
|
|
12
|
+
Digital product organisations involve roles at multiple levels — from strategy and product direction at the organisation level, through cross-team architectural and engineering standards, to daily execution inside product teams. Without a clear definition of each role's responsibilities, boundaries, and expected skills, ambiguity accumulates about who owns what, leading to gaps in coverage, duplicated effort, and unclear escalation paths.
|
|
13
|
+
|
|
14
|
+
What roles are involved in building and operating digital products, and what does each role own?
|
|
15
|
+
|
|
16
|
+
## Decision Outcome
|
|
17
|
+
|
|
18
|
+
**A defined set of organisation-level, cross-team, team-level, and specialist roles with explicit responsibilities, authority boundaries, and skill requirements**
|
|
19
|
+
|
|
20
|
+
### Details
|
|
21
|
+
|
|
22
|
+
#### 01-product-team-purpose
|
|
23
|
+
|
|
24
|
+
A product team is responsible for a product consumed by others: an API used by another team in the company, a business process used by customers, or a platform that other teams build on.
|
|
25
|
+
|
|
26
|
+
Strategic objectives typically originate outside the team. However, the team MUST own a defined set of OKRs or KPIs and be fully autonomous within its domain to change processes and implement systems that affect those objectives. The team MUST be accountable for results within its domain; it MUST NOT depend on other teams to execute changes within scope.
|
|
27
|
+
|
|
28
|
+
#### 02-product-team-scope-of-work
|
|
29
|
+
|
|
30
|
+
The team MUST own the full lifecycle of its product:
|
|
31
|
+
|
|
32
|
+
- Model as-is business processes and define to-be target processes
|
|
33
|
+
- Design architecture and system components
|
|
34
|
+
- Implement and deploy features across all environments
|
|
35
|
+
- Test software components, runtime services, and business processes
|
|
36
|
+
- Monitor production operation
|
|
37
|
+
- Fix incidents and manage production stability
|
|
38
|
+
- Communicate outages and new feature rollouts to users
|
|
39
|
+
|
|
40
|
+
The team MUST NOT hand off any of these responsibilities to a separate function. Ownership is end-to-end.
|
|
41
|
+
|
|
42
|
+
#### 03-workforce-allocation
|
|
43
|
+
|
|
44
|
+
Teams MUST allocate available capacity across three categories. These are targets, not rigid weekly quotas — they SHOULD balance over a rolling 4–6 week window:
|
|
45
|
+
|
|
46
|
+
| Category | Target | Scope |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| New features | 50% | Spiking, designing, implementing, and testing new capabilities |
|
|
49
|
+
| Tech and cognitive debt | 25% | Reducing complexity, improving maintainability, resolving known deficiencies |
|
|
50
|
+
| Operations and controls | 25% | Monitoring, incident response, compliance checks, access reviews, process audits |
|
|
51
|
+
|
|
52
|
+
#### 04-roles-overview
|
|
53
|
+
|
|
54
|
+
All roles MUST be filled by a person with the required hard skills. Organisation-level roles MUST operate at the Group, Company, or Business Unit level. Cross-team roles MUST operate across all product teams within a domain. Team-level roles MUST belong to a specific product team.
|
|
55
|
+
|
|
56
|
+
| Role | Scope | Focus |
|
|
57
|
+
|---|---|---|
|
|
58
|
+
| Product Manager (PM) | Org-level | What / When |
|
|
59
|
+
| Principal Engineer | Cross-team | How |
|
|
60
|
+
| Solution Architect | Cross-team | What |
|
|
61
|
+
| Product Owner (PO) | Team | What / When |
|
|
62
|
+
| Project Manager (PjM) | Team | When / How |
|
|
63
|
+
| Business Analyst (BA) | Team / Squad | What / How |
|
|
64
|
+
| AI Business Analyst (AI BA) | Team / Squad | What / How |
|
|
65
|
+
| AI Lead | Team / Squad | How / When |
|
|
66
|
+
| AI Engineer | Squad | How |
|
|
67
|
+
| Tech Lead | Team / Squad | How / When |
|
|
68
|
+
| Backend Engineer | Squad | How |
|
|
69
|
+
| Frontend Engineer | Squad | How |
|
|
70
|
+
| DevOps/Infra Engineer | Squad | How |
|
|
71
|
+
| Full Stack Engineer | Squad | How |
|
|
72
|
+
|
|
73
|
+
#### 05-organisation-and-cross-team-roles
|
|
74
|
+
|
|
75
|
+
The following roles operate at the organisation level (Group, Company, or Business Unit) or across all product teams within a domain. They MUST NOT belong to a single product team.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
**Product Manager (PM)**
|
|
80
|
+
|
|
81
|
+
*Purpose*: Own the product direction for the organisation — defining what to build and why — and translate strategic objectives into Tactical OKRs that product teams execute.
|
|
82
|
+
|
|
83
|
+
*Responsibilities*:
|
|
84
|
+
- Translate Strategic OKRs (set at Group, Company, or Business Unit level) into Tactical OKRs for quarterly execution
|
|
85
|
+
- Prioritise Epics across product teams to maximise contribution to Tactical OKRs
|
|
86
|
+
- Communicate Tactical OKRs and Epic priorities to Product Owners (POs) so teams can execute against them; the PO is the primary recipient of this direction and executes it within the team
|
|
87
|
+
- Maintain visibility into the product portfolio and adjust priorities as market or business conditions change
|
|
88
|
+
- Own the product roadmap and communicate it to stakeholders
|
|
89
|
+
|
|
90
|
+
*Authority*: The PM owns WHAT the organisation builds at the portfolio level and WHEN Tactical OKRs are set. The PM does NOT own day-to-day team decisions — those remain with each team's Product Owner and Tech Lead. The PM does NOT set engineering practices or platform choices — those are owned by the Principal Engineer.
|
|
91
|
+
|
|
92
|
+
*Soft skills*: Strategic thinking, product vision, stakeholder communication, prioritisation across competing goals, ability to synthesise market and business context into clear direction
|
|
93
|
+
|
|
94
|
+
*Hard skills*: OKR methodology, product roadmap management, market and business analysis, Epic-level prioritisation across multiple product teams
|
|
95
|
+
|
|
96
|
+
*Common activities*: OKR planning cycles, product roadmap reviews, Epic prioritisation sessions, Product Owner alignment meetings, stakeholder presentations, portfolio health reviews
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
**Principal Engineer**
|
|
101
|
+
|
|
102
|
+
*Purpose*: Own the HOW across all product teams — engineering practices, tooling standards, platform choices, and AI practices — and synthesise them into a blueprint that leads can apply.
|
|
103
|
+
|
|
104
|
+
*Responsibilities*:
|
|
105
|
+
- Define and maintain engineering standards across all product teams (coding practices, testing, CI/CD, observability)
|
|
106
|
+
- Select and standardise platforms and tooling used by teams
|
|
107
|
+
- Shape AI engineering practices and the adoption of AI-assisted development
|
|
108
|
+
- Connect architecture decisions, business requirements, and standardised platforms into a coherent engineering blueprint
|
|
109
|
+
- Mentor Tech Leads and AI Leads on standards and practices
|
|
110
|
+
- Connect with Product Manager (PM), Project Manager (PjM), Solution Architects, and team leads to translate, converge, and align the technological landscape, standards, and processes
|
|
111
|
+
|
|
112
|
+
*Soft skills*: Technical leadership, communication across skill levels, systems thinking, mentoring, cross-team influence — a nexialist connecting engineering, management, architecture, platforms, and product
|
|
113
|
+
|
|
114
|
+
*Hard skills*: Software architecture, platform engineering, AI/ML practices, CI/CD, observability, security engineering, developer experience
|
|
115
|
+
|
|
116
|
+
*Common activities*: Engineering standards authoring, tech radar reviews, architecture and platform reviews, Tech Lead and AI Lead mentoring sessions, cross-team engineering syncs
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
**Solution Architect**
|
|
121
|
+
|
|
122
|
+
*Purpose*: Define the architecture for solutions that require new cross-system standards, new platforms, integrations with external systems, or significant security and compliance concerns.
|
|
123
|
+
|
|
124
|
+
*Responsibilities*:
|
|
125
|
+
- Design architectural solutions for Epics or initiatives that span multiple systems or teams
|
|
126
|
+
- Define new integration patterns, platform adoptions, and cross-system standards when existing standards do not cover the need
|
|
127
|
+
- Produce architectural blueprints that Tech Leads and AI Leads can implement within their teams
|
|
128
|
+
- Assess security, compliance, and risk dimensions of proposed architectures
|
|
129
|
+
- Ensure architectural consistency across product teams within the domain
|
|
130
|
+
|
|
131
|
+
*Soft skills*: Holistic thinking, stakeholder communication, structured documentation, facilitation, ability to balance pragmatism with rigour
|
|
132
|
+
|
|
133
|
+
*Hard skills*: Enterprise architecture, system integration patterns, cloud architecture, security architecture, business process modelling, platform evaluation, domain-driven design
|
|
134
|
+
|
|
135
|
+
*Common activities*: Architecture design for complex Epics, blueprint authoring, cross-system integration design, security and compliance assessment, architecture review participation, cross-team design alignment sessions
|
|
136
|
+
|
|
137
|
+
#### 06-team-and-specialist-roles
|
|
138
|
+
|
|
139
|
+
Team-level and specialist roles are defined in [`agentme-bdr-404`](404-team-roles-and-specialists.md). Practitioners MUST consult that policy when staffing or onboarding team-level roles.
|
|
140
|
+
|
|
141
|
+
## References
|
|
142
|
+
|
|
143
|
+
- [`_core-adr-policy-016`](../../../_core/adrs/principles/016-policy-subjects.md) — Policy subjects: BDR operations subject definition
|
|
144
|
+
- [`_core-adr-policy-017`](../../../_core/adrs/principles/017-policy-numbering-ranges.md) — Policy numbering: BDR operations block 401–500
|
|
145
|
+
- [`agentme-bdr-001`](../principles/001-company-organizational-levels.md) — Company organisational levels: Group, Company, and Business Unit definitions
|
|
146
|
+
- [`agentme-bdr-002`](../principles/002-okr-framework.md) — OKR framework: Strategic, Tactical, and Operational OKR definitions
|
|
147
|
+
- [`agentme-bdr-003`](../principles/003-product-delivery-value-flow.md) — Product delivery value flow: end-to-end chain from Strategic OKRs to fulfilled Tactical OKRs
|
|
148
|
+
- [`agentme-bdr-403`](403-product-team-composition.md) — Team composition models, squad dynamics, and known structural gaps
|
|
149
|
+
- [`agentme-bdr-404`](404-team-roles-and-specialists.md) — Team-level roles and specialists: PO, PjM, BA, AI BA, AI Lead, AI Engineer, Tech Lead, engineers, and specialists
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agentme-bdr-policy-403-product-team-composition
|
|
3
|
+
description: Defines team composition models, squad structure, squad dynamics, and known structural gaps for Product Teams. Use when structuring or scaling a new or existing product team.
|
|
4
|
+
apply-to: All product teams and cross-team roles in the organisation
|
|
5
|
+
valid-from: 2026-08-18
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# agentme-bdr-policy-403: Product team composition
|
|
9
|
+
|
|
10
|
+
## Context and Problem Statement
|
|
11
|
+
|
|
12
|
+
Product teams vary in scope and AI surface. Without a defined composition model, teams grow informally, leading to inconsistent structures, unclear coordination patterns, and unmanaged structural risks.
|
|
13
|
+
|
|
14
|
+
How should a product team be structured, and what known risks must teams manage proactively?
|
|
15
|
+
|
|
16
|
+
## Decision Outcome
|
|
17
|
+
|
|
18
|
+
**Two composition models (simple and complex) with defined squad structure, squad dynamics, and documented structural gaps with required mitigations**
|
|
19
|
+
|
|
20
|
+
### Details
|
|
21
|
+
|
|
22
|
+
#### 01-composition-model-selection
|
|
23
|
+
|
|
24
|
+
Teams MUST apply one of the two composition models defined in this policy — simple or complex — based on their product scope and AI surface. Teams MUST NOT operate with an undefined or informal structure.
|
|
25
|
+
|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
#### 02-team-composition-simple
|
|
29
|
+
|
|
30
|
+
A team with a bounded product scope and limited AI surface MUST operate as a simple team with no internal squads.
|
|
31
|
+
|
|
32
|
+
| Role | Count | Notes |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| Product Owner | 1 | |
|
|
35
|
+
| Business Analyst or AI BA | 1 | |
|
|
36
|
+
| Tech Lead | 1 | |
|
|
37
|
+
| Engineer | 1–2 | Any sub-type from `agentme-bdr-404` (Backend, Frontend, DevOps/Infra, Full Stack) |
|
|
38
|
+
| AI Engineer (if AI work exists) | 0–1 | |
|
|
39
|
+
|
|
40
|
+
The Tech Lead MAY also contribute as an engineer in a simple team. The BA MUST work directly with the PO on requirements without squad separation.
|
|
41
|
+
|
|
42
|
+
#### 03-team-composition-complex
|
|
43
|
+
|
|
44
|
+
A team with a broad product scope or significant AI surface MUST operate with internal squads.
|
|
45
|
+
|
|
46
|
+
| Role | Count | Notes |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| Product Owner | 1 | Shared across all squads |
|
|
49
|
+
| Tech Lead | 1 | Shared across all squads |
|
|
50
|
+
| AI Lead | 1 | Shared across all squads |
|
|
51
|
+
| Squad | 3 | See squad composition below |
|
|
52
|
+
|
|
53
|
+
**Squad composition** (per squad):
|
|
54
|
+
|
|
55
|
+
| Role | Count | Notes |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| Business Analyst (BA or AI BA) | 1 | Ideally one per squad; may move |
|
|
58
|
+
| AI Engineer | 2 | |
|
|
59
|
+
| Engineer | 2 | Any sub-type from `agentme-bdr-404` (Backend, Frontend, DevOps/Infra, Full Stack) |
|
|
60
|
+
| Squad Lead | 1 | One of the engineers above, designated by soft skills |
|
|
61
|
+
|
|
62
|
+
Squads MUST NOT exceed 4 engineers (AI + Full Stack combined) to preserve cohesion and limit coordination overhead.
|
|
63
|
+
|
|
64
|
+
#### 04-squad-dynamics
|
|
65
|
+
|
|
66
|
+
**Squad stability**: Engineers assigned to a squad MUST remain stable over time. Squad membership changes MUST be deliberate and infrequent; frequent reassignment prevents team bonding and reduces squad effectiveness.
|
|
67
|
+
|
|
68
|
+
**BA and AI BA fluidity**: One BA or AI BA MUST be assigned to each squad, ideally working one sprint ahead on upcoming features. When squad needs shift — for example, when a squad moves from a non-AI phase to an AI-heavy phase — the BA and AI BA MAY exchange positions. Movement is self-organised between the BAs with PO awareness and is not restricted to sprint boundaries.
|
|
69
|
+
|
|
70
|
+
**Squad Lead**: Each squad MUST have a designated Squad Lead — one of its engineers (AI Engineer or Engineer) selected based on available soft skills. The Squad Lead is a formal role with the following responsibilities:
|
|
71
|
+
- Run squad ceremonies (standups, retrospectives)
|
|
72
|
+
- Shield the squad from unplanned external interruptions
|
|
73
|
+
- Make within-squad prioritisation calls when the PO or Tech Lead / AI Lead are unavailable
|
|
74
|
+
|
|
75
|
+
The Squad Lead MUST be identified at squad formation, not selected on-demand when a situation arises. The role does not change the engineer's technical responsibilities and does not carry a formal seniority change, but soft skills MUST be taken into account at the time of assignment.
|
|
76
|
+
|
|
77
|
+
**Cross-squad coordination**: Cross-squad dependencies within the same team MUST be the Project Manager (PjM)'s explicit responsibility. The PjM MUST proactively identify and resolve scheduling conflicts between squads.
|
|
78
|
+
|
|
79
|
+
**Tech Lead and AI Lead interaction**: The PO, Tech Lead, and AI Lead MUST connect to all squads. For integrated features spanning AI and non-AI components, the Tech Lead and AI Lead MUST co-own the technical design. The Tech Lead holds the tiebreaker on system boundaries and non-AI components; the AI Lead holds the tiebreaker on AI components.
|
|
80
|
+
|
|
81
|
+
#### 05-known-gaps-and-mitigations
|
|
82
|
+
|
|
83
|
+
Teams MUST be aware of the following structural gaps and MUST apply the recommended mitigations proactively.
|
|
84
|
+
|
|
85
|
+
| Gap | Risk | Mitigation |
|
|
86
|
+
|---|---|---|
|
|
87
|
+
| PO, Tech Lead, AI Lead spanning 3 squads | Bandwidth overload; leads become bottlenecks | Squad Lead MUST absorb daily unblocking and within-squad prioritisation; leads focus on design, mentoring, and cross-squad alignment |
|
|
88
|
+
| Principal Engineer covering all teams | Single point of knowledge for engineering standards | Architecture documentation MUST be kept current; Principal Engineer MUST actively pair with Tech Leads and AI Leads to distribute knowledge |
|
|
89
|
+
| No embedded UX/Design role | UI and interaction design absorbed informally by BA or PO | A UX Designer Specialist (see `agentme-bdr-404`) SHOULD be engaged for user-facing features with significant interaction design needs; otherwise bring in a contract designer |
|
|
90
|
+
| No Data Engineering / MLOps role | Data pipelines, feature stores, and model serving infrastructure absorbed by Engineers and AI Engineers | Teams MUST plan a dedicated hire when the AI surface grows beyond squad capacity |
|
|
91
|
+
| No embedded QA role | Test quality depends on individual engineer discipline with no gate owner | A Tester / QA Specialist (see `agentme-bdr-404`) SHOULD be engaged during high-complexity delivery phases; Tech Lead and AI Lead MUST own quality gates; acceptance criteria from BA and AI BA MUST include testable conditions |
|
|
92
|
+
| No Security / SecOps role | Security design and review absorbed by Tech Lead on top of architecture load | Teams MUST schedule an external security review cadence; Principal Engineer MUST maintain security standards in the engineering blueprint |
|
|
93
|
+
| BA squad fluidity | Knowledge transfer cost each time a BA moves | BAs MUST coordinate handoff timing to minimise disruption |
|
|
94
|
+
| Squad Lead selection uncertainty | Squads without a clear lead default to ambiguity in ceremonies and prioritisation | Squad Lead MUST be identified at squad formation; MUST NOT be left to emerge organically after work has started |
|
|
95
|
+
| Cross-squad dependency coordination | Without explicit ownership, cross-squad dependencies surface late and block delivery | Project Manager (PjM) MUST own cross-squad dependency tracking and resolution as part of their stakeholder-connecting mandate |
|
|
96
|
+
|
|
97
|
+
## References
|
|
98
|
+
|
|
99
|
+
- [`_core-adr-policy-016`](../../../_core/adrs/principles/016-policy-subjects.md) — Policy subjects: BDR operations subject definition
|
|
100
|
+
- [`_core-adr-policy-017`](../../../_core/adrs/principles/017-policy-numbering-ranges.md) — Policy numbering: BDR operations block 401–500
|
|
101
|
+
- [`agentme-bdr-402`](402-digital-product-roles.md) — Digital product roles (org & cross-team): PM, Principal Engineer, and Solution Architect definitions
|
|
102
|
+
- [`agentme-bdr-404`](404-team-roles-and-specialists.md) — Digital product roles (team & specialists): role definitions for all team-level roles and specialists referenced in this policy
|