Phase 2: Development Sprints
Phase 2: The Implementation Iterations (Weeks 6-17) π
This phase transforms planning artifacts into working, evolving software. Consistency beats intensityβaim for sustainable, repeatable delivery.
The Iteration Lifecycle (10 Steps)
| Step | Purpose | Output / Evidence | Common Pitfall |
|---|---|---|---|
| 1. Planning | Align on 3β5 outcome goals | Goals doc/issue | Overcommitting / vague goals |
| 2. Spike (optional) | Retire uncertainty before building | Spike issue closed with notes | Endless exploration |
| 3. Development | Implement vertical slices | Branch commits referencing issue | Long-lived branches |
| 4. Commit Hygiene | Maintain understandable history | Small, atomic commits | "WIP" jumbo commits |
| 5. Pull Request | Request structured review | PR with description + linked issue | Drafting too late |
| 6. Review | Improve design & correctness | Comments resolved, approval | Nitpicking style over substance |
| 7. Test & QA | Enforce DoD & acceptance criteria | Passing CI, added tests | Testing only at end |
| 8. Merge | Integrate increment safely | Main branch updated | Merge without review |
| 9. Demo | Validate value + foster shared understanding | Live walkthrough / short video | Demoing untested code |
| 10. Status Report | Reflect, surface risks, adjust plan | Report published | Vanity metrics only |
Iteration Planning Cadence
Time-box: 30β45 minutes. Agenda: 1. Review previous goals (met? spillovers? why?) 2. Revisit roadmapβstill valid? any scope adjustment needed? 3. Select goals (outcomes, not tasks) 4. Break into issues (ensure DoR standards) 5. Assign initial ownership (ownership can change with pairing)
Goal Crafting Examples
Weak: βWork on authenticationβ β Strong: βUsers can register & log in (JWT issued, persisted sessions).β Weak: βAdd testsβ β Strong: βCover user model validation paths (β₯ 5 core cases).β
Roles in Action (Per Iteration)
| Role | Iteration Focus |
|---|---|
| Iteration Lead | Goal clarity, flow of issues, report assembly |
| Backend Lead | API stability, data integrity, performance hotspots |
| Frontend/UX Lead | Accessibility, user flow coherence, design consistency |
| QA / Testing Lead | Test coverage growth, flaky test triage, DoD enforcement |
| DevOps / Release Lead | CI speed/reliability, tagging, environment parity |
Spikes: Definition & Exit
Acceptable outputs for a spike: - Decision summary (short markdown) - Prototype branch (closed without merge) + notes Define a time limit (e.g., 2β4 hours). Convert learning into actionable issue(s) or ADR. Avoid βspike loops.β
Demo Discipline
Golden rule: Demo behavior not code. Use a user narrative. If a feature is partially done, either (a) show the slice that meets DoD or (b) explain why it was deferred (avoid hand-wavy tours).
Status Report Data Sources
| Section | Data Input |
|---|---|
| Goals vs Achieved | Goals doc + closed issues |
| Work Summary | GitHub PR merge list |
| Risks | Retro discussion + blockers column |
| Adjustments | New roadmap deltas |
Spillover Handling
Ask: Why did it spill? Estimation gap, hidden dependency, priority change, quality gate failure? Capture root cause onceβpatterns drive improvements.
Tracking Technical Debt
Create a βtech debtβ label + lightweight issues. Debt is a managed queue, not a shame pile. Re-evaluate each planning meeting.
Healthy Iteration Indicators
| Indicator | Healthy Range | Intervention Trigger |
|---|---|---|
| PR Review Time | < 24h first review | > 48h backlog |
| Spillover Rate | β€ 25% goals | > 40% 2 iterations straight |
| CI Failure Recovery | < 1h | Failing main for multiple hours |
| Issue Size | 0.5β2 days typical | Many 4β5 day βepicsβ |
When to Re-Roadmap
Mid-course (after Iteration 3) evaluate: user value delivered vs plan. If β₯ 2 major goals persistently deferred, renegotiate final iteration focus to protect quality & polish.
Final Iteration Focus (Iteration 5)
Allocate explicit capacity for: - Hardening (tests, error handling) - Docs & ADR synchronization - Performance / accessibility pass - Release candidate validation
Avoid starting net-new large feature threads unless truly critical.
Retrospective Prompt Set (Extended)
- What nearly went wrong but didnβt (latent risk)?
- Which decision this iteration should become an ADR?
- What recurring friction point should we automate?
- What surprised us technically?
- What experiment (process tweak) will we try next iteration?
Close with 1β2 actionable improvements; assign owners.
How the Contribution Flow Works
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 1. Contributor identifies a bug or has a feature idea β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2. Creates an issue using appropriate template β
β - Describes the problem/feature β
β - Checks "I am a developer..." if willing to work β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 3. Team reviews issue (within 48 hours) β
β - Assesses alignment with design principles β
β - Labels appropriately β
β - Asks for clarification if needed β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 4. If approved: Contributor proposes solution approach β
β - Discusses implementation strategy β
β - Team provides feedback β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 5. Issue is assigned to contributor β
β - Creates feature branch from main β
β - Update Project Board (Issue Status) β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 6. Contributor develops solution β
β - Reads DESIGN_PRINCIPLES.md β
β - Reads docs/development/architecture.md β
β - Writes code, tests, documentation β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 7. Creates Pull Request β
β - Uses PR template β
β - References issue number β
β - Fills out all checklist items β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 8. Team reviews PR β
β - Checks code quality β
β - Verifies tests pass β
β - Ensures alignment with architecture β
β - Provides feedback or approves β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 9. If approved: PR is merged! π β
β - Contributor is thanked β
β - Issue is closed β
β - Changes included in next release β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ