Page 152 -
P. 152

CHAPTER 5  SOFTWARE PROJECT PLANNING                               123

                              organizations have multiple constituencies that require access to the SEE, a project
                              planner must prescribe the time window required for hardware and software and
                              verify that these resources will be available.
                                When a computer-based system (incorporating specialized hardware and software)
                              is to be engineered, the software team may require access to hardware elements being
                              developed by other engineering teams. For example, software for a numerical con-
                              trol (NC) used on a class of machine tools may require a specific machine tool (e.g.,
                              an NC lathe) as part of the validation test step; a software project for advanced page-
                              layout may need a digital-typesetting system at some point during development. Each
                              hardware element must be specified by the software project planner.


                        5.5   SOFTWARE PROJECT ESTIMATION

                              In the early days of computing, software costs constituted a small percentage of the
                              overall computer-based system cost.  An order of magnitude error in estimates of
                “In an age of  software cost had relatively little impact. Today, software is the most expensive ele-
                outsourcing and  ment of virtually all computer-based systems.  For complex, custom systems, a large
                increased     cost estimation error can make the difference between profit and loss.  Cost overrun
                competition, the  can be disastrous for the developer.
                ability to estimate
                more accurately . . .  Software cost and effort estimation will never be an exact science.  Too many vari-
                has emerged as a  ables—human, technical, environmental, political—can affect the ultimate cost of
                critical survival factor  software and effort applied to develop it.  However, software project estimation can
                for many IT groups.”
                              be transformed from a black art to a series of systematic steps that provide estimates
                Rob Thomsett
                              with acceptable risk.
                                To achieve reliable cost and effort estimates, a number of options arise:

                               1. Delay estimation until late in the project (obviously, we can achieve
                                   100% accurate estimates after the project is complete!).
                               2. Base estimates on similar projects that have already been completed.
                               3. Use relatively simple decomposition techniques to generate project cost and
                                   effort estimates.
                               4. Use one or more empirical models for software cost and effort estimation.

                              Unfortunately, the first option, however attractive, is not practical. Cost estimates
                              must be provided "up front." However, we should recognize that the longer we wait,
                              the more we know, and the more we know, the less likely we are to make serious
                              errors in our estimates.
                                The second option can work reasonably well, if the current project is quite simi-
                              lar to past efforts and other project influences (e.g., the customer, business condi-
                              tions, the SEE, deadlines) are equivalent. Unfortunately, past experience has not
                              always been a good indicator of future results.
                                The remaining options are viable approaches to software project estimation. Ide-
                              ally, the techniques noted for each option should be applied in tandem; each used as
   147   148   149   150   151   152   153   154   155   156   157