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