Wide Band Delphi Estimation Process
1. Introduction
1.1 Software Project Task and Time Estimating
Task Estimation provides a project with a more accurate breakdown of the tasks needed to complete their project successfully. Each work unit is called a task. The tasks needed to complete the project will depend upon the start point of the project and the goal. This task list is commonly known as Work Breakdown Structure (WBS).
Time estimation takes each task identified and assigns a time duration, in days or weeks, to complete the task. The total time of the project will be the summation of the task times taking into account number of resources, task dependencies and resource availability.
Task and time estimating is a complex problem that is rarely done well.
This process contains the best known practices for generating accurate schedules.
1.2 Approach
To create a process which will help develop a WBS with estimated times for each task in the WBS. This approach should give the following benefits:
Improve accuracy of plan.
Gives project team commitment.
Provide an easy to use process.
2. Process Description
The estimation process is based upon a group technique called Wide band Delphi [1]. It helps experts in the estimation subject area to understand each others concerns. The group as a whole arrives at a common estimate as a result of the following process.
This estimation process can be used to create an initial plan and to refine existing plans. Running the process once every one or two months has shown to improve the accuracy of project plans
2.1 Participants
Project leader
The person who has overall control over the project plan and its execution. It is her/his responsibility to prepare for an estimation session by providing all of the preparatory material to aid in estimation. One will assign a moderator for a session, organise an agenda, and pull together all of the participants (i.e. estimators). The project leader will also be an estimator.
All the tasks identified in the FOLLOW-UP session should be completed or tracked to completion by the Project Leader.
Estimators
Those people who have specific knowledge of the subject being estimated, in particular all the project staff who will be assigned in the project plan. Where necessary people from external projects/sources may be brought in for their experience in similar areas. e.g. estimating PASCAL to C conversion or documentation projects.
It is essential that all project staff be included to assist project team buy-in to the estimation and the final plan.
The estimator's responsibility is to review any preparatory material and to provide their estimates after preparation and in the CONDUCT ESTIMATION MEETING.
Moderator
The moderator controls the Delphi estimation session. One ensures that the process is followed and that the goal is clearly understood by the team. The moderator must be fully conversant with the process and be able to control meetings effectively.
He or she can and is encouraged to play an active part in the estimation. An external view on the estimation area is sometimes invaluable. As the Project Leaders become familiar with the process they can take the role of moderators, but be aware that an impartial view is critical to a successful session.
The moderator ensures the agenda is followed and requests a scribe.
Scribe
The scribe could be any estimator or/and the Project Leader.
The scribe in the session should record:
The min, max. and average estimates.
When the team will next meet to review the finalized estimate and WBS.
Record action items.
Distribute meeting minutes. Minutes should include 1, 2, 3.
Record estimates in a project history file.
N.B. This process has not defined the content of a history file, but it encourages these estimates to be logged to help future estimates.
2.2 Preparation
The Project Leader should:
SET THE GOAL - Identify the area to be estimated and the goal of the estimation.
ASSUMPTIONS - Declare to all Estimators that the estimation is independent of dependencies of tasks and parallelism of tasks with multiple resources. Assume one resource working 100% for an 8 hour day, 5 days a week with tasks running sequentially. Project planning tools will handle the points above.
PREPARE AN AGENDA - For preparatory work and for the meeting. Indicate the expected length of the estimation session - typically 1 to 2 hours is sufficient. Over 2 hours would indicate bad preparation, not enough informed Estimators, false assumptions and/or poor moderation of the session.
IDENTIFY PEOPLE - Identify a moderator (e.g. SMG person) and experts.
IDENTIFY RELATED MATERIAL - Identify specifications, process descriptions or any related material which will help in the estimation process.
For new projects without an existing plan do not include any time estimates made outside of the first DELPHI session.
When trying to improve the accuracy of an existing plan it is helpful for the estimators to review the task list and task times to be well prepared to improve these.
GATHER HISTORICAL DATA - Identify similar and past projects and their estimates.
GET CHECKLISTS - Retrieve checklists for these processes. Checklist A - Task & Schedule Estimation
DISTRIBUTE MATERIAL - Distribute the agenda, related material, historical data and checklists to the estimators.
REQUEST FIRST PASS ESTIMATION - Instruct the estimators to individually, without conferring , develop the WBS and time estimates of the tasks needed to complete the item being estimated. The estimators should summate the times to give an overall total - see Form 1 Individual Task Estimation Form
BRIEF MODERATOR - Brief the moderator on the estimation goal.
All participants should have received an agenda, reviewed the estimation material and made their first pass estimates prior to the CONDUCT ESTIMATION MEETING
2.3 Conduct Estimation Meeting
The process is:
ASSIGN a SCRIBE. To record the results and action items.
STATE the GOAL. Moderator ensures the Project Leader and estimators understand the nature of item being estimated. Any assumption on the problem bust be made clear.
If the goal is to refine the current project plan then explain what part of the plan is being refined; all of it or part of it. The estimators should have thoroughly reviewed the plan prior to this meeting.
ASSUMPTIONS. The moderator makes clear that the estimation is independent of dependencies of tasks and parallelism of tasks with multiple resources. Assume one resource working 100% for an 8 hour day, 5 days a week with tasks running sequentially. Project planning tools will handle the points raised above.
TABULATE RESULTS. The moderator tabulates the range of results on a white board and then gives the estimation forms back to the estimators.
DISCUSS. Each estimator explains to the rest of group the tasks and activities in his/her list that have been added or changed. Do not discuss values of time estimates. If other estimators do not understand a change then explain until an agreement is reached. This includes:
- Tasks added
- Tasks deleted
- Increase or decrease in time estimates. Do not discuss the time values
- Assumptions
ITERATE. Each individual is then encouraged to modify their list to make it more accurate based on the information heard. Estimators at this point do not discuss their modifications.
SUMMATE and REPEAT. If changes are made the estimators should summate their new time estimates and hand them to the moderator. The process then continues from step 3.
AGREE. The cycle continues until the estimators are satisfied with their own estimate and do not want to change their task list or time estimates. If the summation of the time estimates on the white board have converged to an acceptable band width ( e.g., + or - 2 weeks) then proceed to step 7 otherwise follow step 6a.
RESOLVE. If an acceptable convergence is not seen each estimator should explain any assumption one has made e.g. assumed only 50% allocation time by the resource, limited access to the computing facilities etc. The process should then continue from step 5.
If no convergence is seen after repeating step 5 then finish this session from step 8. The Project Leader will follow-up the session trying to understand the estimations causing the variances using the individual estimation forms. Once understood the Project Leader may call a second session to communicate the reasons and hence refine the first set of estimates.
NEGOTIATE. Moderator will discuss how resource, functionality and quality can be negotiated to affect the estimate. He or she will discuss the introduction of phased release to enable negotiation of acceptable estimates and will ask the group to briefly discuss these points in preparation for more detailed planning in the FOLLOW-UP work.
RECORD. The final estimate should show min., max. and average.
CONCLUDE. The project planner (Project Leader or Project Leader assigned), will take each individual estimate form to develop an agreed WBS.
2.4 Follow-Up
After the group estimation, it is the project leader's responsibility to collate all the individual estimates and balance the group's estimates against customer and management expectations. The project leader will need to consider:
Creating a generic task list. See Checklist B - Generic Checklist Formation
Phasing the product release - will require priority assignments
Understanding task concurrency ie. PERT ANALYSIS
Assignment of resources
Loading the project plan to SPJ
Performing a 'what if' analysis
Once the estimates have been finalized and included into a plan, the Project Leader should call a project team meeting to review the finalized estimates before management commitment.
Forms & Checklists
Individual Task Estimation Form
Example of Individual Task Estimation Form
Checklist A - Task & Schedule Estimation
Checklist B - Generic Checklist Formation