GENERIC
DELPHI ESTIMATION PROCESS
@(#)delphi.htm 3.5 - 03/08/02
The Generic UWF Maintenance Process (GUMP) 1994, 1995, 1996 The
University of West Florida. All rights reserved.
Permission is granted to reproduce and adapt this document provided
credit is given to the University of West Florida. This documentation is
provided "as is" and no warranty of fitness for any particular
purpose is made or implied.
ABSTRACT
This document is the Generic Delphi Estimation Process document for the
generic maintenance process for the University of West Florida. This
document describes the estimation process, the activities required to be
performed, and the associated responsibilities of each team member for
estimating project duration for the generic maintenance process
architecture. The method described herein employs the Delphi estimation
technique.
TABLE OF CONTENTS
ABSTRACT
LIST OF FIGURES
LIST OF TABLES
1.0 INTRODUCTION
1.1 BACKGROUND INFORMATION
1.1.1 History of the Delphi Estimation Process
1.1.2 Employment of Delphi in Other Organizations
1.1.3 Results of Other Estimation Methods
1.1.3.1. GUMP Estimation Methodology
1.1.3.2. Implementation of GUMP Estimates
1.1.3.3. GUMP Historical Data
1.1.3.4. Accuracy of GUMP Estimates
1.2 Advantages of the Delphi Estimation Process
1.3 Disadvantages of the Delphi Estimation Process
2.0 DELPHI ESTIMATION PROCESS
2.1 ROLES AND RESPONSIBILITIES
2.1.1 The Delphi Estimation Team
2.1.2 Responsibilities
2.2 PROCEDURES
3.0 DOCUMENTATION
REVISION HISTORY
APPENDIX A
BIBLIOGRAPHY
GLOSSARY
LIST OF FIGURES
Figure 1. Delphi Estimation Form
Figure 2. Sample First Round Estimation Form
Figure 3. Sample Second (or subsequent) Round
Estimation Form
LIST OF TABLES
Table 1. GUMP Estimation Accuracy
1.0 INTRODUCTION
1.1 BACKGROUND INFORMATION
1.1.1 History of the Delphi Estimation Process
The Rand Corporation developed the Wideband Delphi Technique in 1948.
Its goal was to provide a process for achieving expert consensus without
group conflict. Its initial purpose was the estimating of probable
effects of a massive atomic bombing attack on the United States. It
has subsequently been applied in the technological forecasting area and
its use has proliferated in the United States and abroad.
The Wideband Delphi Technique has been applied to normative forecasting,
ascertainment of values and preferences, quality of life issues,
simulated and real decision making. Delphi has been applied to a
process called "inventive planning" by which is meant the identification
including invention of potential measures. These measures might be
taken to deal with a given problem situation and the assessment of such
proposed measures with regard to their feasibility, desirability, and
effectiveness.
This procedure states that a group of experts is formed and asked not to
discuss their work with one another. They give estimates of the product
individually and anonymously. These estimates are collected and a
coordinator assesses them. This assessment has to fall within an
acceptable range, otherwise the coordinator asks for revised estimates,
this process continues until a consensus is reached.
Overall, this process usually works well, but may be expensive and time
consuming.
1.1.2 Employment of Delphi in Other Organizations
The Wideband Delphi technique is widely taught in universities and
software organizations. After researching estimation techniques used by
software organizations, we found a very interesting tenet. Several
software organizations utilize the technique, without claiming the
inheritance. Thus, even though there are few organizations who claim
utilization of the Delphi technique, the methodology is widely prevalent.
The Wideband Delphi Technique is also used by many organizations outside
the software industry. Once again, it seems that the software industry
is behind the power curve in adopting useful methodologies resident in
other engineering organizations. Thus, our initiative to make the
Wideband Delphi technique an integral part of GUMP.
1.1.3 Results of Other Estimation Methods
1.1.3.1. GUMP Estimation Methodology
GUMP estimates are presented in the form of man-hours for each tisk. The
estimated man-hours are compared to the actual man-hours documented for
tisk completion. Estimates are arrived at based on prior experience and
best guess.
1.1.3.2. Implementation of GUMP Estimates
The GUMP software estimates are accomplished in process block 300
(Analyze) and are documented in the tisk analysis
report. The estimates in the tisk analysis report typically cover detailed
design, implementation, unit testing, and independent verification and
validation. The actual man-hours are based on time card data and are
recorded in the metrics summaries. The metrics summaries list man-hours
for process blocks 500 (Implementation), 600 (IV&V), and 700 (Wrap Up).
1.1.3.3. GUMP Historical Data
The historical accuracy of GUMP estimates is shown in Table 1. The
estimated hours were obtained from tisk analysis reports. The actual hours
came from metrics summaries. The variance was calculated using the
formula:
Variance = ((Estimate / Actual) - 1) x 100%
A variance of zero indicates the estimate exactly matches the actual. A
positive variance indicates an overestimate. A negative variance
indicates an underestimate. As the magnitude of the variance increases,
the accuracy of estimate decreases. A positive variance represents the
percentage of actual hours that were included in the estimate, but were
not used. A negative variance represents the percentage of actual hours
that were not accounted for in the estimate. In tisk T005, for example,
29 hours were estimated and 71.5 hours were actually expended. Therefore,
59.4 percent of the actual hours were not included in the estimate.
| TISK |
ESTIMATE
( HOURS ) |
ACTUAL
( HOURS ) |
VARIANCE
(%) |
| T003 |
185.00 |
111.8 |
+65.5 |
| T005 |
29.00 |
71.5 |
-59.4 |
| T006 |
82.00 |
173.5 |
-52.7 |
| T007 |
20.00 |
22.5 |
-11.1 |
| T008 |
48.00 |
229.0 |
-79.0 |
| T009 |
65.00 |
202.0 |
-67.8 |
| T010 |
56.00 |
112.0 |
-50.0 |
| T011 |
23.25 |
125.7 |
-81.5 |
| T015 |
37.00 |
30.8 |
+20.3 |
| T016 |
120.00 |
74.5 |
+61.1 |
| T017 |
366.00 |
526.5 |
-30.5 |
| T018 |
28.00 |
87.0 |
-67.8 |
| T021 |
27.00 |
36.8 |
-26.5 |
| T022 |
7.50 |
30.5 |
-75.4 |
| T023 |
2.00 |
44.0 |
-95.5 |
| T024 |
15.50 |
91.0 |
-83.0 |
| T025 |
55.00 |
71.0 |
-22.5 |
Table 1. GUMP Estimation Accuracy.
1.1.3.4. Accuracy of GUMP Estimates
Based on the data in Table 1, GUMP estimates were off by an average of
55.9 percent. The estimates also tended to underrate the actual work
required. In 82 percent of the cases the effort was underestimated. The
historically high level of inaccuracy in the GUMP estimates indicates that
adoption of the Delphi estimation method may be beneficial.
1.2. Advantages of the Delphi Estimation Process
- Free of social pressure, personality influence, and individual dominance
- Allows sharing of information and reasoning among participants
- Conducive to independent thinking and gradual formulation
- Respondent panel provides broad analytical perspective on problems and
issues
- Can be used to reach consensus among groups hostile towards each other
1.3. Disadvantages of the Delphi Estimation Process
- Judgments are those of a selected group, and may not represent prevailing opinion
- Tendency to eliminate extreme positions and force middle-of-the-road consensus
- More time-consuming than nominal group process
- Requires skill in written communication
- Requires adequate time and participant commitment (may require 30 to 45
days to complete entire process)
2.0 DELPHI ESTIMATION PROCESS
2.1 ROLES AND RESPONSIBILITIES
2.1.1 The Delphi Estimation Team
The Delphi Estimation Team shall consist of at least four estimators.
The estimators will be, as a minimum:
- The Project Coordinator (PC)
- At least one representative from IV&V
- Optimally four Software Engineers, but as a minimum two Software
Engineers
EXCEPTION: When Delphi is being used to estimate an IV&V process,
the estimation team shall include the PC and all members of the IV&V team.
2.1.2 Responsibilities
PC: The PC shall be the single point of contact for the Delphi
estimation documents dissemination and collection. The PC shall conduct
the balloting process for each round of estimation. The PC will then
forward the ballots to the Metrics section for data collection,
maintenance, and analysis. The PC will also act as the tiebreaker, if
the need arises.
IV&V: IV&V uses the estimation data to monitor the progress of the
software engineering groups(s) in preparation for testing new changes.
IV&V also uses the data to monitor their own progress and effectiveness
at estimating their own testing requirements.
SQA: The SQA will use these metrics to ensure that the software
engineers are maintaining a proper course and heading. If the engineers
begin to vastly deviate from the estimation metrics, the SQA members will
promptly bring this matter to everyone’s attention. This will permit the
initiation of corrective action, or in extreme cases, a call for another
Delphi Estimation.
SEPG: The SEPG will use these metrics to monitor the software
engineering activities of the engineering groups. The SEPG will also
maintain these metrics in the SEPG database. The SEPG will control and
assist any changes necessitated by multiple rounds of the estimation
process.
Software Engineers: The Software Engineers are responsible for
using the resultant metrics as a guideline for timeline production, and
work scheduling. They will also use these metrics to track their
performance, and to inform the PC of any forthcoming problems.
2.2 PROCEDURES
Many variations of the Delphi technique can be created. The following
steps outline our approach for using the Delphi technique:
- After sufficient familiarization with the tisk requirements, each
estimator is given an estimation form as shown in Figure 1 of Appendix A.
- The estimators meet to discuss the tisk and any estimation issues.
- Each independently completes the estimation form.
- The estimates are given to the Project Coordinator, who tabulates the
results and returns them to the estimators on an estimation form with the
previous round's data filled in on the table as shown in Figure 3 of
Appendix A.
- Only the estimator’s personal estimates are identified, all others
are anonymous.
- The estimators may meet to discuss the results and revise their estimates
as they feel appropriate.
- This cycle is repeated until the estimates converge to an acceptable
range or until the completion of three cycles, whichever occurs first.
3.0 DOCUMENTATION
- The Delphi estimation process requires the use of an estimation form
(shown in Figures 1 through 3, Appendix A).
- The tisk number, the estimator's name, and the estimation date should
be entered in the appropriate blocks on the form. Each requirement is
identified by number from the Analysis Report.
- Estimators provide estimates for each requirement on a separate
estimation form.
- Estimates are based on the lines of code (LOC) and lines of
documentation (LOD) to be inserted and deleted (Ins+Del) to implement
the various requirements. Estimates for each requirement are entered
in the LOC and LOD columns on the form(s).
- Person-hour estimates are made for each of the process blocks/cells
in which development and testing work is to be done (cells 502, 503, 504, 505, and 601). Estimates may be given in whole hours or hours and
tenths of hours.
- For each subsequent estimation cycle, the same estimation form is
used. Statistics from the previous estimation cycle are provided for
each requirement. These include:
- the estimator's previous estimate,
- other highest and lowest estimates of the other estimators, and
- the average estimate.
Additional space is provided for re-estimates of any or all of the
estimator's previous estimates. If any re-estimates are made, the
estimator may explain the rationale for each re-estimate at the bottom
of the form.
REVISION HISTORY
February 2001
Bonnie Currey
Made changes to reflect new process cell numbers
April 1999
Joel Cook
Made Changes to Reduce Process Overhead
August 1998
Robert Penley
Converted Document to HTML Format
June 1998
Joel Cook, Shelly Wherley
Preliminary Document
APPENDIX A
Delphi Estimation Form
Name: _____________________________________  
  Date: _____________________
Tisk #: ___________________  
Requirement #: _______________________
Note: Use a separate ballot for each tisk and/or requirement being estimated.
Estimation Round (circle selection):  
    1    
  2       3
|
  |
LOC Ins+Del |
LOD Ins+Del |
502 (Hours) |
503 (Hours) |
504 (Hours) |
505 (Hours) |
601 (Hours) |
|
Highest Estimate |
  |
  |
  |
  |
  |
  |
  |
|
Average Estimate |
  |
  |
  |
  |
  |
  |
  |
|
Lowest Estimate |
  |
  |
  |
  |
  |
  |
  |
|
Your Previous Estimate |
  |
  |
  |
  |
  |
  |
  |
|
Your New Estimate |
  |
  |
  |
  |
  |
  |
  |
Note: First round estimates will have no data in the table above.
Estimators complete only the bottom row of the table in any round.
Estimator's Comments:
Figure 1: Delphi Estimation Form
Delphi Estimation Form
Name: __Joe Programmer_____________  
  Date: _____________________
Tisk #: __T038______  
Requirement #: _2.1________________
Note: Use a separate ballot for each tisk and/or requirement being estimated.
Estimation Round (circle selection):  
    (1)  
  2       3
|
  |
LOC Ins+Del |
LOD Ins+Del |
502 (Hours) |
503 (Hours) |
504 (Hours) |
505 (Hours) |
601 (Hours) |
|
Highest Estimate |
  |
  |
  |
  |
  |
  |
  |
|
Average Estimate |
  |
  |
  |
  |
  |
  |
  |
|
Lowest Estimate |
  |
  |
  |
  |
  |
  |
  |
|
Your Previous Estimate |
  |
  |
  |
  |
  |
  |
  |
|
Your New Estimate |
85 |
15 |
65 |
10 |
2 |
30 |
5 |
Note: First round estimates will have no data in the table above.
Estimators complete only the bottom row of the table in any round.
Estimator's Comments:
Figure 2: Sample First Round Estimation Form
Delphi Estimation Form
Name: __Joe Programmer_____________  
  Date: _____________________
Tisk #: __T038______  
Requirement #: _2.1________________
Note: Use a separate ballot for each tisk and/or requirement being estimated.
Estimation Round (circle selection):  
    1  
  (2)       3
|
  |
LOC Ins+Del |
LOD Ins+Del |
502 (Hours) |
503 (Hours) |
504 (Hours) |
505 (Hours) |
601 (Hours) |
|
Highest Estimate |
100 |
20 |
95 |
25 |
10 |
50 |
10 |
|
Average Estimate |
80 |
15 |
72.5 |
20 |
5 |
32 |
8 |
|
Lowest Estimate |
60 |
10 |
50 |
10 |
2 |
20 |
2 |
|
Your Previous Estimate |
85 |
15 |
65 |
10 |
2 |
30 |
5 |
|
Your New Estimate |
  |
  |
  |
  |
  |
  |
  |
Note: First round estimates will have no data in the table above.
Estimators complete only the bottom row of the table in any round.
Estimator's Comments:
Figure 3: Sample Second (or subsequent) Round
Estimation Form
BIBLIOGRAPHY
Boehm, Barry W., Software Engineering Economics, Prentice-Hall, New
Jersey, 1981
Helmer-Hirschberg, O., Social Technology, Basic Books, New York, 1966
Hiltz, Starr Roxanne, Group-Based Estimation Methods: DELPHI
Humphrey, Watts S., Managing the Software Process, SEI Series in Software
Engineering, Addison-Wesley, 1989
Schach, Stephen R., Classical and Object-Oriented Programming, Richard D.
Irwin, Chicago, 1996
Tomayko, Dr. James E., Sizing Software
http://www.cs.cmu.edu/~SW_Managemnt/html/mod_1/mod_1_3.html
Turoff, Murray; Hiltz, Starr Roxanne, Computer Based Delphi Processes
http://eies.njit.edu/~turoff/Papers/delphi3.html
GLOSSARY
Ins+Del
Inserted and Deleted
IV&V
Independent Verification and Validation
LOC
Lines of Code
LOD
Lines of Documentation
PC
Project Coordinator
SEPG
Software Engineering Process Group
SQA
Software Quality Assurance