Page 44 -
P. 44

of assumptions: they serve as a warning to the rest of the organization that the estimate is
                          contingent on the assumptions being true. If even one of these assumptions turns out to
                          be incorrect, the team cannot be “blamed” for the incorrect estimate that resulted.
                          While identifying assumptions is a skill that improves with experience, there are a set of
                          questions that can help a novice team member figure out what assumptions he or she
                          needs to make in order to properly estimate the software. The project manager (or a mod-
                          erator in a Wideband Delphi session—see below) can use these questions to help lead the
                          discussion to identify the assumptions:
                          • Are there project goals that are known to the team but not written in any documentation?

                          • Are there any concepts, terms, or definitions that need to be clarified?
                          • Are there standards that must be met 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 performed previously?

                          • 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 any issues that the team is known to disagree on that will affect the project?

                          The last bullet point is especially important. If one team member believes that the project
                          will go down one path while another team member believes the project will go down a
                          different path, the estimates could vary significantly, depending on which team member is
                          correct. For example, one team member may think that a certain off-the-shelf component
                          should be used because that is cheaper than building it, while another team member may
                          believe that they must build that component themselves because they cannot locate one
                          for sale which suits their particular needs. Instead of reaching an impasse, the team can
                          make an assumption—either assume that they will buy the component, or assume that
                          they will build it—which will enable them to move forward with the estimate. It should be
                          easier to reach an agreement at this point because it is not the final decision. By writing
                          down the assumption, the team keeps a record of the disagreement and leaves open the

                          possibility that this will change in the future. The written assumption will be especially
                          useful later while doing a risk assessment for the project plan because there is a risk that
                          the assumption is incorrect.

                          In other words, assumptions can help find a compromise to resolve disagreements. If two
                          team members disagree, the team can agree to write down an assumption to temporarily
                          resolve the issue for the purposes of the estimate. It’s much easier to get people to agree
                          on one answer temporarily by agreeing to revisit the issue later.

                          Discussing and writing down the assumptions in a team setting helps the team to identify
                          potential roadblocks. For example, the team may have a genuine disagreement about
                          whether or not to develop a user interface for their clock-setting application. The assump-
                          tion allows the team to reach a temporary decision, knowing that the final decision is still


                   36  CHAPTER THREE
   39   40   41   42   43   44   45   46   47   48   49