SlideShare a Scribd company logo
Software Cost Estimation
             J. C. Huang
    Department of Computer Science
        University of Houston
       Houston, TX 77204-3010
On Precision
    It is the mark of an instructed mind to rest
    satisfied with the degree of precision which
    the nature of subject admits, and not to seek
    exactness when only an approximation of
    the truth is possible...         -Aristotle




©J. C. Huang 2005       Estimation          Slide 2 of 44
An Observation
    Estimation of resources, cost, and schedule
    for a software development effort requires
    experience, access to good historical
    information, and the courage to commit to
    quantitative measures when qualitative data
    are all that exist.


©J. C. Huang 2005        Estimation        Slide 3 of 44
Another Observation
    Estimation for software project carries
    inherent risk because of uncertainty in
    project complexity, project size, and
    structure (of requirements and problem to
    be solved).




©J. C. Huang 2005          Estimation      Slide 4 of 44
Major Factors
Major factors that influence software cost:
• product size and complexity
• programmer ability
• available time
• required reliability
• level of technology

©J. C. Huang 2005       Estimation        Slide 5 of 44
Three Approaches
      Estimation can be done by using

             • experience and historical data
             • decomposition techniques
             • empirical models

©J. C. Huang 2005          Estimation           Slide 6 of 44
Decomposition Techniques

    To obtain an estimation, we can decompose
    the problem to be solved, or decompose the
    process.




©J. C. Huang 2005       Estimation        Slide 7 of 44
Decomposition
Decomposition should be done in such a way that
1. size can be properly estimated,
2. cost or effort required for each component can
   be accurately estimated,
3. the team's ability to handle the components is
   well known, and
4. the estimated values will be relatively unaffected
   by changes to the requirements.

©J. C. Huang 2005        Estimation            Slide 8 of 44
Problem-Based Estimation
      1. Based on the software scope, decompose the software into
         problem functions that can be estimated individually.
      2. Estimate LOC or FP of each function.
      3. Make optimistic (sopt), most likely (sm), and pessimistic (spess)
         estimates for each item. Then compute the expected
         value:
                  EV = (sopt + 4 sm + spess)/6
      4. Apply baseline productivity metrics to compute estimated
         cost or effort.

©J. C. Huang 2005                Estimation                     Slide 9 of 44
Process-Based Estimation


1. Decompose the process into a set of tasks
   or activities.
2. Estimate the cost or effort required for
   each.



©J. C. Huang 2005             Estimation       Slide 10 of 44
Empirical Estimation Models

• An estimation model provides empirically
  derived formulas to predict effort as a
  function of LOC or FP.
• The data used to support these models are
  derived from a limited sample. Thus no
  model is appropriate for all classes of
  software.

©J. C. Huang 2005     Estimation        Slide 11 of 44
Structure of Estimation Model

             E = A + BXC
          where A, B, and C are empirically derived
          constants, E is the effort in person months, and X
          is the estimation variable, either in LOC or FP.




©J. C. Huang 2005            Estimation             Slide 12 of 44
LOC-based Model
Walston-Felix Model                     E = 5.2(KLOC)0.91
Bailey-Basili Model                     E = 5.5+0.73(KLOC)1.16
Boehm Model (simple)                    E = 3.2(KLOC)1.05
Doty Model for KLOC > 9                 E = 5.288(KLOC)1.047




  ©J. C. Huang 2005        Estimation                    Slide 13 of 44
FP-based model

      Albrecht and Gaffney Model
       E = -13.39 + 0.0545(FP)
      Kemerer Model
       E = 60.62 + 7.728(FP)310-8
      Matson, Barnett & Mellichamp Model
       E = 585.7 + 15.12(FP)

©J. C. Huang 2005        Estimation        Slide 14 of 44
COCOMO
The COnstructive COst MOdel

It is LOC-based.

There are three models:
      basic,
      intermediate, and
      advanced.
©J. C. Huang 2005         Estimation   Slide 15 of 44
Three Classes of Software Project

• Organic -- a relatively small simple project in
  which small teams with good application
  experience work to a set of less than rigid
  requirements.
• Semi-detached -- an intermediate project in which
  teams with mixed experience must meet a mix of
  rigid and less than rigid requirements.
• Embedded -- a project that must meet tight
  hardware, software, and operational constraints.
©J. C. Huang 2005      Estimation             Slide 16 of 44
The COCOMO (continued)
The basic equations
                     E = a(KLOC)b
                     T = cEd
    where E is the effort required in person-months, T
    is the required development time in chronological
    months, KLOC is the estimated size of software in
    thousand lines of delivered source code. The
    constants a, b, c, and d are listed below:
©J. C. Huang 2005            Estimation         Slide 17 of 44
The COCOMO Model (continued)

   type of project      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




   ©J. C. Huang 2005          Estimation             Slide 18 of 44
The COCOMO (continued)

    Effort equation for the intermediate model:

             E = a(KLOC)b(EAF)

          where EAF is the effort adjustment factor that
          ranges from 0.9 to 1.4, and constants a and b
          are

©J. C. Huang 2005            Estimation             Slide 19 of 44
The COCOMO (continued)

  type of project           a         b
     organic               3.2       1.05
  semi-detached            3.0       1.12
    embedded               2.8       1.20




©J. C. Huang 2005       Estimation        Slide 20 of 44
The Software Equation
E = ((LOC)B0.333/P)3(1/t4)
where
    E = effort in person-months
    t = project duration in months
    B = special skill factor ranging from 0.16 to 0.39
    P = productivity parameter

             (ref. www.qsm.com)
©J. C. Huang 2005           Estimation            Slide 21 of 44
The Software Equation
E = ((LOC)B0.333/P)3(1/t4)
where
    E=       effort in person-months
    t=       project duration in months
    B=       special skill factor ranging from 0.16 to 0.39

    P = productivity parameter that reflects
             •   overall process maturity and management practices
             •   the extent to which good SE practices are used
             •   the level of programming language used
             •   the state of software environment
             •   the skill and experience of the software team
             •   the complexity of the application

©J. C. Huang 2005                           Estimation               Slide 22 of 44
Major Factors
Major factors that influence software cost:
• product size and complexity
• programmer ability
• available time
• required reliability
• level of technology

©J. C. Huang 2005       Estimation       Slide 23 of 44
Product Complexity
Three categories of products:
  Application programs: those developed in the
  environment by a language compiler, such as C++.
  Utility programs: those written to provide user
  processing environments and make sophisticated use
  of the operating system facilities.
  System programs: those interact directly with
  hardware, and often involve concurrent processing
  with time constraints.

  ©J. C. Huang 2005             Estimation    Slide 24 of 44
Required Effort
    Given KDSI, thousand lines of deliverable code,
    Required programmer-months:
       application programs: PM = 2.4 x (KDSI)1.05
       utility programs: PM = 3.0 x (KDSI)1.12
       system programs: PM = 3.6 x (KDSI)1.20




©J. C. Huang 2005        Estimation            Slide 25 of 44
Required Development Time
Required development time:
  application programs: TDev = 2.5 x (PM)0.38
  utility programs: TDev = 2.5 X (PM)0.35
  system programs: TDev = 2.5 x (PM)0.32




©J. C. Huang 2005      Estimation               Slide 26 of 44
Unit cost vs. size (assuming $5,000/PM)
                                      80
                                                                                        sy stem
                                      70
    Dollars per line of source code



                                      60

                                      50

                                      40
                                                                                        utility
                                      30

                                      20                                                application

                                      10
                                           0
                                           1          1
                                                     10            2
                                                                  100           1000
                                                                                  3               10000
                                                                                                     4
                                                Sof tware size in 1,000 lines of code


©J. C. Huang 2005                                                  Estimation                             Slide 27 of 44
Required development time vs. size
                                            60

                                                                          application
                                            50
     Required dev elopment time in months



                                                                            utility
                                            40
                                                                                      sy stem
                                            30

                                            20

                                            10

                                             0
                                                 0
                                                 1             1
                                                              10           100
                                                                            2           1000
                                                                                          3         10000
                                                                                                      4
                                                     Sof tware size in 1,000 lines of source code

©J. C. Huang 2005                                                          Estimation                       Slide 28 of 44
Productivity vs. size
  Lines of code per prgrammer per day   0,03
                                           30




                                        0,02
                                           20                          application


                                                                                                (11.8)
                                                                        utility
                                        0,01
                                           10
                                                                                                (5.8)

                                                                 sy stem                        (2.8)
                                        0,000
                                          0
                                                0
                                                1            1
                                                            10             100
                                                                            2            1000
                                                                                           3               4
                                                                                                         10000
                                                    Sof tware size in 1,000 lines of source code
©J. C. Huang 2005                                                           Estimation                           Slide 29 of 44
Major Factors
Major factors that influence software cost:
• product size and complexity
• programmer ability
• available time
• required reliability
• level of technology

©J. C. Huang 2005       Estimation       Slide 30 of 44
How programmers spend their time.

        Writing programs                                              13%
        Reading programs and manuals                                  16%
        Job communications                                            32%
        Personal                                                      13%
        Miscellaneous                                                 15%
        Training                                                      6%
        Mail                                                          5%
        Based on Bell Lab Study conducted in 1964 on 70 programmers


©J. C. Huang 2005                      Estimation                       Slide 31 of 44
Programmer’s Ability
               Variations in programmers abilities
                                          worst/best ratio
performance measure                program #1         program # 2
     debugging hours                      28:1               26:1
        CPU time                           8:1               11:1
       coding hours                       16:1               25:1
       program size                        6:1                5:1
         run time                          5:1               13:1
©J. C. Huang 2005            Estimation                      Slide 32 of 44
Programmer’s Ability (continued)
    By eliminating extreme performance in
    both directions, a variability of 5 to 1 in
    programmer productivity can be expected.




©J. C. Huang 2005      Estimation          Slide 33 of 44
Available Time
    Software projects require more total
    effort if development time is
    compressed or expanded from the
    optimal time.




©J. C. Huang 2005        Estimation   Slide 34 of 44
Available Time (continued)
    According to Putnam, a schedule
    compression of 0.86 will increase
    required staff by a factor of 1.82.




©J. C. Huang 2005             Estimation         Slide 35 of 44
Available Time (continued)
    It is commonly agreed that there is a
    limit beyond which a software project
    cannot reduce its schedule by adding
    more personnel and equipment. This
    limit occurs roughly at 75% of the
    normal schedule.

©J. C. Huang 2005             Estimation         Slide 36 of 44
COCOMO Effort Multipliers
Product attributes
  Required reliability            0.75 to 1.40
  Data-base size                  0.94 to 1.16
  Product complexity              0.70 to 1.65




©J. C. Huang 2005    Estimation                  Slide 37 of 44
COCOMO Effort Multipliers (continued)

Computer attributes
 Execution time constraint         1.00 to 1.66
 Main storage constraint           1.00 to 1.56
 Virtual machine volatility        0.87 to 1.30
 Computer turn-around time         0.87 to 1.15



©J. C. Huang 2005     Estimation          Slide 38 of 44
COCOMO Effort Multipliers (continued)

Personnel attributes
  Analyst capability                1.46 to 0.71
  Programmer capability             1.42 to 0.70
  Applications experience           1.29 to 0.82
  Virtual machine experience        1.21 to 0.90
  Programming language experience   1.14 to 0.95



©J. C. Huang 2005     Estimation            Slide 39 of 44
COCOMO Effort Multipliers (continued)

Project attributes
  Use of modern programming practices
                               1.24 to 0.82
  Use of software tools        1.24 to 0.83
  Required development schedule
                               1.23 to 1.00

©J. C. Huang 2005     Estimation        Slide 40 of 44
Staffing Level Estimation
    A software project typically starts with a
    small group of capable people to do
    planning and analysis, a larger, but still
    small group to do architectural design. The
    size of required personnel increases in each
    successive phase, peaks at the
    implementation and system testing phase,
    and decreases in the maintenance phase.
©J. C. Huang 2005      Estimation          Slide 41 of 44
Staffing-Level Estimation
    The personnel level of effort required
    throughout the life cycle of a software
    product can be approximated by the
    following equation, which describes a
    Rayleigh curve:




©J. C. Huang 2005      Estimation             Slide 42 of 44
Staffing-Level Estimation (continued)
                                 (0.15Tdev+0.7t)2
                 0.15Tdev+0.7t -
 FSP =       PM(              )e 0.5(Tdev)2
                        0.25(Tdev)2
where FSP is the no. of full-time software personnel required at time t,

          PM is the estimated programmer-months for product
                  development, excluding planning and analysis, and

        Tdev is the estimated development time.



    ©J. C. Huang 2005                 Estimation                 Slide 43 of 44
Staffing-Level Estimation (continued)
FSP


                           Rayleigh curve




                                                                         t

 ©J. C. Huang 2005             Estimation               Slide 44 of 44
Skills most lacking in entry level programmers
• Express oneself clearly in English
• Develop and validate software requirements and
  specifications
• Work within applications area
• Perform software maintenance
• Perform economic analyses
• Work with project management techniques
• Work in group
©J. C. Huang 2005       Estimation             Slide 45 of 44

More Related Content

What's hot

Software Project Cost Estimation
Software Project Cost EstimationSoftware Project Cost Estimation
Software Project Cost Estimation
Drew Tkac
 
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
Bilal Hassan
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
Ashis Kumar Chanda
 
Introduction to Software Cost Estimation
Introduction to Software Cost EstimationIntroduction to Software Cost Estimation
Introduction to Software Cost Estimation
Hemanth Raj
 
Software Estimation
Software EstimationSoftware Estimation
Software Estimation
Nguyen Hai
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniquesTan Tran
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity model
Prakash Poudel
 
Wideband Delphi Estimation
Wideband Delphi EstimationWideband Delphi Estimation
Wideband Delphi Estimation
Aniruddha Chakrabarti
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
Santosh Ramachandran
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
Gagan Deep
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
kiran Patel
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
Massimo Felici
 
Software Estimation
Software EstimationSoftware Estimation
Software Estimation
Dinesh Singh
 
Unit 5
Unit   5Unit   5
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimation
umair khan
 
Software effort estimation
Software effort estimationSoftware effort estimation
Software effort estimation
tumetr1
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
Mirza Obaid
 
Cost estimation using cocomo model
Cost estimation using cocomo modelCost estimation using cocomo model
Cost estimation using cocomo model
Nitesh Bichwani
 
DELPHI METHOD (COST ESTIMATION MODELT)
DELPHI METHOD (COST ESTIMATION MODELT)DELPHI METHOD (COST ESTIMATION MODELT)
DELPHI METHOD (COST ESTIMATION MODELT)
Arsalan Ghaffar
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimationNur Islam
 

What's hot (20)

Software Project Cost Estimation
Software Project Cost EstimationSoftware Project Cost Estimation
Software Project Cost Estimation
 
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
Introduction to Software Cost Estimation
Introduction to Software Cost EstimationIntroduction to Software Cost Estimation
Introduction to Software Cost Estimation
 
Software Estimation
Software EstimationSoftware Estimation
Software Estimation
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
Cocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity modelCocomo ( cot constrictive model) and capability maturity model
Cocomo ( cot constrictive model) and capability maturity model
 
Wideband Delphi Estimation
Wideband Delphi EstimationWideband Delphi Estimation
Wideband Delphi Estimation
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Software Estimation
Software EstimationSoftware Estimation
Software Estimation
 
Unit 5
Unit   5Unit   5
Unit 5
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimation
 
Software effort estimation
Software effort estimationSoftware effort estimation
Software effort estimation
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
Cost estimation using cocomo model
Cost estimation using cocomo modelCost estimation using cocomo model
Cost estimation using cocomo model
 
DELPHI METHOD (COST ESTIMATION MODELT)
DELPHI METHOD (COST ESTIMATION MODELT)DELPHI METHOD (COST ESTIMATION MODELT)
DELPHI METHOD (COST ESTIMATION MODELT)
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
 

Similar to Estimation

COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimation
Pramod Parajuli
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
MZ5512
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
Zeal Education Society, Pune
 
COCOMO Model For Effort Estimation
COCOMO Model For Effort EstimationCOCOMO Model For Effort Estimation
COCOMO Model For Effort Estimation
grandhiprasuna
 
Costing ass4
Costing ass4Costing ass4
Costing ass4
BakhtyarBilal
 
Estimation techniques and risk management
Estimation techniques and risk managementEstimation techniques and risk management
Estimation techniques and risk management
Purushottam Basnet
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
movie_2009
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
YagnaGummadi
 
IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation Techniques
IRJET Journal
 
Metrics
MetricsMetrics
Metrics
geethawilliam
 
COCOMO.pptx
COCOMO.pptxCOCOMO.pptx
COCOMO.pptx
zeenatparveen24
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
Arti Parab Academics
 
Cocomo model (muskan soni)
Cocomo model (muskan soni)Cocomo model (muskan soni)
Cocomo model (muskan soni)
MuskanSony
 
2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt
THARUNS44
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdf
snehan789
 
cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
shopnohin_shopnobalok
 
5. COCOMO.pdf
5. COCOMO.pdf5. COCOMO.pdf
5. COCOMO.pdf
PedadaSaikumar
 
In Depth Constructive Cost Modeling related slides
In Depth Constructive Cost Modeling related slidesIn Depth Constructive Cost Modeling related slides
In Depth Constructive Cost Modeling related slides
ChobodiDamsaraniPadm
 

Similar to Estimation (20)

COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimation
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
COCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. MohiteCOCOMO Model By Dr. B. J. Mohite
COCOMO Model By Dr. B. J. Mohite
 
COCOMO Model For Effort Estimation
COCOMO Model For Effort EstimationCOCOMO Model For Effort Estimation
COCOMO Model For Effort Estimation
 
Costing ass4
Costing ass4Costing ass4
Costing ass4
 
Estimation techniques and risk management
Estimation techniques and risk managementEstimation techniques and risk management
Estimation techniques and risk management
 
COCOMO MODEL
COCOMO MODELCOCOMO MODEL
COCOMO MODEL
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
 
IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation Techniques
 
Metrics
MetricsMetrics
Metrics
 
COCOMO.pptx
COCOMO.pptxCOCOMO.pptx
COCOMO.pptx
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
Cocomo model (muskan soni)
Cocomo model (muskan soni)Cocomo model (muskan soni)
Cocomo model (muskan soni)
 
2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt2.6 Empirical estimation models & The make-buy decision.ppt
2.6 Empirical estimation models & The make-buy decision.ppt
 
Software_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdfSoftware_effort_estimation for Software engineering.pdf
Software_effort_estimation for Software engineering.pdf
 
cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
5. COCOMO.pdf
5. COCOMO.pdf5. COCOMO.pdf
5. COCOMO.pdf
 
In Depth Constructive Cost Modeling related slides
In Depth Constructive Cost Modeling related slidesIn Depth Constructive Cost Modeling related slides
In Depth Constructive Cost Modeling related slides
 
V2I6_IJERTV2IS60721
V2I6_IJERTV2IS60721V2I6_IJERTV2IS60721
V2I6_IJERTV2IS60721
 

Recently uploaded

Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Po-Chuan Chen
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 

Recently uploaded (20)

Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 

Estimation

  • 1. Software Cost Estimation J. C. Huang Department of Computer Science University of Houston Houston, TX 77204-3010
  • 2. On Precision It is the mark of an instructed mind to rest satisfied with the degree of precision which the nature of subject admits, and not to seek exactness when only an approximation of the truth is possible... -Aristotle ©J. C. Huang 2005 Estimation Slide 2 of 44
  • 3. An Observation Estimation of resources, cost, and schedule for a software development effort requires experience, access to good historical information, and the courage to commit to quantitative measures when qualitative data are all that exist. ©J. C. Huang 2005 Estimation Slide 3 of 44
  • 4. Another Observation Estimation for software project carries inherent risk because of uncertainty in project complexity, project size, and structure (of requirements and problem to be solved). ©J. C. Huang 2005 Estimation Slide 4 of 44
  • 5. Major Factors Major factors that influence software cost: • product size and complexity • programmer ability • available time • required reliability • level of technology ©J. C. Huang 2005 Estimation Slide 5 of 44
  • 6. Three Approaches Estimation can be done by using • experience and historical data • decomposition techniques • empirical models ©J. C. Huang 2005 Estimation Slide 6 of 44
  • 7. Decomposition Techniques To obtain an estimation, we can decompose the problem to be solved, or decompose the process. ©J. C. Huang 2005 Estimation Slide 7 of 44
  • 8. Decomposition Decomposition should be done in such a way that 1. size can be properly estimated, 2. cost or effort required for each component can be accurately estimated, 3. the team's ability to handle the components is well known, and 4. the estimated values will be relatively unaffected by changes to the requirements. ©J. C. Huang 2005 Estimation Slide 8 of 44
  • 9. Problem-Based Estimation 1. Based on the software scope, decompose the software into problem functions that can be estimated individually. 2. Estimate LOC or FP of each function. 3. Make optimistic (sopt), most likely (sm), and pessimistic (spess) estimates for each item. Then compute the expected value: EV = (sopt + 4 sm + spess)/6 4. Apply baseline productivity metrics to compute estimated cost or effort. ©J. C. Huang 2005 Estimation Slide 9 of 44
  • 10. Process-Based Estimation 1. Decompose the process into a set of tasks or activities. 2. Estimate the cost or effort required for each. ©J. C. Huang 2005 Estimation Slide 10 of 44
  • 11. Empirical Estimation Models • An estimation model provides empirically derived formulas to predict effort as a function of LOC or FP. • The data used to support these models are derived from a limited sample. Thus no model is appropriate for all classes of software. ©J. C. Huang 2005 Estimation Slide 11 of 44
  • 12. Structure of Estimation Model E = A + BXC where A, B, and C are empirically derived constants, E is the effort in person months, and X is the estimation variable, either in LOC or FP. ©J. C. Huang 2005 Estimation Slide 12 of 44
  • 13. LOC-based Model Walston-Felix Model E = 5.2(KLOC)0.91 Bailey-Basili Model E = 5.5+0.73(KLOC)1.16 Boehm Model (simple) E = 3.2(KLOC)1.05 Doty Model for KLOC > 9 E = 5.288(KLOC)1.047 ©J. C. Huang 2005 Estimation Slide 13 of 44
  • 14. FP-based model Albrecht and Gaffney Model E = -13.39 + 0.0545(FP) Kemerer Model E = 60.62 + 7.728(FP)310-8 Matson, Barnett & Mellichamp Model E = 585.7 + 15.12(FP) ©J. C. Huang 2005 Estimation Slide 14 of 44
  • 15. COCOMO The COnstructive COst MOdel It is LOC-based. There are three models: basic, intermediate, and advanced. ©J. C. Huang 2005 Estimation Slide 15 of 44
  • 16. Three Classes of Software Project • Organic -- a relatively small simple project in which small teams with good application experience work to a set of less than rigid requirements. • Semi-detached -- an intermediate project in which teams with mixed experience must meet a mix of rigid and less than rigid requirements. • Embedded -- a project that must meet tight hardware, software, and operational constraints. ©J. C. Huang 2005 Estimation Slide 16 of 44
  • 17. The COCOMO (continued) The basic equations E = a(KLOC)b T = cEd where E is the effort required in person-months, T is the required development time in chronological months, KLOC is the estimated size of software in thousand lines of delivered source code. The constants a, b, c, and d are listed below: ©J. C. Huang 2005 Estimation Slide 17 of 44
  • 18. The COCOMO Model (continued) type of project 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 ©J. C. Huang 2005 Estimation Slide 18 of 44
  • 19. The COCOMO (continued) Effort equation for the intermediate model: E = a(KLOC)b(EAF) where EAF is the effort adjustment factor that ranges from 0.9 to 1.4, and constants a and b are ©J. C. Huang 2005 Estimation Slide 19 of 44
  • 20. The COCOMO (continued) type of project a b organic 3.2 1.05 semi-detached 3.0 1.12 embedded 2.8 1.20 ©J. C. Huang 2005 Estimation Slide 20 of 44
  • 21. The Software Equation E = ((LOC)B0.333/P)3(1/t4) where E = effort in person-months t = project duration in months B = special skill factor ranging from 0.16 to 0.39 P = productivity parameter (ref. www.qsm.com) ©J. C. Huang 2005 Estimation Slide 21 of 44
  • 22. The Software Equation E = ((LOC)B0.333/P)3(1/t4) where E= effort in person-months t= project duration in months B= special skill factor ranging from 0.16 to 0.39 P = productivity parameter that reflects • overall process maturity and management practices • the extent to which good SE practices are used • the level of programming language used • the state of software environment • the skill and experience of the software team • the complexity of the application ©J. C. Huang 2005 Estimation Slide 22 of 44
  • 23. Major Factors Major factors that influence software cost: • product size and complexity • programmer ability • available time • required reliability • level of technology ©J. C. Huang 2005 Estimation Slide 23 of 44
  • 24. Product Complexity Three categories of products: Application programs: those developed in the environment by a language compiler, such as C++. Utility programs: those written to provide user processing environments and make sophisticated use of the operating system facilities. System programs: those interact directly with hardware, and often involve concurrent processing with time constraints. ©J. C. Huang 2005 Estimation Slide 24 of 44
  • 25. Required Effort Given KDSI, thousand lines of deliverable code, Required programmer-months: application programs: PM = 2.4 x (KDSI)1.05 utility programs: PM = 3.0 x (KDSI)1.12 system programs: PM = 3.6 x (KDSI)1.20 ©J. C. Huang 2005 Estimation Slide 25 of 44
  • 26. Required Development Time Required development time: application programs: TDev = 2.5 x (PM)0.38 utility programs: TDev = 2.5 X (PM)0.35 system programs: TDev = 2.5 x (PM)0.32 ©J. C. Huang 2005 Estimation Slide 26 of 44
  • 27. Unit cost vs. size (assuming $5,000/PM) 80 sy stem 70 Dollars per line of source code 60 50 40 utility 30 20 application 10 0 1 1 10 2 100 1000 3 10000 4 Sof tware size in 1,000 lines of code ©J. C. Huang 2005 Estimation Slide 27 of 44
  • 28. Required development time vs. size 60 application 50 Required dev elopment time in months utility 40 sy stem 30 20 10 0 0 1 1 10 100 2 1000 3 10000 4 Sof tware size in 1,000 lines of source code ©J. C. Huang 2005 Estimation Slide 28 of 44
  • 29. Productivity vs. size Lines of code per prgrammer per day 0,03 30 0,02 20 application (11.8) utility 0,01 10 (5.8) sy stem (2.8) 0,000 0 0 1 1 10 100 2 1000 3 4 10000 Sof tware size in 1,000 lines of source code ©J. C. Huang 2005 Estimation Slide 29 of 44
  • 30. Major Factors Major factors that influence software cost: • product size and complexity • programmer ability • available time • required reliability • level of technology ©J. C. Huang 2005 Estimation Slide 30 of 44
  • 31. How programmers spend their time. Writing programs 13% Reading programs and manuals 16% Job communications 32% Personal 13% Miscellaneous 15% Training 6% Mail 5% Based on Bell Lab Study conducted in 1964 on 70 programmers ©J. C. Huang 2005 Estimation Slide 31 of 44
  • 32. Programmer’s Ability Variations in programmers abilities worst/best ratio performance measure program #1 program # 2 debugging hours 28:1 26:1 CPU time 8:1 11:1 coding hours 16:1 25:1 program size 6:1 5:1 run time 5:1 13:1 ©J. C. Huang 2005 Estimation Slide 32 of 44
  • 33. Programmer’s Ability (continued) By eliminating extreme performance in both directions, a variability of 5 to 1 in programmer productivity can be expected. ©J. C. Huang 2005 Estimation Slide 33 of 44
  • 34. Available Time Software projects require more total effort if development time is compressed or expanded from the optimal time. ©J. C. Huang 2005 Estimation Slide 34 of 44
  • 35. Available Time (continued) According to Putnam, a schedule compression of 0.86 will increase required staff by a factor of 1.82. ©J. C. Huang 2005 Estimation Slide 35 of 44
  • 36. Available Time (continued) It is commonly agreed that there is a limit beyond which a software project cannot reduce its schedule by adding more personnel and equipment. This limit occurs roughly at 75% of the normal schedule. ©J. C. Huang 2005 Estimation Slide 36 of 44
  • 37. COCOMO Effort Multipliers Product attributes Required reliability 0.75 to 1.40 Data-base size 0.94 to 1.16 Product complexity 0.70 to 1.65 ©J. C. Huang 2005 Estimation Slide 37 of 44
  • 38. COCOMO Effort Multipliers (continued) Computer attributes Execution time constraint 1.00 to 1.66 Main storage constraint 1.00 to 1.56 Virtual machine volatility 0.87 to 1.30 Computer turn-around time 0.87 to 1.15 ©J. C. Huang 2005 Estimation Slide 38 of 44
  • 39. COCOMO Effort Multipliers (continued) Personnel attributes Analyst capability 1.46 to 0.71 Programmer capability 1.42 to 0.70 Applications experience 1.29 to 0.82 Virtual machine experience 1.21 to 0.90 Programming language experience 1.14 to 0.95 ©J. C. Huang 2005 Estimation Slide 39 of 44
  • 40. COCOMO Effort Multipliers (continued) Project attributes Use of modern programming practices 1.24 to 0.82 Use of software tools 1.24 to 0.83 Required development schedule 1.23 to 1.00 ©J. C. Huang 2005 Estimation Slide 40 of 44
  • 41. Staffing Level Estimation A software project typically starts with a small group of capable people to do planning and analysis, a larger, but still small group to do architectural design. The size of required personnel increases in each successive phase, peaks at the implementation and system testing phase, and decreases in the maintenance phase. ©J. C. Huang 2005 Estimation Slide 41 of 44
  • 42. Staffing-Level Estimation The personnel level of effort required throughout the life cycle of a software product can be approximated by the following equation, which describes a Rayleigh curve: ©J. C. Huang 2005 Estimation Slide 42 of 44
  • 43. Staffing-Level Estimation (continued) (0.15Tdev+0.7t)2 0.15Tdev+0.7t - FSP = PM( )e 0.5(Tdev)2 0.25(Tdev)2 where FSP is the no. of full-time software personnel required at time t, PM is the estimated programmer-months for product development, excluding planning and analysis, and Tdev is the estimated development time. ©J. C. Huang 2005 Estimation Slide 43 of 44
  • 44. Staffing-Level Estimation (continued) FSP Rayleigh curve t ©J. C. Huang 2005 Estimation Slide 44 of 44
  • 45. Skills most lacking in entry level programmers • Express oneself clearly in English • Develop and validate software requirements and specifications • Work within applications area • Perform software maintenance • Perform economic analyses • Work with project management techniques • Work in group ©J. C. Huang 2005 Estimation Slide 45 of 44

Editor's Notes

  1. Developed by L. Putman et al.
  2. FSP: full-time software personnel