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.

 

Topics

Any role Developers Prepare Environment for Iteration Refine System Development Process - Ready for Iteration Development Infrastructure Development Infrastructure System Analyst Software Architect Testers Manage Iteration Test and Evaluate Test and Evaluate Verify Test Approach Verify Test Approach Define Candidate Architecture Define Candidate Architecture Refine Architecture Refine Architecture Monitor and Control Project Plan Iteration Manage Change Requests Manage Change Requests Software Requirements - Detailed Architecture - Detailed Iteration Assessment Iteration Assessment - Current Iteration Iteration Plan Iteration Plan Iteration Plan - Next Iteration Iteration Plan Risks - Updated Build Test Evaluation Summary Test Evaluation Summary Manage Manging Requirements Manage Manging Requirements Develop Components Change Requrests Change Requests Project Manager Process Engineer Project Manager Design Model Develop Components Support Environment Support Environment Tools - Ready for iteration

Workflow details typically performed in an iteration in Elaboration for medium sized projects.


Objectives To top of page

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 creating a development case, preparing templates, guidelines, and setting up tools.

Essential Activities To top of page

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 case 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 To top of page

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 Milestone: Lifecycle Architecture for details.

Tailoring Decisions To top of page

The example iteration workflow shown at the top of this page represents a typical Elaboration iteration in medium sized projects. The Sample Iteration Plan: Elaboration Phase represents a different perspective of the breakdown of activities to undertake in an Elaboration iteration. This iteration plan is more complete in terms of workflow details and activities, and as such, more suitable for larger projects. Small projects might decide to do only a subset of these workflow details, deviations should be challenged and documented as part of the project-specific process. When planning an Elaboration iteration, keep in mind that the project's focus may shift from beginning of a phase to the end, and the iteration workflows may differ slightly from one iteration to the other.

Rational Unified Process   2003.06.13