Architecture Centric Design
Method
The Architecture-Centric Design Method (ACDM) is a software
architecture development method that covers the complete
life cycle of the architecture.
This iterative method consists of 8 stages
Stage1: Discover Architectural Drivers (Requirements Stage)
➢ Identify key architectural drivers such as functional and non-functional
requirements (e.g., performance, security, scalability).
➢ Engage stakeholders to understand business goals and technical
constraints.
➢ Refine drivers iteratively based on feedback.
Stage2: Establish Project Scope (Requirements Stage)
➢ Define the project's boundaries, objectives, and constraints.
➢ Identify key components, stakeholders, and high-level system
interactions.
➢ Align the project scope with business and technical needs
Stage3: Create / Refine Architecture (Design/Refinement Stage)
➢ This stage is focused on design; it is where an initial architectural design
is created or refined. For new systems, the first iteration of this process
promotes the rapid creation of a “notional” or initial architecture.
➢ This iteration proceeds by first establishing the system context and then
performing decomposition in an iterative manner to produce structures.
➢ In ACDM, decomposition is driven by quality attribute scenarios and
constraints, but functional requirements are also considered. In
subsequent iterations, issues uncovered in the architecture review.
Stage3: Create / Refine Architecture (Design/Refinement Stage)
Steps
➢ Develop initial architectural models and design artifacts.
➢ Choose architectural patterns, styles, and technologies (e.g.,
microservices, layered architecture).
➢ Continuously refine the architecture based on feedback and evolving
requirements.
Stage4: Architecture Review (Design/Refinement Stage)
➢ Evaluate the proposed architecture against quality attributes and business
goals.
➢ Conduct peer reviews, stakeholder validation, and structured assessments
(e.g., ATAM - Architecture Tradeoff Analysis Method).
➢ Identify weaknesses and refine architecture if necessary.
Stage5: Production Go / No-Go (Decision Stage)
➢ Assess if the architecture is mature and ready for implementation.
➢ If it meets required standards and objectives, proceed to production
planning.
➢ If deficiencies exist, transition to experimentation for further validation.
Stage6: Experimentation (Experimentation Stage)
➢ Test architectural decisions using prototypes, proof-of-concepts, or
simulations.
➢ Validate assumptions related to performance, security, and scalability.
➢ Refine the architecture based on experimental results and re-evaluate.
Stage7: Production Planning (Production Stage)
➢ Plan deployment strategies, integration processes, and risk mitigation
approaches.
➢ Develop detailed implementation plans, including resource allocation and
timelines.
➢ Ensure all stakeholders are aligned on the final architecture before
deployment.
Stage8: Production (Production Stage)
➢ Deploy the architecture into the production environment.
➢ Monitor system performance and maintain architectural integrity.
➢ Address any real-world challenges and plan for future evolution.
Conclusion
➢ ACDM has a broader scope than ADD, as it encompasses the whole
architecture development life cycle (requirements, design, evaluation, and
documentation) in its 8 stages.
➢ Stage 3 of ACDM is the equivalent of ADD.
➢ However, ACDM provides less detailed guidance than ADD on how to
perform this crucial step.
➢ ADD and ACDM can be used together, however. To do so, you can simply
use ADD directly in stage 3 of ACDM.
THANK YOU