Page 197 -
P. 197

168           PART TWO  MANAGING SOFTWARE PROJECTS


                            rates for past projects and an estimate that we've done a number of different
                            ways. You'll note that I've assumed a 20 percent improvement in past pro-
                            duction rates, but we still get a delivery date that's 14 calendar months rather
                            than 9 months away."
                         4. Offer the incremental development strategy as an alternative:
                            “We have a few options, and I'd like you to make a decision based on them.
                            First, we can increase the budget and bring on additional resources so that
          XRef
                            we'll have a shot at getting this job done in nine months. But understand that
         Incremental process                                                   3
         models are described in  this will increase risk of poor quality due to the tight timeline. Second, we
         Chapter 2.         can remove a number of the software functions and capabilities that you're
                            requesting. This will make the preliminary version of the product somewhat
                            less functional, but we can announce all functionality and then deliver over
                            the 14 month period. Third, we can dispense with reality and wish the project
                            complete in nine months. We'll wind up with nothing that can be delivered to
                            a customer. The third option, I hope you'll agree, is unacceptable. Past his-
                            tory and our best estimates say that it is unrealistic and a recipe for disaster."
                          There will be some grumbling, but if solid estimates based on good historical data
                       are presented, it's likely that negotiated versions of option 1 or 2 will be chosen. The
                       unrealistic deadline evaporates.
                       7.1.2  Basic Principles

                       Fred Brooks, the well-known author of The Mythical Man-Month [BRO95], was once
                       asked how software projects fall behind schedule. His response was as simple as it
                       was profound: "One day at a time."
                          The reality of a technical project (whether it involves building a hydroelectric plant
                       or developing an operating system) is that hundreds of small tasks must occur to
                       accomplish a larger goal. Some of these tasks lie outside the mainstream and may
                       be completed without worry about impact on project completion date. Other tasks
                                           4
                       lie on the "critical” path. If these "critical" tasks fall behind schedule, the completion
                       date of the entire project is put into jeopardy.
         The tasks required to  The project manager’s objective is to define all project tasks, build a network that
         achieve the project  depicts their interdependencies, identify the tasks that are critical within the network,
         manager’s objective  and then track their progress to ensure that delay is recognized "one day at a time."
         should not be
         performed manually.  To accomplish this, the manager must have a schedule that has been defined at a
         There are many  degree of resolution that enables the manager to monitor progress and control the
         excellent project  project.
         scheduling tools. Use  Software project scheduling is an activity that distributes estimated effort across the
         them.
                       planned project duration by allocating the effort to specific software engineering tasks.


                       3  You might also add that adding more people does not reduce calendar time proportionally.
                       4  The critical path will be discussed in greater detail later in this chapter.
   192   193   194   195   196   197   198   199   200   201   202