Key Concepts

Let's start by revisiting a few key concepts.

Cycle

A development cycle is the period of time that elapses from the very start of the project until product release (or project cancellation); it includes all the activities that are executed during that time.

Not all cycles have the same development profile. The importance of the phases, and the number of iterations required to fulfill the phase objectives, can vary greatly. We often distinguish initial development cycles from evolution cycles or maintenance cycles. An initial development cycle, leading to the very first release of a system, is often referred to as a "green-field" development. Figure 12.1 shows a typical time line for an initial development cycle.

Figure 12.1. Typical Time Line for an Initial Development Cycle. The lead time for each phase varies greatly from project to project. This figure indicates an average breakdown for an initial development cycle.

graphics/12fig01.gif

Phases

Each cycle in the RUP is broken down into a sequence of four phases, called Inception, Elaboration, Construction, and Transition. Remember that the phases always exist and are important, not because of what is executed or because of their length, but because of what is achieved at the major milestone that concludes them.

Iteration

Inside each phase there may be one or more iterations. Software is developed in each iteration, which is concluded by a minor milestone, including a release (internal or external) that is a point for assessing the project progress. The software product grows incrementally as you iterate over the activities.

Build

Inside each iteration, the various developers or teams may produce software builds (sometimes at a high rate: daily or even more frequently), which allows continual integration, testing, regression testing, and general indication of progress. Often the last build of the iteration is part of the iteration's release.

Time-Boxing

Time-boxing is a top-down technique that tries to confine the achievement of a specific goal within a small time interval. This provides a structure for focusing on the most important mission goals and forcing engineering tradeoffs. [2] It is not about setting impossible or irrational goals and delivering anything of poor quality within the time-box. It is a tool used to balance scope and schedule but also to force convergence and to limit analysis-paralysis or gold plating .

[2] See Highsmith 2000, p. 303.



The Rational Unified Process Made Easy(c) A Practitioner's Guide to Rational Unified Process
Programming Microsoft Visual C++
ISBN: N/A
EAN: 2147483647
Year: 2005
Pages: 173

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net