17.2 Fitting Estimation into a Stage-Gate Process


17.2 Fitting Estimation into a Stage-Gate Process

Many large, established organizations have a defined Software Development Life Cycle (SDLC). These life cycles tend to be part of "stage-gate processes," product life-cycle processes that are defined in terms of several "stages" and "gates" (Cooper 2001). Companies using stage-gate processes include 3M, Agilent, Corning, Exxon, GE, Guinness, Hewlett-Packard, Intel, Kodak, Proctor & Gamble, and many others.

Figure 17-1 shows a typical stage-gate process.

image from book
Figure 17-1: A typical stage-gate product development life cycle.

The SDLC identifies the software development activities that are normally performed during each stage. It also defines the exit criteria that determine whether the project is allowed to complete one stage and begin the next stage (that is, to proceed through the next gate). Details of SDLCs vary from one organization to another. Table 17-1 summarizes how an SDLC would coordinate with a typical product-oriented stage-gate process.

Table 17-1: Typical Product-Oriented Stage-Gate SDLC (Abbreviated Version)

Stage

Major Activities During Stage

Gate

Primary Exit Criteria

0. Discovery

  • Identify market opportunity

  • Assess high-level technical feasibility

  • Develop Preliminary Business Case

1

  • Approved Preliminary Business Case

1. Scoping

  • Define Product Vision

  • Develop Marketing Requirements

  • Validate concept with customers

2

  • Approved Product Vision

  • Approved Marketing Requirements

2. Planning

  • Develop detailed requirements

  • Develop detailed Software Development Plans

  • Develop budget estimates

  • Develop Final Business Case

3

  • Approved Software Development Plans

  • Approved Budget

  • Approved Final Business Case

3. Development

  • Execute main software development life cycle

  • Develop Marketing Launch Plan and Operations Plan

  • Develop final Test Plan

4

  • Approved Software Release Plan

  • Approved Marketing Launch Plan and Operations Plan

  • Approved Software Test Plan

4. Testing and validation

  • Execute final Test Plan

  • Decide to release

5

  • Pass release criteria

5. Launch

  • Execute Marketing Rollout Plan

  • Conduct project postmortem

  • Collect customer feedback and defect reports

  • Monitor business results

N/A

N/A

From an estimation point of view, stage-gate processes present both challenges and opportunities. The challenges tend to arise from the fact that many stage-gate processes were originally developed for hardware products, consumer goods, or other non-software products. While the basic frameworks of those processes are useful, they need to be tailored to software before they will be able to help software projects the way they help other kinds of product development.

One common challenge is that Development is often listed as a single stage (shown as Stage 3 in Table 17-1). The activities that occur during development represent 75% to 90% of the total work in a software project, and I would normally want to see more interim signs of progress during that stage than are implied by the single-gate review at the end of the stage. This is one situation in which you should feel free to revise your estimates periodically through such a stage to support effective project planning and control regardless of whether the organization encourages reestimation in the middle of the stage.

A second common issue is that the Scoping and Planning stages defined in Table 17-1 are often combined into a single stage. That essentially means that Gate 3 should occur at the point where the Cone of Uncertainty has narrowed to ±25%, which can be anywhere from 15% to 35% of the calendar time into the project. (Chapter 21, "Estimating Planning Parameters," discusses these percentages in more detail.) Nontechnical stakeholders often need to be educated about the extent of software development activities that must be completed to support a meaningful "Gate 3" review. The number and depth of activities are often greater than non-technical stakeholders expect.

Once you've educated nontechnical stakeholders about the mapping between the stage-gate process and the software life cycle, an SDLC provides powerful support for a standardized estimation procedure. It becomes natural to attach specific estimation ranges to the various gates of the SDLC, which helps to institutionalize the concept of estimation uncertainty.

Table 17-2 shows an example of how you might map estimation ranges onto an organization's SDLC.

Table 17-2: Typical Correspondence Between SDLC Gates and Estimates

SDLC Gate

Estimate Accuracy (for remainder of project)

Estimate Usage

1

-75%, +300%

Vision Estimate. For internal use only; do not publish outside of development group.

2

-50%, +100%

Exploratory Estimate. For internal company use only; do not publish externally.

3

-20%, +25%

Budget Estimate. OK to publish the high end of the range externally. Do not publish the lower number or midpoint.

4

-10%, +10%

Final Commitment Estimate. OK to publish the midpoint number externally.

Depending on the organization's focus, the Estimate Accuracy percentages might refer to variability in cost, effort, or features.

Tip #78 

Coordinate your Standardized Estimation Procedure with your SDLC.

The next two sections provide examples of standardized estimation procedures. Section 17.3 provides an example of a procedure for use on sequential projects, and Section 17.4 provides an example of a procedure for iterative projects.




Software Estimation. Demystifying the Black Art
Software Estimation: Demystifying the Black Art (Best Practices (Microsoft))
ISBN: 0735605351
EAN: 2147483647
Year: 2004
Pages: 212

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