Page 164 -
P. 164

CHAPTER 5  SOFTWARE PROJECT PLANNING                               135

                              for different levels of developer experience and development environment maturity.
                              Once the productivity rate has been determined, an estimate of project effort can be
                              derived as

                                   estimated effort = NOP/PROD
                                In more advanced COCOMO II models, 15  a variety of scale factors, cost drivers,
                              and adjustment procedures are required. A complete discussion of these is beyond
                              the scope of this book. The interested reader should see [BOE00] or visit the COCOMO
                              II Web site.

                              5.7.3  The Software Equation
                              The software equation [PUT92] is a dynamic multivariable model that assumes a spe-
                              cific distribution of effort over the life of a software development project. The model
                              has been derived from productivity data collected for over 4000 contemporary soft-
                              ware projects. Based on these data, an estimation model of the form

                                                           4
                                   E = [LOC   B 0.333 /P] 3    (1/t )                          (5-3)
                              where   E =  effort in person-months or person-years
                                       t =  project duration in months or years
                                      B =  “special skills factor” 16
               WebRef                 P = “productivity parameter” that reflects:
               Information on software
               cost estimation tools that  •  Overall process maturity and management practices
               have evolved from the    •  The extent to which good software engineering practices are used
               software equation can be  •  The level of programming languages used
               obtained at
               www.qsm.com              •  The state of the software environment
                                        •  The skills and experience of the software team
                                        •  The complexity of the application
                              Typical values might be P = 2,000 for development of real-time embedded software;
                              P = 10,000 for telecommunication and systems software; P = 28,000 for business sys-
                              tems applications. 17  The productivity parameter can be derived for local conditions
                              using historical data collected from past development efforts.
                                It is important to note that the software equation has two independent parame-
                              ters: (1) an estimate of size (in LOC) and (2) an indication of project duration in cal-
                              endar months or years.



                              15 As noted earlier, these models use FP and KLOC counts for the size variable.
                              16 B increases slowly as “the need for integration, testing, quality assurance, documentation, and
                                management skills grow [PUT92].”  For small programs (KLOC = 5 to 15), B = 0.16. For programs
                                greater than 70 KLOC, B = 0.39.
                              17 It is important to note that the productivity parameter can be empirically derived from local proj-
                                ect data.
   159   160   161   162   163   164   165   166   167   168   169