Page 168 -
P. 168

CHAPTER 5  SOFTWARE PROJECT PLANNING                               139

                              scope of this book and is best left to others (e.g., [MIN95]). However, a brief review
                              of the pros and cons of the decision is worthwhile.
                                On the positive side, cost savings can usually be achieved by reducing the num-
               WebRef         ber of software people and the facilities (e.g., computers, infrastructure) that support
               Useful information  them. On the negative side, a company loses some control over the software that it
               (papers, pointers) on
               outsourcing can be found  needs. Since software is a technology that differentiates its systems, services, and
               at             products, a company runs the risk of putting the fate of its competitiveness into the
               www.outsourcing.  hands of a third party.
               com
                                The trend toward outsourcing will undoubtedly continue. The only way to blunt
                              the trend is to recognize that software work is extremely competitive at all levels.
                              The only way to survive is to become as competitive as the outsourcing vendors them-
                              selves.


                        5.9   AUTOMATED ESTIMATION TOOLS

                              The decomposition techniques and empirical estimation models described in the pre-
                              ceding sections are available as part of a wide variety of software tools. These auto-
                              mated estimation tools allow the planner to estimate cost and effort and to perform
                              "what-if" analyses for important project variables such as delivery date or staffing.
                              Although many automated estimation tools exist, all exhibit the same general char-
                              acteristics and all perform the following six generic functions [JON96]:
                               1. Sizing of project deliverables. The “size” of one or more software work
                                   products is estimated. Work products include the external representation of
                                   software (e.g., screen, reports), the software itself (e.g., KLOC), functionality
                                   delivered (e.g., function points), descriptive information (e.g. documents).
                  Estimation tools  2. Selecting project activities. The appropriate process framework (Chapter
                                   2) is selected and the software engineering task set is specified.
                               3. Predicting staffing levels. The number of people who will be available to
                                   do the work is specified. Because the relationship between people available
                                   and work (predicted effort) is highly nonlinear, this is an important input.
                               4. Predicting software effort. Estimation tools use one or more models (e.g.,
                                   Section 5.7) that relate the size of the project deliverables to the effort
                                   required to produce them.
                               5. Predicting software cost. Given the results of step 4, costs can be com-
                                   puted by allocating labor rates to the project activities noted in step 2.
                               6. Predicting software schedules. When effort, staffing level, and project
                                   activities are known, a draft schedule can be produced by allocating labor
                                   across software engineering activities based on recommended models for
                                   effort distribution (Chapter 7).
   163   164   165   166   167   168   169   170   171   172   173