Page 43 -
P. 43
If two people widely disagree on how long a task will take, it’s likely that the source of that
disagreement is that each person made different assumptions about details of the work prod-
uct or the strategy for producing it. In other words, any disagreement is generally about
what is required to perform the task itself, not about the effort required to complete it. For
example, given the same vision and scope document for a tool that sets the computer clock,
two different developers might come up with wildly different estimates. But it might turn
out that one developer assumed that the implementation would have a simple command-
line interface, while the other assumed that there would be a complete user interface that
had to integrate tightly with the operating system’s control panel. By helping the program-
mers discuss these assumptions and come to a temporary resolution about their differences,
the project manager can help them agree on a single estimate for the task.
A project manager can help the team create more accurate estimates by reducing the
uncertainty about the project. The most effective way to do this is to do a thorough job
creating a vision and scope document (see Chapter 2)—the more accurate and detailed it
is, the more information the team has to work with when generating their estimate. The
project manager can also ensure that the team has reached a consensus on the tasks that
must be performed. Finally, the project manager can lead the team in a discussion of
assumptions.
Assumptions Make Estimates More Accurate
Once the team has agreed upon a WBS, they can begin to discuss each task so they can
come up with an estimate. At the outset of the project, the team members do not have all of
the information they need in order to produce estimates; nevertheless, they need to come
up with numbers. To deal with incomplete information, they must make assumptions about
the work to be done. By making assumptions, team members can leave placeholders for
information that can be corrected later, in order to make the estimate more accurate.
For the estimates to be most effective, the assumptions must be written down. Important
information is discovered during the discussion that the team will need to refer back to
during the development process, and if that information is not written down, the team
will have to have the discussion all over again. If an assumption turns out to be incorrect,
the schedule will need to be adjusted; they will be able to point to the exact cause of the
delay by showing that a documented assumption turned out to be incorrect. This will help
the project manager explain any resulting schedule delay to others in the organization and
avoid that source of delays in the future. The assumptions also provide a way to keep a
record of team decisions, share those decisions with others, and find errors in their deci-
sions. (The assumptions should be added to the “Assumptions” section of the vision and
scope document—see Chapter 2.)
The team should hold a brainstorming session to try to identify as many assumptions as
possible. The bigger the list of assumptions, the lower the overall risk for the project. A
project manager may get better results from this session by helping the team see how
these assumptions can work to their benefit. Any software engineer who has had a bad
experience with an estimate that has turned out to be inaccurate will appreciate the value
ESTIMATION 35