agentme 0.33.1 → 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.
Files changed (22) hide show
  1. package/.filedist-package.yml +1 -1
  2. package/.xdrs/agentme/bdrs/index.md +20 -0
  3. package/.xdrs/agentme/bdrs/operations/.assets/team-composition.svg +171 -0
  4. package/.xdrs/agentme/bdrs/operations/401-epic-feature-story-planning.md +159 -0
  5. package/.xdrs/agentme/bdrs/operations/402-digital-product-roles.md +149 -0
  6. package/.xdrs/agentme/bdrs/operations/403-product-team-composition.md +102 -0
  7. package/.xdrs/agentme/bdrs/operations/404-team-roles-and-specialists.md +274 -0
  8. package/.xdrs/agentme/bdrs/principles/001-company-organizational-levels.md +61 -0
  9. package/.xdrs/agentme/bdrs/principles/002-okr-framework.md +74 -0
  10. package/.xdrs/agentme/bdrs/principles/003-product-delivery-value-flow.md +90 -0
  11. package/.xdrs/agentme/edrs/application/skills/200-run-skill-tests/SKILL.test.md +2 -2
  12. package/.xdrs/agentme/edrs/index.md +2 -2
  13. package/.xdrs/agentme/edrs/principles/skills/150-refine-plan-mode/SKILL.md +339 -0
  14. package/.xdrs/agentme/edrs/principles/skills/150-refine-plan-mode/SKILL.test.md +91 -0
  15. package/.xdrs/agentme/edrs/principles/skills/151-refine-user-story/SKILL.md +505 -0
  16. package/.xdrs/agentme/edrs/principles/skills/151-refine-user-story/SKILL.test.md +455 -0
  17. package/.xdrs/agentme/index.md +6 -1
  18. package/package.json +1 -1
  19. package/.xdrs/agentme/edrs/principles/skills/150-plan-mode-consistency/SKILL.md +0 -184
  20. package/.xdrs/agentme/edrs/principles/skills/150-plan-mode-consistency/SKILL.test.md +0 -88
  21. package/.xdrs/agentme/edrs/principles/skills/151-write-user-story/SKILL.md +0 -144
  22. package/.xdrs/agentme/edrs/principles/skills/151-write-user-story/SKILL.test.md +0 -88
@@ -28,7 +28,7 @@ sets:
28
28
  path: .
29
29
  gitignore: false
30
30
  symlinks:
31
- - source: .xdrs/**/skills/150-plan-mode-consistency
31
+ - source: .xdrs/**/skills/refine-plan-mode
32
32
  target: .agents/skills
33
33
  presets:
34
34
  - basic
@@ -0,0 +1,20 @@
1
+ # agentme BDRs Index
2
+
3
+ Business decisions for software development project management practices in the agentme scope.
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
+
13
+ ## Operations
14
+
15
+ Project management workflow and structure for development teams.
16
+
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 &amp; 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>
@@ -0,0 +1,159 @@
1
+ ---
2
+ name: agentme-bdr-policy-401-epic-feature-user-story-planning
3
+ description: Defines how to organize software development project management work as epics, features, and user stories using XDRS plan documents. Use when creating, reviewing, or navigating epic plans, feature milestones, or user story files.
4
+ apply-to: AI coding agents and developers managing software development work in projects that follow agentme standards
5
+ valid-from: 2026-08-28
6
+ ---
7
+
8
+ # agentme-bdr-policy-401: Epic / Feature / User Story Planning
9
+
10
+ ## Context and Problem Statement
11
+
12
+ Development teams need a lightweight, code-adjacent way to organize and track software development work. Without a standard structure, epics, features, and user stories are scattered across external tools or undocumented, making it difficult for agents and developers to discover what has been planned, what is pending, and what has been implemented.
13
+
14
+ How should software development project management work be organized within an XDRS-enabled workspace so that agents and developers can find, create, and refine work items alongside the code?
15
+
16
+ ## Decision Outcome
17
+
18
+ **Epics are XDRS plan documents. Features are Milestones inside those plans. User stories are key tasks linked to detail files.**
19
+
20
+ ### Details
21
+
22
+ #### 01-epic-structure
23
+
24
+ An epic is a group of features that together achieve a well-defined objective. Epics typically span 1–12 months.
25
+
26
+ - Each epic MUST be represented as one XDRS plan document of type BDR, placed at:
27
+ `.xdrs/[scope]/bdrs/operations/plans/NNN-epic-slug.md`
28
+ - The plan heading MUST follow the format: `# [scope]-bdr-plan-NNN: [Epic Title]`
29
+ - NNN is the plan's unique number within the `[scope]/bdrs/operations/plans/` namespace, assigned sequentially per `_core-adr-policy-007`.
30
+ - The slug MUST be lowercase, hyphen-separated, and descriptive (e.g., `001-epic-improve-checkout.md`).
31
+ - Each epic plan MUST include all required sections from `_core-adr-policy-007`: Executive Summary, Context and Problem Statement, Proposed Solution (with Expected end date), and Milestones.
32
+ - Epic plans are ephemeral and MUST be deleted after the epic is fully implemented, per `_core-adr-policy-007`.
33
+
34
+ #### 02-feature-as-milestone
35
+
36
+ A feature is a specific activity, tool, or functionality that contributes to the epic's objective. Features typically span 2 weeks to 6 months.
37
+
38
+ - Each feature MUST be represented as one `### Milestone N: [Feature Name]` section inside the epic plan.
39
+ - One Milestone per Feature; do not combine unrelated features into a single Milestone.
40
+ - Milestone sections MUST follow the structure defined in `_core-adr-policy-007`:
41
+ - Owner, Due date, Description, optional Acceptance checklist, Key tasks, optional Risks.
42
+
43
+ #### 03-user-story-as-key-task
44
+
45
+ A user story is a unit of work within a Feature that delivers perceivable value to a specific audience. User stories MUST be completable in less than 2 weeks. Stories estimated to exceed 2 weeks MUST be split into smaller independent stories.
46
+
47
+ - Each user story MUST appear as a key task entry inside its parent Milestone's `**Key tasks:**` list, always as a markdown link to its detail file.
48
+ - **Pending (not yet refined):** `- [Brief description — pending]{.assets/userstory-NNN-slug.md}` — file has `**Status:** to-be-refined`
49
+ - **Refined:** `- [Story title]{.assets/userstory-NNN-slug.md}` — no status field in the file
50
+ - NNN is local to the epic plan's `.assets/` folder; it restarts at 001 for each epic.
51
+ - Story slugs MUST be lowercase and hyphen-separated (e.g., `userstory-001-add-login-page`).
52
+
53
+ #### 04-user-story-detail-file
54
+
55
+ Each refined user story MUST have a detail file placed at:
56
+ `.xdrs/[scope]/bdrs/operations/plans/.assets/userstory-NNN-slug.md`
57
+
58
+ - NNN and slug MUST match the placeholder file that was refined (extracted from its `**Story ID:**` line). For new stories without a placeholder, use the next available NNN in `.assets/` and derive the slug by kebab-casing the story title to at most 7 words.
59
+ - The file MUST begin with a `**Story ID:** userstory-NNN-slug` line. A refined file has no `**Status:**` field; the absence of the status field indicates the story is complete.
60
+
61
+ A **pending placeholder file** is created for every story added to the plan before it is refined. It MUST contain:
62
+ ```markdown
63
+ **Story ID:** userstory-NNN-slug
64
+ **Status:** to-be-refined
65
+
66
+ ## Title
67
+ [preliminary description]
68
+
69
+ ## Notes from intake
70
+ [Any context captured when this story was created: split rationale, relationship to other stories,
71
+ known API details, contacts, or business rules discovered so far.]
72
+
73
+ ## Related
74
+ - [Reason]: [userstory-NNN-other-story](.assets/userstory-NNN-other-story.md)
75
+ ```
76
+
77
+ The detail file MUST follow this template:
78
+
79
+ ```markdown
80
+ **Story ID:** userstory-NNN-slug
81
+
82
+ ## Title
83
+ [max 10 words, outcome-focused]
84
+
85
+ ## User Story
86
+ As a [role], I want to [action], so that [benefit].
87
+
88
+ ## Scope
89
+ [max 200 words. List features, behaviors, screens, or services in scope.]
90
+ - [feature or behavior]
91
+
92
+ ## Edge Cases
93
+ [optional — max 50 words. Known edge cases and expected handling.]
94
+ - [edge case — expected handling]
95
+
96
+ ## Out of Scope
97
+ [optional — max 30 words.]
98
+ - [out-of-scope item]
99
+
100
+ ## Constraints
101
+ [optional — max 30 words. Any rule, technology, regulatory, or business constraint that must be respected.]
102
+ - [constraint]
103
+
104
+ ## Detailed Specs
105
+ [Required when any API, integration, or data detail was discovered. Mark N/A if none.
106
+ A story lacking sufficient detail here is not ready for implementation.]
107
+ - [External API / integration: endpoint, method, payload, auth, behavior]
108
+ - [Data field: type, format, valid values, meaning, constraints]
109
+ - [Doc link: URL or file path — what it covers]
110
+ - [Contact: name/role — what they own or can clarify]
111
+ - [Process rule or business constraint not captured in Constraints above]
112
+
113
+ ## Acceptance Criteria
114
+ - [ ] [verifiable outcome]
115
+
116
+ ## Attachments
117
+ [highly desirable — screenshots, mockups, or diagrams illustrating the feature.]
118
+ - [attachment]
119
+
120
+ **Epic plan:** [NNN-epic-slug.md](../NNN-epic-slug.md)
121
+ ```
122
+
123
+ #### 05-detailed-specs-requirement
124
+
125
+ A user story that lacks enough detail to begin architecture, planning, or implementation is not ready for implementation and MUST be re-refined before it is moved to in-progress.
126
+
127
+ - The `## Detailed Specs` section MUST be present in every user story detail file.
128
+ - When integration or interface details were discovered during refinement (external APIs, data contracts, documentation links, contact names), the section MUST be populated with those details.
129
+ - When no such details apply, the section MUST be explicitly marked `N/A`.
130
+ - A story with an empty or absent `## Detailed Specs` section is treated as not refined.
131
+
132
+ #### 06-refinement-workflow
133
+
134
+ Stories MUST be refined using the `151-refine-user-story` skill. The skill:
135
+ - Detects active epic plan documents and lists pending stories for selection.
136
+ - MUST run a structured 10-phase refinement process including interface/integration spec discovery.
137
+ - MUST write the resulting detail file and update the key task link in the plan's Milestone.
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
+
140
+ #### 07-ephemeral-lifecycle
141
+
142
+ Epic plans and their associated user story detail files are ephemeral artifacts. Once an epic is fully implemented:
143
+ - The epic plan document MUST be deleted.
144
+ - The `.assets/` folder and all user story detail files MUST be deleted with it.
145
+ - The lasting outputs of an epic are the implemented code, decisions, skills, articles, and other artifacts produced during execution.
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
+
155
+ ## References
156
+
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
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
+ ![Team composition diagram](.assets/team-composition.svg)
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