Architecture-centric design method (ACDM)
Process · Chapter 5
What it is
Section titled “What it is”A lightweight, product-focused, iterative design method. It aims to keep the architecture balanced between business and technical concerns, positioning it as the intersection of requirements and solution. It covers the full architecture life cycle but isn’t a complete development process — it’s designed to complement existing process frameworks rather than replace them. Step counts/names vary slightly; the book presents seven steps.
The seven steps
Section titled “The seven steps”- Discover architectural drivers — Meet stakeholders to determine the architectural drivers; prioritize the quality attribute scenarios here too.
- Establish project scope — Review the drivers, consolidate to remove duplicates, and gather clarification for anything unclear, missing, incomplete, or not measurable/testable from the relevant stakeholders.
- Create notional architecture — A quick first attempt: initial representations of the structures are created and documented. Little time is spent — it will be refined over iterations.
- Architectural review — Review the current architecture (internally, externally with stakeholders, or both). Confirm decisions are correct and surface issues; for each decision, weigh alternatives, trade-offs, and rationale to check the best option was taken (see Reviewing software architectures).
- Production go/no-go — Decide whether the architecture is ready for production (here meaning implementation: detailed element design, coding, integration, testing) or needs more refinement. Consider risks from the review. Not all-or-nothing — part of the design may proceed while other parts are refined. A go skips to production planning; a no-go goes to Step 6.
- Experiment planning — Plan experiments to resolve review issues, better understand drivers, or improve elements/modules before committing them. Solidify goals, estimate effort, assign resources.
- Experimenting with and refining the architecture — Run the experiments, record results, and refine the architecture accordingly. Then return to Step 4 for another review.
Production planning and production
Section titled “Production planning and production”Once iterations finish and the architecture is ready, production planning covers designing/developing elements, scheduling, and assigning tasks — project management bases plans partly on the architecture. The architecture then moves to production for detailed element design, coding, integration, and testing.
Related concepts
Section titled “Related concepts”- Using a systematic approach to software architecture design
- Architectural drivers
- Reviewing software architectures
- Project management
Citations
Section titled “Citations”- Software Architect’s Handbook (Packt, 2018), Ch.5 “Architecture-centric design method (ACDM)”, pp. 358-367.