Agile & Scrum
Agile is a family of values and principles for delivering software under uncertainty: welcome change, deliver working software frequently, collaborate with customers, and prefer individuals and interactions over heavyweight process theater. Scrum is the most widely practiced Agile framework — a lightweight set of roles, events, and artifacts that create a cadence of inspection and adaptation.
This page covers Agile values, Scrum mechanics, Definition of Done, and — critically — when Agile fits and when it fails. Architecture in Agile teams is evolutionary: decisions are continuous, documented in ADRs, and validated by delivery.
The Agile Manifesto values individuals/interactions, working software, customer collaboration, and responding to change — while still acknowledging processes, documentation, contracts, and plans. The practical reading for architecture and SDLC:
- Working software is the primary measure of progress — architecture must enable frequent integration.
- Welcome changing requirements — modular boundaries and automated tests make change affordable.
- Sustainable pace — heroics are a process smell, not a culture badge.
- Technical excellence and good design enhance agility — refactoring is delivery work.
- Simplicity — maximize work not done; avoid speculative microservices.
note
| Role | Accountability | Architecture touchpoint |
|---|---|---|
| Product Owner | Maximize product value; manage backlog | Prioritize enablers & NFRs, not only features |
| Scrum Master | Effectiveness of Scrum; remove impediments | Protect refinement time for design spikes |
| Developers | Deliver Done increment each sprint | Own ADRs, fitness functions, quality |
There is no separate "architect" role required by Scrum — but architecture accountability must exist. On larger products, an architecture owner or guild partners with teams without becoming a bottleneck approval board.
Sprint (≤1 month, often 1–2 weeks)
Timebox that produces a Done increment. Scope can be renegotiated with PO if learning demands it — but the sprint goal remains the compass.
Sprint Planning
Select backlog items feasible for Done; craft sprint goal; plan how work will be achieved — including spikes and NFR work.
Daily Scrum
Inspect progress toward sprint goal; adapt the day's plan. Not a status meeting for managers.
Sprint Review
Inspect the increment with stakeholders; adapt the backlog. Architecture demos belong here when boundaries change.
Sprint Retrospective
Inspect people/process/tools; improve. Recurring architecture pain belongs in retros with actionable experiments.
| Artifact | Commitment | Notes |
|---|---|---|
| Product Backlog | Product Goal | Ordered list; includes enablers, debt, NFRs |
| Sprint Backlog | Sprint Goal | Team's plan for the sprint |
| Increment | Definition of Done | Sum of all Done work; usable |
Backlog items should be INVEST where possible (Independent, Negotiable, Valuable, Estimable, Small, Testable). See Requirements for story vs use case guidance.
Definition of Done (DoD) is the shared quality bar for calling work complete. Without a strong DoD, "Agile" becomes a factory for unfinished work.
| 1 | [ ] Acceptance criteria verified |
| 2 | [ ] Unit/integration tests as agreed for risk |
| 3 | [ ] Code reviewed / paired |
| 4 | [ ] No new critical linter or type errors |
| 5 | [ ] Observability for new paths (logs/metrics/traces) |
| 6 | [ ] Feature flag / migration plan if needed |
| 7 | [ ] ADR updated if architectural decision made |
| 8 | [ ] Docs/runbook touched if ops behavior changed |
| 9 | [ ] Security checklist for authz/PII changes |
best practice
Agile architecture practices:
- Make reversible decisions by default; ADR the irreversible ones.
- Budget capacity for enablers (performance, security, modularity) — not only user stories.
- Use spikes to buy information; timebox them; convert learning into backlog items or ADRs.
- Prefer vertical slices that exercise the real architecture early.
- Align team topology with module boundaries (Conway).
| Condition | Why Agile helps |
|---|---|
| Uncertain or evolving requirements | Learning via increments |
| Frequent stakeholder access | Reviews produce real feedback |
| Ability to release often | Value realized early; risk reduced |
| Cross-functional teams | Less handoff waste |
| Culture that tolerates change | Adaptation over plan worship |
- Fixed-scope, fixed-date, fixed-cost contracts with no change mechanism — Agile theater under Waterfall constraints.
- Stakeholders unavailable for reviews — team builds in a vacuum.
- No DoD — "done" means merged, not releasable.
- Velocity used as a performance weapon — teams game estimates.
- Architecture ignored — sprinting into a distributed ball of mud.
- Compliance needs unmet — must graft traceability deliberately, not pretend sprints replace audits.
warning
| Need | Lean toward |
|---|---|
| Heavy upfront compliance evidence | Waterfall gates + Agile execution hybrid |
| Product discovery & frequent release | Scrum or Kanban + DevOps |
| Flow of mixed interrupt-driven work | Kanban |
| Cadence for planning & stakeholder demos | Scrum |
Mechanics without purpose fail. Anchor on outcomes:
- Every sprint produces a usable Increment — not only 'code complete'.
- Product Goal and Sprint Goal are visible and used in tradeoff conversations.
- Refinement keeps upcoming items ready enough — without requiring perfect specs.
- Retrospectives produce experiments with owners and follow-up.
- NFR and architecture enablers appear in the backlog with PO support.
Refinement tips
Split large items; clarify AC; identify spikes; note architectural impact; estimate only when enough is known.
Sprint goal examples
Enable checkout with tax calculation for US; Reduce p95 search latency under 300ms; Migrate session store behind a port.
Multiple teams need alignment without a central bottleneck: shared product goals, clear module ownership, contract tests between teams, and architecture advisory — not mandatory ticket approval for every change. Frameworks (LeSS, Nexus, SAFe) add structure; adopt only what your coordination pain requires.
warning
Agile does not eliminate requirements work — it slices it. Prefer thin vertical stories with clear acceptance criteria; keep a living NFR list; schedule discovery for fuzzy areas. Product Owners who only prioritize UI chrome and ignore reliability enablers create fragile systems.
| Requirements practice | Agile application |
|---|---|
| User stories | Conversation + AC; not a contract novel |
| Use cases | Useful for complex flows spanning roles |
| MoSCoW | Prioritize within release/product goal |
| NFR budgets | Track as backlog constraints + tests |
Community
Get help on Slack, Discord or VIP
Stuck on a guide? Join the community and ask.