Page 195 -
P. 195

166           PART TWO  MANAGING SOFTWARE PROJECTS



            QUICK         created in a manner that enables  work, (2) effort and timing are intelligently allo-
            LOOK          the software team to meet the  cated to each task, (3) interdependencies between
                          delivery deadline established.   tasks are properly indicated, (4) resources are allo-
           What is the work product? The project schedule and  cated for the work to be done, and (5) closely
              related information are produced.       spaced milestones are provided so that progress
           How do I ensure that I’ve done it right? Proper sched-  can be tracked.
              uling requires that (1) all tasks appear in the net-



                          "Everything's going well," said the youngster, “but I've run into a few small snags.
                       I'll get them ironed out and be back on track soon."
                          "How does the deadline look?" the boss asked.
                          "No problem," said the engineer. "I'm close to 90 percent complete."

                       If you've been working in the software world for more than a few years, you can fin-
                                                                            1
                       ish the story. It'll come as no surprise that the young engineer stayed 90 percent
                       complete for the entire project duration and finished (with the help of others) only
                       one month late.
                          This story has been repeated tens of thousands of times by software developers
                       during the past three decades. The big question is why?


                 7.1   BASIC CONCEPTS
                       Although there are many reasons why software is delivered late, most can be traced
                       to one or more of the following root causes:

                         •  An unrealistic deadline established by someone outside the software devel-
                            opment group and forced on managers and practitioner's within the group.
                         •  Changing customer requirements that are not reflected in schedule changes.

         “Excessive or   •  An honest underestimate of the amount of effort and/or the number of
          irrational schedules  resources that will be required to do the job.
          are probably the  •  Predictable and/or unpredictable risks that were not considered when the
          single most
          destructive influence  project commenced.
          in all of software.”  •  Technical difficulties that could not have been foreseen in advance.
          Capers Jones
                         •  Human difficulties that could not have been foreseen in advance.
                         •  Miscommunication among project staff that results in delays.
                         •  A failure by project management to recognize that the project is falling
                            behind schedule and a lack of action to correct the problem.
                       Aggressive (read "unrealistic") deadlines are a fact of life in the software business.
                       Sometimes such deadlines are demanded for reasons that are legitimate, from the

                       1  If you’re wondering whether this story is autobiographical, it is!
   190   191   192   193   194   195   196   197   198   199   200