PRACTICAL TIP: 2-1
As Seattle University's David Umphress has
pointed out, watching most organizations develop systems is like watching
reruns of Gilligan's Island. At the beginning of each episode,
someone comes up with a cockamamie scheme to get off the island that seems to
work for a while, but something goes wrong and the castaways find themselves
right back where they started—stuck on the island. Similarly, most companies
start new projects with grand ideas that seem to work, only to make a classic
mistake and deliver the project behind schedule, over budget, or both. Here we
summarize four classic mistakes in the planning and project management aspects
of the project and discuss how to avoid them:
1. Overly
optimistic schedule: Wishful thinking can lead to an overly optimistic schedule that
causes analysis and design to be cut short (missing key requirements) and puts
intense pressure on the programmers, who produce poor code (full of bugs).
Solution: Don't inflate time estimates; instead, explicitly schedule slack
time at the end of each phase to account for the variability in estimates,
using the margins of error from Figure 2-19.
2. Failing
to monitor the schedule: If the team does not regularly report
progress, no one knows if the project is on schedule.
Solution: Require team members to honestly report progress (or the lack of
progress) every week. There is no penalty for reporting a lack of progress, but
there are immediate sanctions for a misleading report.
3. Failing
to update the schedule: When a part of the schedule falls behind
(e.g., information gathering uses all of the slack in item 1 above plus 2
weeks), a project team often thinks it can make up the time later by working
faster. It can't. This is an early warning that the entire schedule is too
optimistic.
Solution: Immediately revise the schedule and inform the project sponsor
of the new end date or use timeboxing to reduce functionality or to move it
into future versions.
4. Adding
people to a late project: When a project misses a schedule, the
temptation is to add more people to speed it up. This makes the project take
longer because it increases coordination problems and requires staff to take
time to explain what has already been done.
Solution: Revise the schedule, use timeboxing, throw away bug-filled code,
and add people only to work on an isolated part of the project.
Source: Adapted
from Rapid Development, Redmond, WA: Microsoft Press, 1996, pp.
29–50, by Steve McConnell.
No comments:
Post a Comment