@zmice/zc 0.2.4 → 0.2.6
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/README.md +89 -9
- package/dist/cli/__tests__/platform.test.js +169 -2
- package/dist/cli/__tests__/platform.test.js.map +1 -1
- package/dist/cli/__tests__/surface.test.js +52 -0
- package/dist/cli/__tests__/surface.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.d.ts +2 -0
- package/dist/cli/__tests__/team.test.d.ts.map +1 -0
- package/dist/cli/__tests__/team.test.js +29 -0
- package/dist/cli/__tests__/team.test.js.map +1 -0
- package/dist/cli/__tests__/upstream.test.js +4 -0
- package/dist/cli/__tests__/upstream.test.js.map +1 -1
- package/dist/cli/platform.d.ts +11 -3
- package/dist/cli/platform.d.ts.map +1 -1
- package/dist/cli/platform.js +186 -49
- package/dist/cli/platform.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +114 -4
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/upstream.d.ts +1 -0
- package/dist/cli/upstream.d.ts.map +1 -1
- package/dist/cli/upstream.js +84 -5
- package/dist/cli/upstream.js.map +1 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.d.ts +37 -3
- package/dist/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.js +68 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.js.map +1 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.test.js +44 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
- package/dist/runtime/__tests__/worktree-manager.test.js +63 -1
- package/dist/runtime/__tests__/worktree-manager.test.js.map +1 -1
- package/dist/runtime/worktree-manager.d.ts +26 -1
- package/dist/runtime/worktree-manager.d.ts.map +1 -1
- package/dist/runtime/worktree-manager.js +126 -12
- package/dist/runtime/worktree-manager.js.map +1 -1
- package/dist/team/__tests__/orchestrator.test.js +40 -0
- package/dist/team/__tests__/orchestrator.test.js.map +1 -1
- package/dist/team/__tests__/planner.test.d.ts +2 -0
- package/dist/team/__tests__/planner.test.d.ts.map +1 -0
- package/dist/team/__tests__/planner.test.js +43 -0
- package/dist/team/__tests__/planner.test.js.map +1 -0
- package/dist/team/__tests__/task-queue.test.js +18 -0
- package/dist/team/__tests__/task-queue.test.js.map +1 -1
- package/dist/team/orchestrator.d.ts +2 -1
- package/dist/team/orchestrator.d.ts.map +1 -1
- package/dist/team/orchestrator.js +29 -10
- package/dist/team/orchestrator.js.map +1 -1
- package/dist/team/planner.d.ts +27 -0
- package/dist/team/planner.d.ts.map +1 -0
- package/dist/team/planner.js +120 -0
- package/dist/team/planner.js.map +1 -0
- package/dist/team/task-queue.d.ts +3 -0
- package/dist/team/task-queue.d.ts.map +1 -1
- package/dist/team/task-queue.js +11 -2
- package/dist/team/task-queue.js.map +1 -1
- package/dist/utils/qwen-extension-cli.d.ts.map +1 -1
- package/dist/utils/qwen-extension-cli.js +23 -0
- package/dist/utils/qwen-extension-cli.js.map +1 -1
- package/dist/utils/qwen-extension-cli.test.js +40 -0
- package/dist/utils/qwen-extension-cli.test.js.map +1 -1
- package/package.json +3 -3
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts +37 -3
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.js +68 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.js.map +1 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +44 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
- package/vendor/packages/platform-claude/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-claude/dist/index.js +12 -70
- package/vendor/packages/platform-claude/dist/index.js.map +1 -1
- package/vendor/packages/platform-codex/dist/generate.d.ts +1 -1
- package/vendor/packages/platform-codex/dist/generate.d.ts.map +1 -1
- package/vendor/packages/platform-codex/dist/generate.js +1 -1
- package/vendor/packages/platform-codex/dist/generate.js.map +1 -1
- package/vendor/packages/platform-codex/dist/index.d.ts +16 -1
- package/vendor/packages/platform-codex/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-codex/dist/index.js +268 -67
- package/vendor/packages/platform-codex/dist/index.js.map +1 -1
- package/vendor/packages/platform-codex/dist/index.test.js +102 -7
- package/vendor/packages/platform-codex/dist/index.test.js.map +1 -1
- package/vendor/packages/platform-opencode/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-opencode/dist/index.js +15 -81
- package/vendor/packages/platform-opencode/dist/index.js.map +1 -1
- package/vendor/packages/platform-qwen/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-qwen/dist/index.js +28 -84
- package/vendor/packages/platform-qwen/dist/index.js.map +1 -1
- package/vendor/packages/toolkit/src/content/agents/architect/body.md +8 -0
- package/vendor/packages/toolkit/src/content/agents/code-reviewer/body.md +10 -0
- package/vendor/packages/toolkit/src/content/agents/product-owner/body.md +8 -0
- package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +3 -1
- package/vendor/packages/toolkit/src/content/commands/start/body.md +51 -2
- package/vendor/packages/toolkit/src/content/commands/start/meta.yaml +2 -2
- package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/body.md +17 -0
- package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/body.md +77 -520
- package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/body.md +56 -387
- package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/body.md +10 -0
- package/vendor/packages/toolkit/src/content/skills/code-simplification/body.md +55 -301
- package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +10 -0
- package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +66 -331
- package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/body.md +30 -1
- package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/body.md +79 -317
- package/vendor/packages/toolkit/src/content/skills/performance-optimization/body.md +60 -330
- package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/body.md +35 -0
- package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/body.md +66 -342
- package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/body.md +66 -303
- package/vendor/packages/toolkit/src/content/skills/team-orchestration/body.md +81 -327
- package/vendor/packages/toolkit/src/content/skills/test-driven-development/body.md +50 -346
- package/vendor/packages/toolkit/src/content/skills/using-agent-skills/body.md +26 -2
- package/vendor/references/upstreams.yaml +5 -0
- package/dist/cli/setup.d.ts +0 -3
- package/dist/cli/setup.d.ts.map +0 -1
- package/dist/cli/setup.js +0 -41
- package/dist/cli/setup.js.map +0 -1
|
@@ -1,336 +1,99 @@
|
|
|
1
1
|
# Sprint Retrospective
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 角色定位
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
在一个交付周期结束后,用证据复盘计划、实现、审查和验证的质量,并把下一轮要改变的行为写成少量可执行行动项。
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Retro 不是情绪总结,也不是长篇过程记录。没有行动项的 retro 通常只是仪式。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## 何时使用
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
- 完成一次 SDD+TDD 周期后。
|
|
12
|
+
- 一周或一个里程碑结束后。
|
|
13
|
+
- 生产事故、重大返工或计划偏差后。
|
|
14
|
+
- 发现重复摩擦,但还没有明确改进项时。
|
|
15
|
+
- 开始新大任务前,需要先复盘上一轮。
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
- After finishing a week-long development sprint
|
|
15
|
-
- After a project milestone is delivered
|
|
16
|
-
- After a production incident or major unexpected change
|
|
17
|
-
- When you notice recurring friction but can't pinpoint the cause
|
|
18
|
-
- Before starting a new major initiative (retrospect on the last one first)
|
|
17
|
+
## 快速路径
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
1. 收集事实:提交、diff、测试、验证、PR/issue、事故记录。
|
|
20
|
+
2. 对照原始 spec / plan,检查 scope drift。
|
|
21
|
+
3. 识别有效做法、失败模式和根因。
|
|
22
|
+
4. 评估流程健康:TDD、review、verify、build、handoff。
|
|
23
|
+
5. 选出最多 3-5 个行动项。
|
|
24
|
+
6. 给每个行动项写 owner、deadline、success metric。
|
|
25
|
+
7. 判断哪些经验应该进入 ADR、docs、skill、memory 或保持为聊天结论。
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
## 推荐数据
|
|
23
28
|
|
|
24
|
-
|
|
29
|
+
按当前任务范围收集即可,不要为了复盘跑无关统计:
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
**Key metrics to extract:**
|
|
34
|
-
```
|
|
35
|
-
SPRINT DATA COLLECTION:
|
|
36
|
-
- Total commits: ___
|
|
37
|
-
- Files changed: ___
|
|
38
|
-
- Lines added: ___
|
|
39
|
-
- Lines deleted: ___
|
|
40
|
-
- Net LOC change: ___ (added minus deleted)
|
|
41
|
-
- Test files added/modified: ___
|
|
42
|
-
- Spec files created/updated: ___
|
|
43
|
-
- Number of PRs/merges: ___
|
|
44
|
-
- Average PR size (lines changed): ___
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**Automation tip:** If using a monorepo, scope stats to the relevant package or directory. Noise from unrelated areas corrupts the analysis.
|
|
48
|
-
|
|
49
|
-
**Test coverage delta:**
|
|
50
|
-
```
|
|
51
|
-
Coverage at sprint start: ___%
|
|
52
|
-
Coverage at sprint end: ___%
|
|
53
|
-
Delta: ___% (positive = improvement)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Step 2: What Went Well
|
|
57
|
-
|
|
58
|
-
Identify decisions, practices, and patterns that worked. Be specific — "good teamwork" is useless; "splitting the auth module into three focused PRs made review 3x faster" is actionable.
|
|
59
|
-
|
|
60
|
-
**Questions to answer:**
|
|
61
|
-
- Which technical decisions paid off? Why?
|
|
62
|
-
- Which process practices saved time or caught issues early?
|
|
63
|
-
- Were there moments where TDD or spec-first approach prevented bugs?
|
|
64
|
-
- Did any tool, pattern, or convention prove especially valuable?
|
|
65
|
-
- What would you deliberately repeat in the next cycle?
|
|
66
|
-
|
|
67
|
-
**Format each item as:**
|
|
68
|
-
```
|
|
69
|
-
✓ [What happened] → [Why it worked] → [How to reinforce it]
|
|
70
|
-
Example:
|
|
71
|
-
✓ Writing integration tests before refactoring the payment module
|
|
72
|
-
→ Caught 3 regression bugs during refactoring that unit tests missed
|
|
73
|
-
→ Continue requiring integration tests for any module with external dependencies
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Step 3: What Didn't Go Well
|
|
31
|
+
- commit count / changed files / insertions / deletions
|
|
32
|
+
- tests added or changed
|
|
33
|
+
- verification commands and failures
|
|
34
|
+
- review findings and resolution time
|
|
35
|
+
- spec items delivered / modified / deferred / dropped
|
|
36
|
+
- CI/build stability
|
|
77
37
|
|
|
78
|
-
|
|
38
|
+
monorepo 中必须限定路径范围,避免 unrelated diff 污染结论。
|
|
79
39
|
|
|
80
|
-
|
|
81
|
-
- Where did you spend time that didn't produce value?
|
|
82
|
-
- What tasks took significantly longer than estimated? Why?
|
|
83
|
-
- Were there repeated context switches or interruptions?
|
|
84
|
-
- Did any technical decision create unexpected problems?
|
|
85
|
-
- Were there communication gaps (unclear specs, missing context)?
|
|
86
|
-
- Did any dependency or external factor block progress?
|
|
40
|
+
## Drift 判断
|
|
87
41
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
**The Five Whys:** For significant problems, ask "why" five times to find the root cause. Surface symptoms hide systemic issues.
|
|
98
|
-
|
|
99
|
-
### Step 4: Spec Drift Check
|
|
100
|
-
|
|
101
|
-
Compare the final deliverable against the original specification. Drift is normal — unacknowledged drift is dangerous.
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
SPEC DRIFT ANALYSIS:
|
|
105
|
-
- Original spec items: ___
|
|
106
|
-
- Delivered as specified: ___
|
|
107
|
-
- Delivered with modifications: ___
|
|
108
|
-
- Deferred to next cycle: ___
|
|
109
|
-
- Added (not in original spec): ___
|
|
110
|
-
- Dropped (decided not to do): ___
|
|
111
|
-
|
|
112
|
-
Drift rate: (modified + deferred + added + dropped) / original × 100 = ___%
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
**Acceptable drift:** 10–20% is normal for a healthy cycle. Scope adjustments happen.
|
|
116
|
-
|
|
117
|
-
**Warning signs:**
|
|
118
|
-
- Drift > 30%: Specs are not detailed enough, or requirements changed mid-cycle without formal acknowledgment
|
|
119
|
-
- Many "added" items: Scope creep — features being added without cutting something else
|
|
120
|
-
- Many "deferred" items: Over-commitment — planning more than capacity allows
|
|
121
|
-
- Modifications without spec updates: The spec is now a lie — update it or delete it
|
|
122
|
-
|
|
123
|
-
### Step 5: Process Health Metrics
|
|
124
|
-
|
|
125
|
-
Evaluate how well the development process itself performed.
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
PROCESS HEALTH:
|
|
129
|
-
- TDD compliance rate: ___% (changes with tests written first / total changes)
|
|
130
|
-
- Spec coverage: ___% (features with specs / total features)
|
|
131
|
-
- Review pass rate: ___% (PRs approved on first review / total PRs)
|
|
132
|
-
- Build stability: ___% (green builds / total builds)
|
|
133
|
-
- Verification pass rate: ___% (changes passing verification on first attempt)
|
|
134
|
-
- Avg time from PR open to merge: ___
|
|
135
|
-
- Rework rate: ___% (commits that fix issues in same-sprint code)
|
|
42
|
+
```text
|
|
43
|
+
Spec drift:
|
|
44
|
+
- Delivered as planned:
|
|
45
|
+
- Modified:
|
|
46
|
+
- Deferred:
|
|
47
|
+
- Added:
|
|
48
|
+
- Dropped:
|
|
49
|
+
- Reason:
|
|
136
50
|
```
|
|
137
51
|
|
|
138
|
-
|
|
139
|
-
| Metric | Healthy | Warning | Critical |
|
|
140
|
-
|--------|---------|---------|----------|
|
|
141
|
-
| TDD compliance | >80% | 50–80% | <50% |
|
|
142
|
-
| Review pass rate | >60% | 30–60% | <30% |
|
|
143
|
-
| Build stability | >90% | 70–90% | <70% |
|
|
144
|
-
| Spec drift | <20% | 20–30% | >30% |
|
|
145
|
-
| Rework rate | <15% | 15–30% | >30% |
|
|
52
|
+
drift 不一定是坏事。没有记录的 drift 才危险,因为下一轮会基于错误文档继续推进。
|
|
146
53
|
|
|
147
|
-
|
|
54
|
+
## 行动项格式
|
|
148
55
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
- Deadline: [When will this be done — must be before next retro]
|
|
158
|
-
- Success: [How do we know it worked]
|
|
56
|
+
```text
|
|
57
|
+
Action item:
|
|
58
|
+
- What:
|
|
59
|
+
- Why:
|
|
60
|
+
- Owner:
|
|
61
|
+
- Deadline:
|
|
62
|
+
- Success metric:
|
|
63
|
+
- Verification:
|
|
159
64
|
```
|
|
160
65
|
|
|
161
|
-
|
|
162
|
-
1. **Maximum 3–5 items per retro.** More than 5 means nothing gets done. Prioritize ruthlessly.
|
|
163
|
-
2. **Must be specific.** "Improve testing" is not an action item. "Add integration tests for all payment endpoints by Friday" is.
|
|
164
|
-
3. **Must have an owner.** Unowned items are wishes, not actions.
|
|
165
|
-
4. **Must have a deadline.** Items without deadlines drift indefinitely.
|
|
166
|
-
5. **Review last retro's items first.** Before creating new items, check: did last cycle's actions get completed? If not, why?
|
|
167
|
-
|
|
168
|
-
**Anti-patterns in action items:**
|
|
169
|
-
| Bad | Good |
|
|
170
|
-
|-----|------|
|
|
171
|
-
| "Write more tests" | "Achieve 80% coverage on `src/core/` by end of next sprint" |
|
|
172
|
-
| "Improve code review" | "Add a review checklist to the PR template by Wednesday" |
|
|
173
|
-
| "Be more careful with migrations" | "Add a staging migration dry-run step to CI pipeline by Friday" |
|
|
174
|
-
| "Communicate better" | "Write a 3-line summary in each PR description explaining the 'why'" |
|
|
175
|
-
|
|
176
|
-
### Step 7: Knowledge Capture
|
|
66
|
+
行动项最多 3-5 个。超过这个数量,优先级通常还没有收敛。
|
|
177
67
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
**What to capture:**
|
|
181
|
-
- Technical discoveries (performance tricks, library gotchas, infrastructure quirks)
|
|
182
|
-
- Process insights (what made this cycle smoother or harder than usual)
|
|
183
|
-
- Decision rationale (why did we choose approach A over B — future you will ask)
|
|
184
|
-
- Reusable patterns (solutions that should become templates or utilities)
|
|
185
|
-
|
|
186
|
-
**Format:**
|
|
187
|
-
```
|
|
188
|
-
LESSON LEARNED:
|
|
189
|
-
- Context: [Situation that triggered the learning]
|
|
190
|
-
- Insight: [What we now know]
|
|
191
|
-
- Application: [How to apply this going forward]
|
|
192
|
-
- Tags: [Keywords for future retrieval]
|
|
193
|
-
```
|
|
68
|
+
## 知识沉淀边界
|
|
194
69
|
|
|
195
|
-
|
|
70
|
+
- 架构或公共接口决策:进入 ADR / docs。
|
|
71
|
+
- 项目长期约定:进入项目文档或入口规则。
|
|
72
|
+
- 用户偏好或跨会话经验:只有明确授权后才进入 memory。
|
|
73
|
+
- 一次性上下文和临时事故细节:只保留在本次记录中。
|
|
196
74
|
|
|
197
|
-
##
|
|
75
|
+
## 输出契约
|
|
198
76
|
|
|
199
77
|
```markdown
|
|
200
|
-
#
|
|
78
|
+
# Retrospective: <period / milestone>
|
|
201
79
|
|
|
202
|
-
##
|
|
203
|
-
-
|
|
204
|
-
- End: YYYY-MM-DD
|
|
80
|
+
## Evidence
|
|
81
|
+
- ...
|
|
205
82
|
|
|
206
|
-
##
|
|
207
|
-
|
|
208
|
-
|--------|-------|-------|
|
|
209
|
-
| Commits | ___ | ↑/↓/→ |
|
|
210
|
-
| Lines added | ___ | |
|
|
211
|
-
| Lines deleted | ___ | |
|
|
212
|
-
| Net LOC | ___ | |
|
|
213
|
-
| Test coverage | ___% | |
|
|
214
|
-
| PR count | ___ | |
|
|
215
|
-
| Avg PR size | ___ lines | |
|
|
83
|
+
## What Worked
|
|
84
|
+
- ...
|
|
216
85
|
|
|
217
|
-
## What
|
|
218
|
-
|
|
219
|
-
2. ...
|
|
86
|
+
## What Failed
|
|
87
|
+
- ...
|
|
220
88
|
|
|
221
|
-
##
|
|
222
|
-
|
|
223
|
-
2. ...
|
|
89
|
+
## Drift
|
|
90
|
+
- ...
|
|
224
91
|
|
|
225
|
-
##
|
|
226
|
-
-
|
|
227
|
-
- Key deviations: ...
|
|
92
|
+
## Action Items
|
|
93
|
+
- ...
|
|
228
94
|
|
|
229
|
-
##
|
|
230
|
-
|
|
231
|
-
|--------|-------|--------|
|
|
232
|
-
| TDD compliance | ___% | ✓/⚠/✗ |
|
|
233
|
-
| Review pass rate | ___% | ✓/⚠/✗ |
|
|
234
|
-
| Build stability | ___% | ✓/⚠/✗ |
|
|
235
|
-
| Rework rate | ___% | ✓/⚠/✗ |
|
|
236
|
-
|
|
237
|
-
## Previous Action Items Review
|
|
238
|
-
- [ ] [Item from last retro] — Status: Done/In Progress/Not Started
|
|
239
|
-
|
|
240
|
-
## New Action Items
|
|
241
|
-
1. **[What]** — Owner: ___ — Deadline: ___ — Addresses: [problem ref]
|
|
242
|
-
2. ...
|
|
243
|
-
3. ...
|
|
244
|
-
|
|
245
|
-
## Lessons Learned
|
|
246
|
-
1. ...
|
|
95
|
+
## Recommendation
|
|
96
|
+
Recommendation: <keep / change / document / escalate> because <evidence, trade-off, and rejected alternative>.
|
|
247
97
|
```
|
|
248
98
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
Track these across sprints to spot trends:
|
|
252
|
-
|
|
253
|
-
**Velocity indicators:**
|
|
254
|
-
- Commits per sprint (is pace sustainable?)
|
|
255
|
-
- Net LOC change (is codebase growing/shrinking appropriately?)
|
|
256
|
-
- Features delivered vs. planned (commitment accuracy)
|
|
257
|
-
|
|
258
|
-
**Quality indicators:**
|
|
259
|
-
- Test coverage trend (improving or degrading?)
|
|
260
|
-
- Rework rate (are we fixing our own bugs within the sprint?)
|
|
261
|
-
- Review pass rate (is code quality at submission improving?)
|
|
262
|
-
- Build break frequency (is CI staying green?)
|
|
263
|
-
|
|
264
|
-
**Process indicators:**
|
|
265
|
-
- Spec drift rate (are we getting better at planning?)
|
|
266
|
-
- TDD compliance (are we actually doing what we say we do?)
|
|
267
|
-
- Time from PR open to merge (is review a bottleneck?)
|
|
268
|
-
- Action item completion rate from previous retros (do retros actually change anything?)
|
|
269
|
-
|
|
270
|
-
## Red Flags
|
|
271
|
-
|
|
272
|
-
These signals mean the process needs immediate attention:
|
|
273
|
-
|
|
274
|
-
- **Retro produces no action items** — The retro was performative, not useful
|
|
275
|
-
- **Same problems appear in consecutive retros** — Action items aren't working or aren't being implemented
|
|
276
|
-
- **Action item completion rate < 50%** — You're creating items you can't or won't do
|
|
277
|
-
- **Spec drift > 40%** — Planning is disconnected from reality
|
|
278
|
-
- **Rework rate > 30%** — Quality at first submission is too low
|
|
279
|
-
- **Test coverage declining sprint over sprint** — Technical debt is accumulating
|
|
280
|
-
- **Build stability < 70%** — The CI pipeline is unreliable and people stop trusting it
|
|
281
|
-
- **No one can name what went well** — Morale problem or lack of awareness of team wins
|
|
282
|
-
- **Retro skipped "because we're too busy"** — The team most needing reflection is avoiding it
|
|
283
|
-
- **All action items are vague or lack owners** — The retro is generating wishes, not commitments
|
|
284
|
-
|
|
285
|
-
## Integration with SDD+TDD Workflow
|
|
286
|
-
|
|
287
|
-
The retrospective is **Phase 5: Reflect** in the full development cycle:
|
|
288
|
-
|
|
289
|
-
```
|
|
290
|
-
Phase 1: Spec → Define what to build (spec-driven-development)
|
|
291
|
-
Phase 2: Design → Design the solution (sdd-tdd-workflow)
|
|
292
|
-
Phase 3: Build → Implement with TDD (test-driven-development)
|
|
293
|
-
Phase 4: Review → Verify quality (code-review-and-quality)
|
|
294
|
-
Phase 5: Reflect → Retrospect and improve (this skill)
|
|
295
|
-
│
|
|
296
|
-
└──→ Feed improvements back into Phase 1 of the next cycle
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
**What flows from retro back into the next cycle:**
|
|
300
|
-
- Spec drift insights → Better spec writing in Phase 1
|
|
301
|
-
- Review feedback patterns → Updated review checklists in Phase 4
|
|
302
|
-
- TDD compliance gaps → Adjusted TDD practices in Phase 3
|
|
303
|
-
- Process bottlenecks → Workflow changes for the next sprint
|
|
304
|
-
- Technical lessons → Updated conventions and patterns
|
|
305
|
-
|
|
306
|
-
## Common Rationalizations
|
|
307
|
-
|
|
308
|
-
| Rationalization | Reality |
|
|
309
|
-
|---|---|
|
|
310
|
-
| "We don't have time for retros" | You don't have time to keep making the same mistakes. A 30-minute retro saves hours of repeated friction. |
|
|
311
|
-
| "Everything went fine, nothing to discuss" | No sprint is perfect. If you can't find improvements, you're not looking hard enough. |
|
|
312
|
-
| "We already know what to improve" | Knowing and doing are different. The retro creates accountability through action items with owners. |
|
|
313
|
-
| "Metrics don't apply to our work" | If you can't measure it, you can't improve it. Even rough numbers beat no numbers. |
|
|
314
|
-
| "Action items from last retro weren't relevant anymore" | Then the retro failed at creating durable improvements. Make items smaller and more immediate. |
|
|
315
|
-
|
|
316
|
-
## See Also
|
|
317
|
-
|
|
318
|
-
- For spec-driven development workflow, see `spec-driven-development`
|
|
319
|
-
- For TDD practices, see `test-driven-development`
|
|
320
|
-
- For code review process, see `code-review-and-quality`
|
|
321
|
-
- For SDD+TDD combined workflow, see `sdd-tdd-workflow`
|
|
322
|
-
- For task planning and breakdown, see `planning-and-task-breakdown`
|
|
323
|
-
|
|
324
|
-
## Verification
|
|
325
|
-
|
|
326
|
-
After completing a retrospective:
|
|
327
|
-
|
|
328
|
-
- [ ] Git metrics collected and documented
|
|
329
|
-
- [ ] What went well — at least 3 specific items identified
|
|
330
|
-
- [ ] What didn't go well — root causes analyzed (not just symptoms)
|
|
331
|
-
- [ ] Spec drift calculated and analyzed
|
|
332
|
-
- [ ] Process health metrics computed against benchmarks
|
|
333
|
-
- [ ] Previous retro's action items reviewed for completion
|
|
334
|
-
- [ ] New action items created (3–5 max, each with owner + deadline)
|
|
335
|
-
- [ ] Lessons captured in appropriate knowledge stores
|
|
336
|
-
- [ ] Retro report saved in project archive
|
|
99
|
+
推荐必须说明下一轮具体改变什么,而不是只说“继续保持”。
|