|
CMU-ISRI-05-103
Institute for Software Research International
School of Computer Science, Carnegie Mellon University
CMU-ISRI-05-103
The Architecture Centric Development Method
Anthony J. Lattanze
February 2005
CMU-ISRI-05-103.pdf
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
|