Page 124 - DCAP304_DCAP515_SOFTWARE_PROJECT_MANAGEMENT
P. 124

Software Project Management




                    Notes          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 assumption allows the
                                   team to reach a temporary decision, knowing that the final decision is still open. Writing down
                                   the assumption allows  the team to go back and  revise the  estimate later  if it  turns out the
                                   assumption is wrong—which means that it is vital that everyone understands that the assumptions
                                   are allowed to be incorrect. That way, if the team estimated that they would build a command-
                                   line program but later the decision was made to go with a full user interface, everyone will be
                                   able to explain why the schedule is delayed.

                                   Another benefit of discussing assumptions is that it brings the team together very early on in the
                                   project to make progress on important decisions that will affect development. It’s all too common
                                   for a developer to make estimates after reading the vision and scope document but before ever
                                   talking to anyone about the details of the project. Even if she writes down her assumptions, she
                                   has almost certainly missed many others. A moderated discussion of assumptions gives the
                                   project team a very effective forum to discuss the unknowns of the project. Identifying unknowns
                                   eliminates the source of many inaccuracies in the estimates.
                                   One side effect of writing down the assumptions is that it puts pressure on the senior managers
                                   to allow the project to be estimated again if any of the assumptions prove to be incorrect. This is
                                   why the project manager  should plan on having the vision and scope document updated to
                                   include any new assumptions that were identified during the estimation session. This gives the
                                   stakeholders and management a chance to review those assumptions and accept or reject them
                                   very early on, before they have had a chance to interfere with the development of the software.
                                   By having the senior managers review the assumptions, a project manager can reduce a source
                                   of future project delays.




                                      Task  Explain how assumptions can help find a compromise to resolve disagreements.

                                   Distrust Can Undermine Estimates

                                   Estimates can either be a source of trust or distrust between the project team and their managers.
                                   If the team knows that they are given the opportunity to fully justify their estimates, and that
                                   they will be allowed to reestimate if the scope of the project changes, that they won’t be punished
                                   for making an honest mistake in estimation, then each team member will work very hard to
                                   produce accurate estimates. In this case, estimation can be an effective tool for team motivation.
                                   Estimates are most accurate when everyone on the project team feels that he was actively part of
                                   the estimation process. Every team member feels a personal stake in the estimates, and will
                                   work very hard to meet any schedule based on those estimates.
                                   Estimation is, by its nature, a politically charged activity in most organizations. When a team is
                                   asked to create estimates for work, they are essentially being asked to define their own schedule.
                                   Stakeholders need the project completed but usually do not have software engineering experience,
                                   so they may not be equipped to understand why a project will take, say, six months instead of
                                   three. For this reason, project managers must take care to make the estimation process as open
                                   and honest as possible so that the stakeholders can understand what’s going on.






          118                               LOVELY PROFESSIONAL UNIVERSITY
   119   120   121   122   123   124   125   126   127   128   129