Institute for Software Research International
School of Computer Science, Carnegie Mellon University


The Architecture Centric Development Method

Anthony J. Lattanze

February 2005


Keywords: Software architecture, Software Design, Software Engineering, System Architecture, System Engineering, System Design, Quality Attributes, Enterprise Architecture, Software Development Methods, Software Development Process, Software Development Lifecycle

Functionality is a measure of how well a system does the work it was intended to do, but functionality is not all that matters in software development. Properties like interoperability, modifiability, and portability also matter as much as functionality does. These properties are determined primarily by the software structure -- or the software architecture. While many structures can satisfy functionality, few can satisfy the required functionally and the quality attribute properties needed in a system. Achieving quality attributes in a predicable way can only be accomplished by deliberately selecting the appropriate structures early in the development process. This is a radical departure from high speed, lightweight programming methodologies (e.g. XP) that focuses on functionality and prescribes writing software until a product emerges -- architectures also emerge in this paradigm. Emergent architectural structures may or may not meet the expectations of the broader stakeholders. Other methods espouse high ceremony processes and heavy emphasis on document production. The Architecture Centric Development Method (ACDM) can be differentiated from these extremes in that ACDM places the software architecture at the center of a development effort rather than software processes. Like architectures in the building and construction industries, ACDM prescribes using the architecture design to drive not only the technical aspects of the project, but also the programmatic issues of a development effort as well. ACDM weaves together product, technology, process, and people into a cohesive lightweight, scaleable development method.

57 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by