The goal of the elaboration phase is to baseline the architecture of the system to provide a stable basis for the bulk
of the design and implementation effort in the construction phase. The architecture evolves out of a consideration of
the most significant requirements (those that have a great impact on the architecture of the system) and an assessment
of risk. The stability of the architecture is evaluated through one or more architectural prototypes.
The primary objectives of the Elaboration phase include:
-
To ensure that the architecture, requirements and plans are stable enough, and the risks sufficiently mitigated to
be able to predictably determine the cost and schedule for the completion of the development. For most projects,
passing this milestone also corresponds to the transition from a light-and-fast, low-risk operation to a high cost,
high risk operation with substantial organizational inertia.
-
To address all architecturally significant risks of the project
-
To establish a baselined architecture derived from addressing the architecturally significant scenarios, which typically expose the top technical risks of the
project.
-
To produce an evolutionary prototype of
production-quality components, as well as possibly one or more exploratory, throw-away prototypes to mitigate
specific risks such as:
-
design/requirements trade-offs
-
component reuse
-
product feasibility or demonstrations to investors, customers, and end-users.
-
To demonstrate that the baselined architecture will support the requirements of the system at a reasonable cost and
in a reasonable time.
-
To establish a supporting environment.
In order to achieve these primary objectives, it is equally important to set up the supporting environment for the
project. This includes tailoring the process for the project, preparing templates, guidelines, and setting up tools.
The essential activities of the Elaboration phase include:
-
Defining, validating and baselining the architecture as rapidly as practical.
-
Refining the Vision, based on new information obtained during the phase, establishing a solid understanding
of the most critical use cases that drive the architectural and planning decisions.
-
Creating and baselining detailed iteration plans for the construction phase.
-
Refining the development process and putting in place the development environment, including the process,
tools and automation support required to support the construction team.
-
Refining the architecture and selecting components. Potential components are evaluated and the
make/buy/reuse decisions sufficiently understood to determine the construction phase cost and schedule with
confidence. The selected architectural components are integrated and assessed against the primary scenarios.
Lessons learned from these activities may well result in a redesign of the architecture, taking into consideration
alternative designs or reconsideration of the requirements.
Milestone
The Lifecycle Architecture milestone establishes a managed baseline for the architecture of the system and enables the
project team to scale during the Construction phase. See Concept: Lifecycle Architecture Milestone for details.
|