Tracking the progress of the software architecture's design
Practice · Chapter 5
Why track progress
Section titled “Why track progress”Tracking tells you how much design work is done and what remains, lets you prioritize what to do next, and reminds you of outstanding design issues so nothing slips. The exact technique depends on project, methodology, and organization — with Scrum, product and sprint backlogs are natural fits.
Using an architecture backlog
Section titled “Using an architecture backlog”- A product backlog lists all features and bugs. Consider a separate architecture-specific backlog holding design issues, decisions to be made, and architecture-specific ideas.
- Flow: prioritize backlog items → sprint planning selects items for the sprint → selected items move to the sprint backlog → create and assign tasks → track → remove items when complete.
Prioritizing the backlog — DIVE criteria
Section titled “Prioritizing the backlog — DIVE criteria”Prioritization isn’t one-and-done; revisit it whenever the backlog changes. Items should be linearly ordered. One proven prioritization scheme is DIVE:
| Letter | Criterion | Meaning |
|---|---|---|
| D | Dependencies | Items others depend on come first (if A depends on B, B ranks higher). |
| I | Insure against risks | Weigh business and technical risk; risk may raise or lower an item’s priority. |
| V | Business value | Higher-value items (judged with stakeholder input) tend to rank higher. |
| E | Estimated effort | Scheduling/resource factors; a large item may be pulled forward to ensure it finishes in time. |
Active and dynamic backlogs
Section titled “Active and dynamic backlogs”The architecture backlog evolves as design iterations complete. Items get added when new architectural drivers emerge, when reviews reveal problems, or when a decision spawns new concerns (e.g. choosing a web application adds security, session-management, and performance items). Such changes may prompt re-prioritization.
Audience: make the backlog available to those who need visibility into progress. Architecture and project backlogs may have different audiences — clients might see the product backlog to track functionality while the team keeps the architecture backlog private, depending on the project’s level of transparency.
Related concepts
Section titled “Related concepts”- Project management
- Software development methodologies
- Software risk management
- Using a systematic approach to software architecture design
Citations
Section titled “Citations”- Software Architect’s Handbook (Packt, 2018), Ch.5 “Tracking the progress of the software architecture’s design”, pp. 383-391.