Page 31 - DCAP304_DCAP515_SOFTWARE_PROJECT_MANAGEMENT
P. 31

Unit 1: Introduction to Software Project Management




          Disadvantages                                                                         Notes

              PMBOK is only a  framework; the definite needs of the  project in  question should  be
               determined by a knowledgeable managerial team.
              PMBOK provides nominal coverage of various project management methodologies and
               techniques. One definitely needs to consult specialized texts on these subjects in order to
               learn the ins and outs.

              PMBOK only incorporates those features of the project management process  that  are
               profession independent.




             Notes  PMBOK actually is a collection of usually accepted project management techniques,
             these techniques can easily be integrated in other methodologies when applicable.

          Constructive Cost Model (COCOMO)

          COCOMO is an experiential, algorithmic model for estimating the effort, schedule and costs of
          a software project. It was derived by collecting relevant data from a large number of software
          projects, then analyzing the data to discover the formulae that were the best-fit to the observations.
          The first version of the COCOMO model (now known as COCOMO 81) was a three-level model
          where the levels imitated the detail of the analysis of the cost estimate. The first level (basic)
          provided an initial, rough estimate; the second level modified this using a number of project
          and process multipliers and the most detailed level produced estimates for different phases of
          the project.
          COCOMO 81 makes a variety of assumptions about the software development process in order to
          produce its estimates. The latter will only be somewhat accurate when the project uses the waterfall
          process model and every line of code is produced from scratch. It also fails to take into account that
          nowadays higher-level programming languages are employed, supported by various automated
          tools. We will not elaborate on this version, since it has been obsolete by COCOMO 2.
          COCOMO 2 comprises support for various development methodologies such as component-
          based development and prototyping, fourth generation programming languages and CASE
          support tools. COCOMO 2 still consists of three levels,  but these have been given somewhat
          different interpretations:
              The early prototyping level: Size estimates are based on object points. These object points
               are a simple way of quantifying the perceived complexity of requirements that need to be
               implemented. The required effort is then computed by applying a simple extrapolation
               from the  object points and programmer productivity. Object  points are  based on the
               number of screens, reports and modules in third generation programming languages, and
               can be weighed by the perceived complexity of the screen, report or module in question.
              The post-architecture level: Once the system architecture has been designed a reasonably
               accurate estimate of the software size can be made. The estimate as this level uses a more
               extensive  set of  multipliers  reflecting  personnel  capabilities,  product  and  project
               characteristics.

              The early design level: This level corresponds to the completion of the system requirements
               with (perhaps) some initial design. Estimates are based on function points, which are
               obtained by working out the object points in detail. More specifically, the total number of
               points is computed by measuring or estimating the following program features: external




                                           LOVELY PROFESSIONAL UNIVERSITY                                   25
   26   27   28   29   30   31   32   33   34   35   36