Subscribe by Email

Tuesday, May 22, 2012

Phase 2 of Unified Process Life cycle - Elaboration

Unified process is one of the outstanding processes that follow an iterative and incremental approach for the software development. The whole process of the unified process is constituted of the 4 stages or phases namely:
  1. Inception
  2. Elaboration
  3. Construction and
  4. Transition
This article is dedicated to the second phase of the unified process i.e., the elaboration phase. So let us see what all processes are involved in this phase. 
There exists a short phase between the inception phase and the elaboration commonly knwn as the “elicitation” phase. It is sometimes regarded as apart of the elaboration phase only but to keep the elaboration phase short and simple it is often treated separately.
First let us know what is this elicitation phase? 
Elicitation addresses the below mentioned three main problems of the software development process:
  1. Problem of volatility
  2. Problem of scope
  3. Problem of understanding

What is an Elaboration Phase?

- During this whole elaboration phase, it is required that the project team captures quite a large number of the requirements of the software system or the application. 
- But this is not to be confused with the primary goal of the elaboration phase. It is quite different. 
The primary goal involves the addressing of the involved and known risk factors. 
- Another aspect of the primary goal is to validate the architecture model being used in the system. 
This is done with the help of various processes like those mentioned below:
  1. Creation of use case diagrams
  2. Creation of class diagrams
  3. Creation of class with basic notation only and
  4. Creation of architectural or the package diagrams.
- All these above mentioned processes fulfil only the first aspect of the primary goal that is to identify the risk factors. 
- The second aspect is fulfilled through the implementation of an EAB or an executable architectural baseline.
- It helps greatly in validation of the system architecture. 
- This is just a partial implementation rather than being a full implementation. 
- The partial implementation is of the components that are architecturally significant like the system including the core.
- The executable architecture baseline is built out of a series of small iterations that have been time boxed so that there is the stabilization of the architecture of the system by the end of the elaboration phase. 
- The executable architectural baseline provides a means to demonstrate that the key system functionality are supported by the architecture and also exhibit proper expected behaviour when it comes to the terms like the scalability, performance and cost. 
- The outcome of the elaboration phase i.e., the elaboration phase deliverable actually serves as a plan for the construction phase that also lays down the cost estimate and the schedule estimates.
- The plan at this point needs to be credible and quite accurate since the elaboration phase experience is what on which it is dependent and also because all the significant risk factors have been addressed during this phase. 
The ultimate purpose of this phase is to provide the software with a baseline for the architecture of the software system that serves as a foundation for the further efforts. 

Goals of Elaboration Phase

- The following are the goals of the elaboration phase:
  1. To have a detailed understanding of the key requirements.
  2. To mitigate significant risks.
  3. To produce accurate schedule and cost estimates.
  4. To design, validate and implement the architecture baseline
- The number of iterations in the elaboration phase is not fixed; it varies depending up on the factors such as the maintenance cycle and the green field development. 

No comments:

Facebook activity