Home Software Project Planning Practices Wideband Delphi estimation process
|
Wideband Delphi estimation process |
|
|
To someone who has never estimated a project in a structured way,
estimation seems little more than attempting to predict the future.
This view is reinforced when off-the-cuff estimates are inaccurate and
projects come in late. But a good formal estimation process, one that
allows the project team to reach a consensus on the estimates, can
improve the accuracy of those estimates, making it much more likely
that projects will come in on time. Wideband Delphi is an estimation
process process that is straightforward to implement. Using it, a
project manager can help the team to create successful estimates for
any software project by using sound techniques and understanding what
makes estimates more accurate.
The Delphi Process
The Wideband Delphi estimation method was developed in the 1940s
at the Rand Corporation as a forecasting tool. It has since been
adapted across many industries to estimate many kinds of tasks, ranging
from statistical data collection results to sales and marketing
forecasts. It has proven to be a very effective estimation tool, and it
lends itself well to software projects. The repeatable process for
Wideband Delphi presented here was developed in the 1990s by Mary Sakry
and Neil Potter of The Process Group.
To use Wideband Delphi, the project manager selects a moderator and an
estimation team with three to seven members. The Delphi process
consists of two meetings run by the moderator. The first meeting is the
kickoff meeting, during which the estimation team creates a WBS and
discusses assumptions. After the meeting, each team member creates an
effort estimate for each task. The second meeting is the estimation
session, in which the team revises the estimates as a group and
achieves consensus. After the estimation session, the project manager
summarizes the results and reviews them with the team, at which point
they are ready to be used as the basis for planning the software
project.
| Name |
Wideband Delphi script
|
| Purpose |
A project team generates estimates and a work breakdown structure.
|
Summary
|
A repeatable process for estimation. Using it, a project
team can generate a consensus on estimates for the completion of the
project. |
Work Products
|
Input
Vision and scope document, or other documentation that defines the scope of the work product being estimated
Output
Work breakdown structure (WBS)
Effort estimates for each of the tasks in the WBS
|
Entry Criteria
|
The following criteria should be met in order for the Delphi process to be effective:
- The vision and scope document (or other documentation that
defines the scope of the work product being estimated) has been agreed
to by the stakeholders, users, managers and engineering team. If no
vision and scope document is available, there must be enough supporting
documentation for the team to understand the work product.
- The kickoff meeting and estimation session have been scheduled, with at least two hours allowed for each.
- The project manager and the moderator agree on the goal of
the estimation session by identifying the scope of the work to be
estimated.
|
Basic Course of Events
|
- Choose the team. The project manager selects the
estimation team and a moderator. The team should consist of 3 to 7
project team members. The team should include representatives from
every engineering group that will be involved in the development of the
work product being estimated.
- Kickoff meeting. The moderator
prepares the team and leads a discussion to brainstorm assumptions,
generate a WBS and decide on the units of estimation.
- Individual preparation. After
the kickoff meeting, each team member individually generates the
initial estimates for each task in the WBS, documenting any changes to
the WBS and missing assumptions.
- Estimation session. The
moderator leads the team through a series of iterative steps to gain
consensus on the estimates. At the start of the iteration, the
moderator charts the estimates on the whiteboard so the estimators can
see the range of estimates. The team resolves issues and revises
estimates without revealing specific numbers. The cycle repeats until
either no estimator wants to change his or her estimate, the estimators
agree that the range is acceptable or two hours have elapsed.
- Assemble tasks.
The project manager works with the team to collect the estimates from
the team members at the end of the meeting and compiles the final task
list, estimates and assumptions.
- Review results. The project manager reviews the final task list with the estimation team.
|
Alternative
Paths
|
- During step 1, if the team determines that there is not
enough information known about the project to perform an estimate, the
script ends. Before the script can be started again, the project
manager must document the missing information by creating or modifying
the vision and scope document (see Chapter 2).
- During either step 1 or 3, if the team determines that
there are outstanding issues that must be resolved before the estimate
can be made, they agree upon a plan to resolve the issues and the
script ends.
|
Exit Criteria
|
The script ends after the team has either generated
a set of estimates or has agreed upon a plan to resolve the outstanding
issues.
|
Kickoff Meeting
The moderator leads the meeting, which consists of the following activities:
- The moderator explains the Wideband Delphi method to any new estimators.
- If any team member has not yet read the vision and scope document
and supporting documentation, the moderator reviews it with the team.
(If this happens, the meeting should be expected to take an extra
half-hour to hour.)
- The moderator reviews the goal of the estimation session with the
team, and checks that each team member is sufficiently knowledgeable to
contribute.
- The team discusses the product being developed and brainstorms any assumptions.
- The team generates a task list consisting of 10-20 major tasks.
These tasks represent the top level of the work breakdown
structure—additional detail can be generated later and/or discussed in
the assumptions. This high-level task lists is the basis for the
estimates that are going to be created.
- The team agrees on the units of estimation (days, weeks, pages, classes, etc.).
Individual Preparation
After the kickoff meeting, the moderator writes down all of the
assumptions and tasks that were generated by the team during the
kickoff meeting and distributes them to the estimation team. Each team
member independently generates a set of preparation results, a document
which contains an estimate for each of the tasks, any assumptions that
the team member made in order to create the estimates and any
additional tasks which should be included in the WBS but which the team
missed during the kickoff meeting. (The figure below shows the format
of the individual preparation results.) Each team member builds
preparation results by first filling in the tasks, and then estimating
the effort for each task. An estimate for each task should be added to
the “Tasks to achieve goal” section of the preparation results; the
“Time” column should contain the estimate for each task.


Individual Preparation Results
Estimation session
The estimation session starts with each estimator filling out an
estimation form. Blank estimation forms should be handed out to meeting
participants, who fill in the tasks and their initial estimates from
their individual preparations. During the estimation session, the team
members will use these estimation forms to modify their estimates.
After the estimation session, they will serve as a record of each team
member’s estimates for the individual tasks, which the project manager
uses when compiling the results.

Filled-in estimation form
(© The Process Group, copied with permission)
The moderator then leads the team through the estimation session:
1. The moderator collects all of the
estimate forms. The estimates are tabulated on a whiteboard by plotting
the totals on a line (see Figure 3-3). The forms are returned to the
estimators.

Initial estimates
2. Each estimator reads out clarifications and
changes to the task list written on the estimation form. Any new or
changed tasks, discovered assumptions or questions are raised. Specific
estimate times are not discussed.
3. The team resolves any issues or disagreements that
are brought up. Since individual estimate times are not discussed,
these disagreements are usually about the tasks themselves, and are
often resolved by adding assumptions. When an issue is resolved, team
members should write clarifications and changes to the task list on
their estimation forms. This usually takes about 40 minutes for the
first round, and 20 minutes for the following rounds.
4. The estimators all revise their individual
estimates by filling in the next “Delta” column on their forms. (Using
a delta allows the estimators to write “+4” or “-3” to add 4 or remove
3 from the estimate. They write the new total at the bottom of the
sheet.)
This cycle repeats until either all estimators agree that the range is
acceptable, the estimators feel they do not need to change their
estimates, or two hours have elapsed.
Converging estimate results
|
|
|
|