Defining the Product Vision and the Business Case

The context of this first example is the initial development cycle for a new product (see Figure 16-1). It illustrates a "greenfield" development for a small system.

Figure 16-1. An iteration in the inception phase

graphics/16fig01.gif

Start-up: Define the system's vision and scope.

The Stakeholders of the system to be developed (such as customers, managers, marketing, and funding authorities), working with System Analysts, define the vision and the scope of the project (Artifact: Vision). The driving factor to consider in this effort is the user 's needs and expectations (Artifact: Stakeholders' Requests). Also considered are constraints on the project, such as platforms to be supported, and external interfaces. Based on the early sketches of the vision, the group starts to prepare the business case and initiate a risk list, enumerating hazards that could arise on the way to success (Artifacts: Business Case and Risk List).

Requirements: Outline and clarify the system's functionality.

The system analysts use various techniques, such as storyboarding and brainstorming, to conduct sessions to collect stakeholders' opinions about what the system should do. Together, they sketch an initial outline of the system's use-case model (Artifact: Use-Case Model). An initial glossary is also captured to simplify the maintenance of the use-case model and to keep it consistent (Artifact: Glossary). The main results of these sessions are a stakeholder needs document and possibly an outline of a use-case model: a use-case survey.

Project Management: Consider the project's feasibility and outline the Project Plan.

With input from the use-case modeling, it is time to transform the vision into economic terms by considering the project's investment costs, the resource estimates, the development environment, the success criteria (revenue projection and market recognition), and so on, and to flesh out a business case. The risk list is updated, taking into account business risks. The Project Manager builds a phase plan showing tentative dates for the inception, elaboration, construction, and transition phases along with the major milestones. The software development plan envisages the development environment and process that will be needed (Artifact: Project Plan, inside the Software Development Plan).

Project Management: Refine the Project Plan.

At this stage, the stakeholders should have a good understanding of the product's vision and feasibility. An order of priority among features and use cases is established. The Project Manager may start planning the project in more detail, basing the project plan on the prioritized use cases and associated risks. A tentative set of iterations is defined, with objectives for each iteration. The results achieved at this stage are refined in each subsequent phase and iteration and become increasingly accurate as iterations are completed. This is a key differentiator in using RUP ”recognizing that initial project plan estimates are rough estimates, but that those estimates become more realistic as the project progresses and there are real metrics on which to base estimates; successive refinement of the project and iterations plans is both expected and essential.

Result

The result of this initial iteration is a first cut at the project's vision, business case, and scope, as well as the project plan. The stakeholders (organization) initiating the project should have a good understanding of the project's return on investment (ROI); that is, what is returned at what investment costs? Given this knowledge, a "go/no go" decision can be made.

Project schedules are not written in stone. A key differentiator in using this process is the recognition that initial project plan estimates are rough estimates that become more realistic as the project progresses and real measures are developed on which to base estimates. With project planning, practice makes perfect. It's important to stress continual refinement of the project plan.

Subsequent Iterations in Inception

You can initiate subsequent iterations to enhance the understanding of the project's scope and the system to be developed. This activity might imply further enhancement of the use-case model or of the plans, staffing, environment, and risks. The need for such additional work depends on variables such as the complexity of the system, the associated risks, and the domain experience.



The Rational Unified Process. An Introduction
Blogosphere: Best of Blogs
ISBN: B0072U14D8
EAN: 2147483647
Year: 2002
Pages: 193

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