Estimation
Chapter 3
Applied Software Project Management, Stellman & Greene
Decomposing a project into tasks
By feature By project phase Some combination
The most accurate estimates... Rely on prior experience
Teams review previous project results Find how long previous projects took
Estimates will change because: People leave the project/get sick Technical problems arise Needs of the organization change
The unexpected will almost certainly happen
Two people may disagree on how long a task will take...
Generally because of assumptions on what is required
A good project manager can reduce the uncertainty by creating the vision and scope document
Assumptions
Help when dealing with incomplete information
Should be written down and discussed Brainstormed by team to identify as
many assumptions as possible
Questions to help identify assumptions Are there project goals that are known to the team, but are
not written down? Are there any concepts, terms, or definitions that need to be
clarified? Are there standards that must be me, but will be expensive
to comply with? How will the development of this project differ from that of
previous projects? Will there be new tasks added that were not previously performed?
Are there technology and architecture decisions that have already been made?
What changes are likely to occur elsewhere in the organization that could cause this estimate to be inaccurate?
Are there issues that the team is known to disagree on that will affect the project?
Distrust can undermine estimates
Politics “Rule” of cutting by third, half... Lack of trust may cause engineers to
inflate their estimates
Wideband Delphi Estimation
Developed in 1940s by Rand Corp. for forecasting
This process produces: Set of estimates for the schedule WBS List of assumptions (for Vision &Scope) Discussion and time to correct each other
Depends on Vision and Scope document
Delphi Process led by moderator Kickoff meeting
Create WBS and list of assumptions After the meeting each member creates an
effort estimate for each task
Estimation session Team revises estimates as a group and reaches
consensus
Then project manager summarizes results and reviews with team
See Table 3-1
Details...
Each team member must make an effort to estimate each task honestly
Free flow of information is essential Sessions can get heated Include observers to sit in on the
meetings: stakeholders, users, managers
Role of the moderator
Should ideally not have a stake in the project Listens to discussion Asks open-ended questions Challenges team to address the issues Ensures that everyone is contributing
Kickoff meeting Meeting activities
Moderator explains the process All read the Vision and Scope if they have not Moderator goes over the goal statement
prepared by the PM and the moderator Team discusses the product and brainstorms
assumptions Team generates a task list of ~10-20 major
tasks => top level of WBS Team agrees on units of estimation (days,
weeks, pages, etc.) WBS is generated
Individual preparation Each team member generates a set of
preparation results as shown in Figure 3-1 Task list with units of effort Calendar waiting time Project overhead tasks
Estimation session Members bring their individual work and ...
1. Fill out estimation forms as in Figure 3-2: one row for each task and totaled
2. Moderator collects and plots totals on a line: Figure 3-3
3. Each estimator gives clarification and changes to the task list
4. Team resolves issues or disagreements5. Estimators revise their estimates by filling in the
next Delta column Cycle repeats until agreement or two hours
Assembling tasks and Reviewing results
Figure 3-5 shows each estimator’s final estimates
Best and worst cases are shown Assumptions are put in final form and
now entered into Vision and Scope What happens when one team
member continues to disagree?
Other Techniques PROBE COCOMO II The Planning Game
For Next Time: Vision and Scope Readings