Understanding the Unified Process (UP) - Part 1
page 7 of 8
by Rabih Kraidli
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 29193/ 69

UP Phases

In this section we will discuss the properties that define the different phases of UP. We will leave the workflows to subsequent articles.

It is worth mentioning that each phase has a set of deliverables and a milestone indicating its finalization with respect to a specific iteration.

Inception

The purpose of the inception phase is to "kick off" the project. As you can see from figure 1, it mostly involves gathering requirements and initiating the project.

Goals

·         Feasibility study: Determines the overall technical feasibility of the project. May involve some basic prototyping to validate the requirements.

·         Capturing essential requirements: Help in defining the overall scope of the system.

·         Identifying risks

Milestone

UP focuses on achieving multiple goals as an indicator of achieving the milestone in any phase, rather than creation of key artifacts, as many SEP's do. The milestone in the inception phase is the Life Cycle Objectives. Certain conditions must be attained in order to achieve this milestone. These are listed in the table given below.

Table 1: Life Cycle Objectives milestone

Condition

Deliverable

Stakeholders agree on project objectives and scope

Vision document, initial use case model

Key requirements captured

Use case model, SRS

Cost and schedule estimates agreed upon

Initial project plan

Risk  assessment conducted

Risk assessment document

Feasibility confirmed

One or more throw away prototypes

Architecture has been outlined

Initial Architecture document

 

Note that the key point is that you only create a document if you deem it useful to your project. Never write any document for the sake of documentation itself. If it has no use, do not create it.

Elaboration

The primary purpose of the Elaboration phase is to create an architectural base. This is a real system built on the actual specification and not a prototype which is a throwaway system. This is the first executable version of the system. The base system produced here is built upon in later phases, until the project terminates. So, this is the most crucial phase of the UP.

Goals

·         Create an architectural baseline.

·         Refine the risk assessment.

·         80% of the use cases of must be captured. Details of requirements gathering will be discussed in upcoming articles.

·         Plan for the construction phase (development) is put in place.

·         Project plan produced.

The following activities are done in the Elaboration phase in each of the five core workflows:

·         Requirements: Refines scope and overall use cases of the system.

·         Analysis: Establishes detailed system requirements.

·         Design: Creates stable baseline architecture.

·         Implementation: Code the architecture outlines in the design phase.

·         Test: Tests the system built in the implementation phase.

Milestone

The milestone for the Elaboration phase is the Life Cycle Architecture. As before, the conditions that have to be met are outlined in Table 2.

Condition

Deliverable

Robust Architectural baseline has been developed

Executable architecture

Software Architecture Document

Risks identified fully

UML static, use case and dynamic diagrams

Vision of the product has been stabilized

Vision document

Business case of the project stabilized

Vision document

Project Plan agreed upon, stake holders are on board with the project plan

Project Plan

Agreement with stake holders to continue the project

Sign-off document

 

Construction

Goals

The primary purpose of this phase is to completely finalize the requirements, analysis and design of the system. This involves transforming the architectural design, placed and worked on in the pervious phases, to the final workable system. The utmost important issue of this phase is to maintain the integrity and uniformity of the architectural design. It is a very crucial issue to resist the deadline pressure, and to maintain this integrity. If this concept is not followed, a collapse of the architectural vision will take place, leading to a system with low quality and high maintenance costs.

Milestone

The milestone of the Construction phase is Initial Operational Capability. In essence this milestone is very simple: the software is operational and ready for beta testing at the user site. The conditions to achieve this milestone are outlined in table 3.

Table 3: Initial Operational Capability milestone

Condition

·         Deliverable

The software is of enough quality to be deployed at the user site and beta tested

The software product

Testing platform

The UML model

Stake holders ready for the beta deployment at their site

User manuals

Description of the release

Cost analysis

Project plan

         

Transition

This phase is the last phase in an UP lifecycle. It starts when the beta testing of the software ends at the end of the previous phase, and the software is finally deployed. This involves taking care of any bugs that came out of the beta testing, and rolling out the software to all the user sites.

Goals

·         Fixing defects.

·         Create user manuals, guides and any end user documentation.

·         Prepare the user sites for the rollout.

·         Provide support and consultancy (as per the agreement signed).

·         Conduct a post project analysis.

As you can see from figure 1, the emphasis in this phase is on the implementation and test workflows. Sufficient time is considered in the design work flow to correct any last minute design flaws. Having stated that, these corrections should be kept down to a minimum at this stage.

·         The following activities are done in the Elaboration phase in each of the five core workflows:

·         Requirements: not applicable.

·         Analysis: not applicable.

·         Design: minor design changes to include bug fixes that were done during beta testing.

·         Implementation: minor user customizations and bug fixes.

·         Test: beta testing and user acceptance testing at the user site.

Milestone

The milestone of this phase is the Product Release. As the name says, this is basically the Go-Live of the final production system at the user site. After this phase the support contract that you have with your customer kicks in. The conditions to achieve this milestone are stated in table 4.

Table 4: Product Release milestone conditions

Condition

Deliverable

Project closure document

Beta testing finished, necessary changes to the system have been made, and agreement is reached among the stake holders that the system has been successfully deployed.

Updated user manuals

 

Product support strategies, pipelines and contracts are agreed upon and signed by both parties.  Final updated user manuals are delivered.


View Entire Article

User Comments

Title: Congrats!   
Name: Bilal Haidar [MVP]
Date: 2007-04-01 3:15:35 PM
Comment:
Congratulations Rabih for your first article!
Keep it up for later articles!!

Regards

Product Spotlight
Product Spotlight 





Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2022 ASPAlliance.com  |  Page Processed at 2022-10-06 2:34:56 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search