Roadmap: How to Adopt the Risk-Value Lifecycle Practice
This roadmap describes how to adopt the Risk-Value Lifecycle Practice.
Main Description

Getting Started 

Organize your project into a set of phases, each providing a milestone where business and management decision can be made on whether the project should go or not to the next phase. A risk-value lifecycle provide stakeholders with visibility on two main drivers: risks need to be driven down and value needs to be driven up. At the end of each phase in the lifecycle, there is a milestone that will help answer the questions and find the balance between risks and value. See Phase Milestones for more information on milestones and Project Lifecycle for more information on balancing risks and value.

Divide phases into iterations that deliver a demo-able, potentially shippable increment of software. Each iteration on a phase will contain just enough of any activity required to meet the objectives of that phase by the time you meet the milestone that concludes it. If the milestone can't be satisfied, consider adding one more iteration to that phase until the expected risks for the phase are mitigated or the expected stakeholder value is provided.

Plan the number of iterations in each phase according to the lifecycle pattern that is most appropriate to your project. For example, when the problem domain is familiar, the risks are well-understood and the project team is experienced, you may only need one iteration in Inception and one in Elaboration phases, then have multiple iterations in Construction (to develop the requirements and architecture) and a few iterations in Transition to migrate the product to users. Another example is when the problem domain is new or unfamiliar, or the team is inexperienced. In such a case, you might need several iterations in Elaboration to refine requirements and architecture as you implement them, then one iteration in Construction to deal with less critical requirements. For more information on lifecycle patterns see [DOD94] and [GIL88]. 

Phases are not identical in terms of schedule and effort. For example, a typical distribution of resources and time spent for a medium-sized project is represented in the table below.

Inception Elaboration Construction Transition
Effort ~5% 20% 65% 10%
Schedule 10% 30% 50% 10%

For more information and examples of projects adopting the four-phase lifecycle, see [KRO03].

Common Pitfalls

A common misconception about the four Unified Process phases is to compare them to a waterfall approach, where one would expect to document all the requirements in Inception, create the whole design and architecture in Elaboration, do all the implementation in Construction, and testing in Transition. Phases are time allocated in the project schedule, and provide a framework and milestones for business and management decisions to be made. Each iteration in each phase provides a complete pass through activities in the disciplines of software development (i.e. requirements, design, implementation, integration, testing, and so on) and produces an executable increment of software that minimizes risks and grows in value.