CSE-469
Project Management
                     Md. Saidul Hoque Anik
                       anik@cse.uiu.ac.bd
1. SLOC
2. FPA
3. COCOMO
•   COCOMO = Constructive Cost Model
•   A regression model based on LOC
•   Model parameters are derived from fitting a regression formula
    using data from historical projects (63 projects for COCOMO 81
    and 163 projects for COCOMO II).
•   Outcome are primarily Effort & Duration
1. Organic: A development project can be treated of the organic type, if the
   project deals with developing a well-understood application program, the
   size of the development team is reasonably small, and the team members
   are experienced in developing similar methods of projects. Examples of
   this type of projects are simple business systems, simple inventory
   management systems, and data processing systems.
2. Semidetached: A development project can be treated with semidetached
   type if the development consists of a mixture of experienced and
   inexperienced staff. Team members may have finite experience in related
   systems but may be unfamiliar with some aspects of the order being
   developed. Example of Semidetached system includes developing a new
   operating system (OS), a Database Management System (DBMS), and
   complex inventory management system.
3. Embedded: A development project is treated to be of an embedded type,
   if the software being developed is strongly coupled to complex hardware,
   or if the stringent regulations on the operational method exist. For
   Example: ATM, Air Traffic control.
For three product categories, a different set of expressions are there in the
model to predict
    1. Effort (in a unit of person month) and
    2. Development time/duration
from the size of estimation in KLOC (Kilo Line of code)
* Efforts estimation takes into account the productivity loss due to-
    • holidays,
    • weekly off,
    • coffee breaks, etc.
According to the model, software cost estimation should be done through
three stages:
   1. Basic Model
   2. Intermediate Model
   3. Detailed Model
Not much consideration of different factors such as reliability, expertise is
taken into account, henceforth the estimate is rough.
Not much consideration of different factors such as reliability, expertise is
taken into account, henceforth the estimate is rough.
     Software Projects         a           b           c           d
          Organic              2.4        1.05        2.5        0.38
       Semi Detached          3.0         1.12        2.5        0.35
         Embedded              3.6        1.20        2.5        0.32
Suppose a project was estimated to be 400 KLOC. Calculate the effort and
development time for each of the three model i.e., organic, semi-detached &
embedded.
Suppose a project was estimated to be 400 KLOC. Calculate the effort and
development time for each of the three model i.e., organic, semi-detached &
embedded.
Solution: The basic COCOMO equation takes the form:
        Effort =a x (KLOC)b PM
        Duration =c x (efforts)d Months
        Estimated Size of project= 400 KLOC
(i)Organic Mode
        E = 2.4 * (400)1.05 = 1295.31 PM
        D = 2.5 * (1295.31)0.38=38.07 M
(ii)Semidetached Mode
        E = 3.0 * (400)1.12=2462.79 PM
        D = 2.5 * (2462.79)0.35=38.45 M
(iii) Embedded Mode
        E = 3.6 * (400)1.20 = 4772.81 PM
        D = 2.5 * (4772.8)0.32 = 38 M
Example2: A project size of 200 KLOC is to be developed. Software
development team has average experience on similar type of projects. The
project schedule is not very tight. Calculate the Effort, development time,
average staff size, and productivity of the project.
Example2: A project size of 200 KLOC is to be developed. Software
development team has average experience on similar type of projects. The
project schedule is not very tight. Calculate the Effort, development time,
average staff size, and productivity of the project.
Solution: The semidetached mode is the most appropriate mode, keeping in
view the size, schedule and experience of development time.
Hence
   E=3.0(200)1.12=1133.12PM
   D=2.5(1133.12)0.35=29.3PM
   Average Stuff Size = E/D Persons = 1133.12/29.3 = 38.67
   Productivity = KLOC/E = 200/1133.12 = 0.1765 KLOC/PM = 176 LOC/PM
• The basic COCOMO model assumes that the effort is only a function of the
  number of lines of code and some constants evaluated according to the
  different software system.
• However, in reality, no system’s effort and schedule can be solely
  calculated on the basis of Lines of Code.
• For that, various other factors such as reliability, experience, Capability.
  These factors are known as Cost Drivers.
• The Intermediate Model utilizes 15 such drivers for cost estimation.
• Each of the 15 attributes receives a rating on a six-point scale that ranges
  from "very low" to "extra high" (in importance or value).
• The project manager is to rate these 15 different parameters for a
  particular project.
• An effort multiplier from the table applies to the rating. The product of all
  effort multipliers results in an effort adjustment factor (EAF). Typical values
  for EAF range from 0.9 to 1.4.
• For Intermediate Model:
     Software Projects          a            b           c            d
          Organic               3.2         1.05
       Semi Detached            3.0         1.12         Remains same
         Embedded               2.8         1.20
• Detailed COCOMO incorporates all characteristics of the intermediate
  version with an assessment of the cost driver’s impact on each step of the
  software engineering process.
• The detailed model uses different effort multipliers for each cost driver
  attribute.
• In detailed COCOMO, the whole software is divided into different phases
  (Plan, Design, Programming, Integration) and then we apply COCOMO in
  different modules to estimate effort and then sum the effort.
• The detailed model introduces two more capabilities that are as follows:
    Phase-sensitive effort multiplier: Some phases (like design,
    programming, integration/test) are more affected than others by factors
    defined by the cost drivers. The detailed model provides a set of phase-
    sensitive effort multipliers for each cost driver. This helps in determining
    the workforce allocation for each phase of the project.
    Three-level product hierarchy: In the three-level product hierarchy,
    there are a module, subsystem, and system levels. The ratings of the cost
    driver are done at an appropriate level, i.e., the level at which it is most
    affected by the variation.
• https://en.wikipedia.org/wiki/COCOMO
• https://www.javatpoint.com/cocomo-model
• https://www.geeksforgeeks.org/software-engineering-cocomo-
  model/
• https://www.youtube.com/watch?v=mYjzbpEUXDk