Inception and Iterations

Most projects have one iteration in the Inception phase. Some projects may, however, need more than one iteration to accomplish the objectives (see also Chapter 12 on the planning of an iterative project).

Among the reasons for multiple iterations, you find

  • The project is large, and it is hard for the project team to grasp the scope of the system.

  • The system is unprecedented, and it is difficult to pinpoint what the system should do.

  • There are many stakeholders, and stakeholder relations are complex, such as difficult contractual negotiations.

  • It is difficult to get the business case right in one shot or to develop an optimal balance between the scope of the project and the required investment. This is often the case when building new commercial applications.

  • There are major technical risks that need to be mitigated by a prototype, or you need to build a proof-of-concept before you get buy-in from your sponsors. In particular, you may need to prototype your candidate architecture to get a better understanding of its performance, cost, and other characteristics.

If you have more than one iteration, the first iteration typically focuses primarily on objectives 1 “3 (the "what" to build), while the latter iterations focus more on objectives 4 and 5 (the "how" to build it).

For each of our three example projects, you would typically have the following iterations pattern:

  • Project Ganymede, a small green-field project: graphics/g_icon.gif Since the application is small, you can typically understand what you need to build in a fairly short time frame. You likely need only one iteration.

  • Project Mars, a large green-field project: graphics/m_icon.gif Since the application is more complex and you have never built this type of system before, you need to take some time to get buy-in of what you are trying to achieve from all stakeholders. You probably need two iterations in Inception.

  • Project Jupiter, a second generation of a large project: graphics/j_icon.gif You are starting with an existing system, whose characteristics are understood , and you have a very good idea of what needs to be developed in this second generation. You have a number of use cases, extensions of existing ones or new ones, and some nonfunctional requirements, as well as a number of defects of the first system that you know you want to address. You still need to create an inventory of what to do so you do not miss any high-priority enhancements. It should be sufficient to do one iteration, and that iteration can probably be slightly shorter than most other iterations in your project.



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