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
   38   39   40   41   42   43   44   45   46   47   48