At the end of the elaboration phase is the second important project milestone, the Lifecycle Architecture
Milestone. At this point, you examine the detailed system objectives and scope, the choice of architecture, and the
resolution of the major risks.
Evaluation Criteria
-
The vision and requirements are stable.
-
The architecture is stable.
-
The key approaches to be used in test and evaluation are proven.
-
Test and evaluation of executable prototypes have demonstrated that the major risk elements have been addressed and
have been credibly resolved.
-
The iteration plans for the construction phase are of sufficient detail and fidelity to allow the work to proceed.
-
The iteration plans for the construction phase are supported by credible estimates.
-
All stakeholders agree that the current vision can be met if the current plan is executed to develop the complete
system, in the context of the current architecture.
-
Actual resource expenditure versus planned expenditure is acceptable.
The project may be aborted or considerably re-thought if it fails to reach this milestone.
Essential Artifacts (in order of importance)
|
State at milestone
|
Prototypes
|
One or more executable architectural prototypes have been created to explore critical functionality and
architecturally significant scenarios. See the note below on the role of prototyping.
|
Risk list
|
Updated and reviewed. New risks are likely to be architectural in nature, primarily relating to the
handling of non-functional requirements.
|
Project process
|
The project process, including any project-specific guidelines and templates, has been refined
based on early project experience, and is sufficiently defined for the construction phase to
proceed.
|
Development infrastructure
|
The development environment for construction is in place, including all tools and automation
support for the process.
|
Software architecture
|
Documented and baselined, including detailed descriptions for the architecturally significant
requirements, identification of key mechanisms and design elements plus definition of each of
the architectural views of the system.
Architecturally significant scenarios have been implemented, tested, and assessed against
requirements. Components have been identified and the make/buy/reuse decisions
sufficiently understood to determine the construction phase cost and schedule with confidence.
Lessons learned from these activities may well result in a redesign of the architecture, taking
into consideration alternative designs or reconsideration of the requirements.
|
Data model
|
Defined and baselined. Major data model elements (e.g. important entities, relationships, tables)
defined and reviewed.
|
Implementation
|
Initial structure created and major components prototyped.
|
Vision
|
Refined, 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.
|
Project plan
|
Updated and expanded to cover the Construction and Transition phases.
|
Iteration plan
|
Iteration plan for the construction phase completed and reviewed.
|
Requirements
|
Requirements should be approximately 80% complete. All major use cases or user stories should
be identified and outlined, and most should be fully described.
System-wide requirements (also called supplementary or non-functional requirements) are documented
and reviewed.
|
Test suite ("smoke test")
|
Tests implemented and executed to validate the stability of the build for each executable releases
created during the elaboration phase.
|
Test automation architecture
|
A baselined composition of the various mechanisms and key software elements that embody the fundamental
characteristics of the test automation software system.
|
Test plan
|
A governing test plan that outlines the high-level test and evaluation strategy for the life of the
project.
|
Optional Artifacts
|
State at milestone
|
Business case
|
Updated if architectural investigations uncover issues that change fundamental project assumptions.
|
User support material
|
User manuals and other training materials. Preliminary draft, based on use cases. May be needed
if the system has a strong user interface aspect.
|
Construct prototypes of several types as a risk reduction strategy. Some of these prototypes may be purely exploratory,
and are subsequently discarded. However, it is likely (certainly for larger or unprecedented systems) that the
architecture will have been constructed as a series of evolutionary prototypes-covering different issues as elaboration
proceeds-and by the end of elaboration, will have culminated in an integrated, stable architectural base. We do not
mean to suggest here that the prototyping effort during elaboration should result in a set of architectural fragments,
which need not be integrated.
|