SlideShare a Scribd company logo
1 of 38
HOUSTON COMMUNITY
  SAIGONTECH                                    COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




                      SOFTWARE COST
                        ESTIMATION
                          SEMINAR FOR
                         COOP EDUCATION
                       ITSE 1380, ITNW 1380
                            FALL 2005

                                                         1
Objectives
                                          HOUSTON COMMUNITY
  SAIGONTECH                                COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




    • To introduce cost and schedule
      estimation
    • To discuss the problems of
      productivity estimation
    • To describe several cost estimation
      techniques
    • To discuss the utility of algorithmic
      cost modeling and its applicability in
      the software process
                                                     2
Cost estimation objectives
                                                           HOUSTON COMMUNITY
  SAIGONTECH                                                 COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




    •       Budget
             To know what you will spend
    •       Controls
             A lever to control the project
    •       Differential analysis
             Monitor progress by comparing planned with estimated
             costs
    •       Cost database
             Make future estimation better
    •       Marry costing to management
            Cost estimation and planning/scheduling are closely
            related activities

                                                                      3
SAIGONTECH
                      Software cost components                 HOUSTON COMMUNITY
                                                                 COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY



    • Hardware and software costs
    • Travel and training costs
    • Effort costs (the dominant factor in
      most projects)
                 •salaries of engineers involved in the project
                 •costs of building, heating, lighting
                 •costs of networking and communications
                 •costs of shared facilities (e.g library, staff
                 restaurant, etc.)
                 •costs of pensions, health insurance, etc.
                                                                          4
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                      Costing and pricing                HOUSTON COMMUNITY
                                                           COLLEGE SYSTEM




    • Estimating Cost
                 • Costs for developer, not buyer
                 • We need our costs to manage and assess
    • Estimating Price
                 • There is not a simple relationship between
                   the development cost and the price
                   charged to the customer.
                 • Broader organisational, economic, political
                   and business considerations influence the
                   price charged.
                                                                    5
SAIGONTECH
                        Productivity Measures                  HOUSTON COMMUNITY
                                                                 COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




    •         Size-related measures
                 •    Must be based on some output from the
                      software process
                 •    Delivered source code
                 •    Object code instructions
    •         Function-related measures
                 •    Based on an estimate of the functionality of
                      the delivered software.
                 •    Function-points are the best known of this
                      type of measure

                                                                          6
SAIGONTECH
                        Lines of Codes       HOUSTON COMMUNITY
                                               COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




                      LOC = NCLOC + CLOC
     • LOC: lines of code
     • NCLOC: non-commented line of code
     • CLOC: commented line of code
     • KLOC = one thousand of line of code

                                                        7
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                           Function points          HOUSTON COMMUNITY
                                                      COLLEGE SYSTEM




    •         Based on a combination of program
              characteristics
                 •    external inputs and outputs
                 •    user interactions
                 •    external interfaces
                 •    files used by the system
    •         A weight is associated with each of these
    •         The function point count is computed by
              multiplying each raw count by the weight
              and summing all values
                                                               8
SAIGONTECH
SAIGON INSTITUTE OF
                          Function points               HOUSTON COMMUNITY
                                                          COLLEGE SYSTEM

    TECHNOLOGY



         • Function point count modified by
           complexity of the project
         • FPs can be used to estimate LOC
           depending on the average number of
           LOC per FP for a given language
         • FPs are very subjective
                      •Depend on the estimator
                      •FP cannot generally be counted
                      automatically
                                                                   9
SAIGONTECH
                      Factors affecting productivity                         HOUSTON COMMUNITY
                                                                               COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




     Factor                   Description
     Application domain       Knowledge of the application domain is essential for
     experience               effective software development. Engineers who already
                              understand a domain are likely to be the most productive.
     Process quality          The development process used can have a significant
                              effect on productivity. This is covered in Chapter 31.
     Project size             The larger a project, the more time required for team
                              communications. Less time is available for development
                              so individual productivity is reduced.
     Technology support       Good support technology such as CASE tools, supportive
                              configuration management systems, etc. can improve
                              productivity.
     Working environment      A quiet working environment with private work areas
                              contributes to improved productivity.

                                                                                       10
SAIGONTECH
                      Estimation techniques   HOUSTON COMMUNITY
                                                COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




              • Expert judgement
              • Estimation by analogy
              • Parkinson’s Law
              • Pricing to win
              • Top-down estimation
              • Bottom-up estimation
              • Algorithmic cost modelling

                                                        11
SAIGONTECH
SAIGON INSTITUTE OF
                      Expert judgement      HOUSTON COMMUNITY
                                              COLLEGE SYSTEM

    TECHNOLOGY




    • One or more experts in both software
      development and the application domain use
      their experience to predict software costs.
      Process iterates until some consensus is
      reached.
    • Advantages: Relatively cheap estimation
      method. Can be accurate if experts have
      direct experience of similar systems
    • Disadvantages: May be very costly

                                                      12
SAIGONTECH
                      Estimation by analogy   HOUSTON COMMUNITY
                                                COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY



     • The cost of a project is computed by
       comparing the project to a similar
       project inthe same application domain
     • Advantages: Accurate if project data
       available
     • Disadvantages: Impossible if no
       comparable project has been tackled.
       Needs systematically maintained cost
       database
                                                        13
SAIGONTECH
SAIGON INSTITUTE OF
                      Parkinson's Law    HOUSTON COMMUNITY
                                           COLLEGE SYSTEM

    TECHNOLOGY




       • The project costs whatever resources
         are available
       • Advantages: No overspending
       • Disadvantages: System is usually
         unfinished




                                                   14
SAIGONTECH
SAIGON INSTITUTE OF
                      Pricing to win    HOUSTON COMMUNITY
                                          COLLEGE SYSTEM

    TECHNOLOGY




    • The project costs whatever the
      customer has to spend on it
    • Advantages: You get the contract
    • Disadvantages: The probability that the
      customer gets the system he or she
      wants is small. Costs do not accurately
      reflect the work required


                                                  15
SAIGONTECH
                      Top-down estimation   HOUSTON COMMUNITY
                                              COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




    • Approaches may be applied using a
      top-down approach. Start at system
      level andwork out how the system
      functionality is provided
    • Takes into account costs such as
      integration, configuration management
      and documentation
    • Can underestimate the cost of solving
      difficult low-level technical problems
                                                      16
SAIGONTECH
                      Bottom-up estimation   HOUSTON COMMUNITY
                                               COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




       • Start at the lowest system level. The
         cost of each component is estimated
         individually.These costs are summed
         to give final cost estimate
       • Accurate method if the system has
         been designed in detail
       • May underestimate costs of system
         level activities such as integration and
         documentation
                                                       17
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                      Estimation methods                  HOUSTON COMMUNITY
                                                            COLLEGE SYSTEM




        – Each method has strengths and weaknesses
        – Estimation should be based on several methods
        – If these do not return approximately the same
         result, there is insufficient information available
        – Some action should be taken to find out more in
         order to make more accurate estimates
        – Pricing to win is sometimes the only applicable
         method


                                                                    18
SAIGONTECH
                      Algorithmic cost modelling   HOUSTON COMMUNITY
                                                     COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY


    • Cost is estimated as a mathematical
      function of product, project and
      processattributes whose values are
      estimated by project managers
    • The function is derived from a study of
      historical costing data
    • Most commonly used product attribute
      for cost estimation is LOC (code size)
    • Most models are basically similar but
      withdifferent attribute values
                                                             19
Examples of cost models        HOUSTON COMMUNITY
  SAIGONTECH                                           COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




     • General form: E = A + B × SC
     • E: Effort cost; S: Size; A, B, C: constants
     Examples:
     E = 5.2 x (KLOC)0.91           Walston-Felix Model
     E = 5.5 + 0.73 x (KLOC)1.16 Bailey-Basili Model
     E = 3.2 x (KLOC)1.05       COCOMO Basic Model
     E = 5.288 x (KLOC)1.047 Doty Model for KLOC > 9

                                                               20
Examples of cost models   HOUSTON COMMUNITY
  SAIGONTECH                                      COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




     Cost models using FP as a primary input
       include (Pressman, 1997):
     E = -12.39 + 0.0545 FP
       Albrecht and Gaffney Model
     E = 60.62 x 7.728 x 10-8 FP3
       Kemerer Model
     E = 585.7 + 15.12 FP
     Matson, Barnett, and Mellichamp Model
                                                          21
SAIGONTECH
                        The COCOMO model                              HOUSTON COMMUNITY
                                                                        COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY



     • Developed at TRW, a US defense contractor
     • Based on a cost database of more than 60
       different projects
     • Exists in three stages
                  •Basic -Gives a 'ball-park' estimate based on product
                  attributes
                  •Intermediate -modifies basic estimate using project and
                  process attributes

                  •Advanced -Estimates project phases and parts separately


                                                                                22
SAIGONTECH
                      The COCOMO model                             HOUSTON COMMUNITY
                                                                     COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




    • Three modes:
            – Organic mode: relatively simple projects in which small
              teams work to a set of informal requirements
            – Semidetached mode: an intermediate project in which
              mixed teams must work to a set of rigid and less than
              rigid requirements
            – Embedded mode:a project that must operate within a
              tight set of constraints (ie. flight control software for
              aircraft).

                                                                             23
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                      BASIC COCOMO Formula                    HOUSTON COMMUNITY
                                                                COLLEGE SYSTEM




                             E = a(KLOC)b
                               TDEV = cEd

                           Mode       a      b     c    d
                      Organic mode    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




                                                                        24
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                      COCOMO examples                HOUSTON COMMUNITY
                                                       COLLEGE SYSTEM




       • Organic mode project, KLOC = 32
              PM = 2.4 (32)1.05 = 91 person months
              TDEV = 2.5 (91)0.38 = 14 months
              N = 91/15 = 6.5 people




                                                               25
SAIGONTECH
SAIGON INSTITUTE OF
                      Intermediate COCOMO   HOUSTON COMMUNITY
                                              COLLEGE SYSTEM

    TECHNOLOGY




    • Takes basic COCOMO as starting point
    • Identifies personnel, product, computer
      and project attributes which affect cost
    • Multiplies basic cost by attribute
      multipliers which may increase or
      decrease costs

                                                      26
Effort Multipliers
                                                                                                      HOUSTON COMMUNITY
  SAIGONTECH
     Cost Driver                      Description                               Rating                  COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY                                         Very Low   Low    Nominal   High   Very High     Extra High
     Product
     RELY             Required software reliability    0.75       0.88   1.00      1.15   1.40          -
     DATA             Database size                    -          0.94   1.00      1.08   1.16          -
     CPLX             Product complexity               0.70       0.85   1.00      1.15   1.30          1.65
     Computer
     TIME             Execution time constraint        -          -      1.00      1.11   1.30          1.66
     STOR             Main storage constraint          -          -      1.00      1.06   1.21          1.56
     VIRT             Virtual machine volatility       -          0.87   1.00      1.15   1.30          -
     TURN             Computer turnaround time         -          0.87   1.00      1.07   1.15          -
     Personnel
     ACAP             Analyst capability               1.46       1.19   1.00      0.86   0.71          -
     AEXP             Applications experience          1.29       1.13   1.00      0.91   0.82          -
     PCAP             Programmer capability            1.42       1.17   1.00      0.86   0.70          -
     VEXP             Virtual machine experience       1.21       1.10   1.00      0.90   -             -
     LEXP             Language experience              1.14       1.07   1.00      0.95   -             -
     Project
     MODP             Modern programming practices     1.24       1.10   1.00      0.91   0.82          -
     TOOL             Software Tools                   1.24       1.10   1.00      0.91   0.83          -
     SCED             Development Schedule             1.23       1.08   1.00      1.04   1.10          -       27
SAIGONTECH
                      Advanced COCOMO model              HOUSTON COMMUNITY
                                                           COLLEGE SYSTEM
SAIGON INSTITUTE OF
    TECHNOLOGY




    • The Advanced COCOMO model computes effort as a
      function of program size and a set of cost drivers
      weighted according to each phase of the software
      lifecycle. The Advanced model applies the Intermediate
      model at the component level, and then a phase-based
      approach is used to consolidate the estimate (Fenton,
      1997).
    • The 4 phases used in the detailed COCOMO model are:
      requirements planning and product design (RPD),
      detailed design (DD), code and unit test (CUT), and
      integration and test (IT). Each cost driver is broken down
      by phase as in the example shown in Table 6 (Boehm,
      1981).
                                                                   28
Analyst capability effort multiplier   HOUSTON COMMUNITY
  SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                          for Advanced COCOMO                  COLLEGE SYSTEM




        Cost Driver Rating           RPD    DD     CUT    IT

                         Very Low    1.80   1.35   1.35   1.50

                         Low         0.85   0.85   0.85   1.20

        ACAP             Nominal     1.00   1.00   1.00   1.00

                         High        0.75   0.90   0.90   0.85

                         Very High   0.55   0.75   0.75   0.70
                                                                       29
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                      Model tuning       HOUSTON COMMUNITY
                                           COLLEGE SYSTEM




    • All numbers in cost model are
      organization specific. The parameters
      of the model must be modified to adapt
      it to local needs
    • A statistically significant database of
      detailed cost information is necessary


                                                   30
SAIGONTECH
SAIGON INSTITUTE OF
                      Staffing requirements   HOUSTON COMMUNITY
                                                COLLEGE SYSTEM

    TECHNOLOGY




    • Staff required can’t be computed by dividing
      the development time by the
      requiredschedule
    • The number of people working on a project
      varies depending on the phase of the project
    • The more people who work on the project, the
      more total effort is usually required
    • Very rapid build-up of people often correlates
      with schedule slippage

                                                        31
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                                                                                                                             Rayleigh curve   HOUSTON COMMUNITY
                                                                                                                                                COLLEGE SYSTEM




                      file:///F:/AAS PROGRAM/COOP-Fall 2005/Software Cost Estimation Metrics and Models_files/Rayleigh.gif




                                                                                                                                                        32
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                      Software Equation           HOUSTON COMMUNITY
                                                    COLLEGE SYSTEM




    • Putnam used some empirical observations
      about productivity levels to derive the software
      equation from the basic Rayleigh curve
      formula (Fenton, 1997). The software
      equation is expressed as:       1 4
                           Size = CE 3 t 3
    • where C is a technology factor, E is the total
      project effort in person years, and t is the
      elapsed time to delivery in years.

                                                            33
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                      Technology Factor                       HOUSTON COMMUNITY
                                                                COLLEGE SYSTEM




            The technology factor is a composite cost driver
           involving 14 components. It primarily reflects:
    •      Overall process maturity and management practices
    •      The extent to which good software engineering practices
           are used
    •      The level of programming languages used
    •      The state of the software environment
    •      The skills and experience of the software team
    •      The complexity of the application
    •      The software equation includes a fourth power and
           therefore has strong implications for resource allocation
           on large projects. Relatively small extensions in delivery
           date can result in substantial reductions in effort
           (Pressman, 1997).
                                                                        34
SAIGONTECH
SAIGON INSTITUTE OF
    TECHNOLOGY
                        Key points                    HOUSTON COMMUNITY
                                                        COLLEGE SYSTEM




       •    There is not a simple relationship between the
            price charged for a system and its
            development costs.
       •    Factors affecting productivity include
            individual aptitude, domain experience, the
            development project, the project size, tool
            support and the working environment.
       •    Software may be priced to gain a contract and
            the functionality adjusted to the price.

                                                                35
SAIGONTECH
SAIGON INSTITUTE OF
                      Key points               HOUSTON COMMUNITY
                                                 COLLEGE SYSTEM

    TECHNOLOGY



   • Different techniques of cost estimation should
     be used when estimating costs.
   • The COCOMO model takes project, product,
     personnel and hardware attributes into account
     when predicting effort required.
   • Algorithmic cost models support quantitative
     option analysis as they allow the costs of
     different options to be compared.
   • The time to complete a project is not
     proportional to the number of people working on
     the project.
                                                         36
SAIGONTECH
SAIGON INSTITUTE OF
                      Seminar Report         HOUSTON COMMUNITY
                                               COLLEGE SYSTEM

    TECHNOLOGY




    • Select any Software Cost Estimation
      relating topic of your interest (may or may
      not presented in the seminar)
    • Write report having at least 2 pages
    • Use the form from Saigontech website
    • Each report must have a title
    • Indicate the Week # in each report
    • Indicate reference materials
                                                       37
SAIGONTECH
SAIGON INSTITUTE OF
                      Reference              HOUSTON COMMUNITY
                                               COLLEGE SYSTEM

    TECHNOLOGY




    Software Engineering, A Practitioner’s
     Approach, 4nd Edition
      Roger S. Pressman, PhD.
      McGraw-Hill, 2002.
    Software Engineering
      Jan Sommerville




                                                       38

More Related Content

What's hot

Software Product Line
Software Product LineSoftware Product Line
Software Product Line
Himanshu
 
Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality plan
Kittitouch Suteeca
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 

What's hot (20)

Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Software Product Line
Software Product LineSoftware Product Line
Software Product Line
 
16 virtual function
16 virtual function16 virtual function
16 virtual function
 
VB.net
VB.netVB.net
VB.net
 
Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality plan
 
Rad model
Rad modelRad model
Rad model
 
Economics In Software Engineering
Economics In Software EngineeringEconomics In Software Engineering
Economics In Software Engineering
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Scope - Static and Dynamic
Scope - Static and DynamicScope - Static and Dynamic
Scope - Static and Dynamic
 
C fundamental
C fundamentalC fundamental
C fundamental
 
Introduction Of C++
Introduction Of C++Introduction Of C++
Introduction Of C++
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
 
Generic Programming
Generic ProgrammingGeneric Programming
Generic Programming
 
Input output files in java
Input output files in javaInput output files in java
Input output files in java
 
Lecture3
Lecture3Lecture3
Lecture3
 
Static analysis
Static analysisStatic analysis
Static analysis
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 

Similar to Software cost estimation

Bryan.moser
Bryan.moserBryan.moser
Bryan.moser
NASAPMC
 
Bryan.moser
Bryan.moserBryan.moser
Bryan.moser
NASAPMC
 
A system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareA system for performance evaluation of embedded software
A system for performance evaluation of embedded software
Mr. Chanuwan
 
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
NNfamily
 
How to bake in quality in agile scrum projects
How to bake in quality in agile scrum projectsHow to bake in quality in agile scrum projects
How to bake in quality in agile scrum projects
Santanu Bhattacharya
 

Similar to Software cost estimation (20)

1 introduction
1 introduction1 introduction
1 introduction
 
1 introduction (1)
1 introduction (1)1 introduction (1)
1 introduction (1)
 
Software Lifecycle
Software LifecycleSoftware Lifecycle
Software Lifecycle
 
Bryan.moser
Bryan.moserBryan.moser
Bryan.moser
 
Bryan.moser
Bryan.moserBryan.moser
Bryan.moser
 
RRC RUP
RRC RUPRRC RUP
RRC RUP
 
Software cost estimation project
Software  cost estimation projectSoftware  cost estimation project
Software cost estimation project
 
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introduction
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
 
[StepTalks2011] Team Software Process (TSP): High Performance Individuals, Hi...
[StepTalks2011] Team Software Process (TSP): High Performance Individuals, Hi...[StepTalks2011] Team Software Process (TSP): High Performance Individuals, Hi...
[StepTalks2011] Team Software Process (TSP): High Performance Individuals, Hi...
 
مناهج التعليم وصناعة البرمجيات
مناهج التعليم وصناعة البرمجياتمناهج التعليم وصناعة البرمجيات
مناهج التعليم وصناعة البرمجيات
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
 
A system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareA system for performance evaluation of embedded software
A system for performance evaluation of embedded software
 
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented Software
 
Collaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an IntroductionCollaborative Lifecycle Managmenent - an Introduction
Collaborative Lifecycle Managmenent - an Introduction
 
Resume
ResumeResume
Resume
 
Software process
Software processSoftware process
Software process
 
Embedded world 2017
Embedded world 2017Embedded world 2017
Embedded world 2017
 
How to bake in quality in agile scrum projects
How to bake in quality in agile scrum projectsHow to bake in quality in agile scrum projects
How to bake in quality in agile scrum projects
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 

Recently uploaded (20)

SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 

Software cost estimation

  • 1. HOUSTON COMMUNITY SAIGONTECH COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY SOFTWARE COST ESTIMATION SEMINAR FOR COOP EDUCATION ITSE 1380, ITNW 1380 FALL 2005 1
  • 2. Objectives HOUSTON COMMUNITY SAIGONTECH COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • To introduce cost and schedule estimation • To discuss the problems of productivity estimation • To describe several cost estimation techniques • To discuss the utility of algorithmic cost modeling and its applicability in the software process 2
  • 3. Cost estimation objectives HOUSTON COMMUNITY SAIGONTECH COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • Budget To know what you will spend • Controls A lever to control the project • Differential analysis Monitor progress by comparing planned with estimated costs • Cost database Make future estimation better • Marry costing to management Cost estimation and planning/scheduling are closely related activities 3
  • 4. SAIGONTECH Software cost components HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • Hardware and software costs • Travel and training costs • Effort costs (the dominant factor in most projects) •salaries of engineers involved in the project •costs of building, heating, lighting •costs of networking and communications •costs of shared facilities (e.g library, staff restaurant, etc.) •costs of pensions, health insurance, etc. 4
  • 5. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Costing and pricing HOUSTON COMMUNITY COLLEGE SYSTEM • Estimating Cost • Costs for developer, not buyer • We need our costs to manage and assess • Estimating Price • There is not a simple relationship between the development cost and the price charged to the customer. • Broader organisational, economic, political and business considerations influence the price charged. 5
  • 6. SAIGONTECH Productivity Measures HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • Size-related measures • Must be based on some output from the software process • Delivered source code • Object code instructions • Function-related measures • Based on an estimate of the functionality of the delivered software. • Function-points are the best known of this type of measure 6
  • 7. SAIGONTECH Lines of Codes HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY LOC = NCLOC + CLOC • LOC: lines of code • NCLOC: non-commented line of code • CLOC: commented line of code • KLOC = one thousand of line of code 7
  • 8. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Function points HOUSTON COMMUNITY COLLEGE SYSTEM • Based on a combination of program characteristics • external inputs and outputs • user interactions • external interfaces • files used by the system • A weight is associated with each of these • The function point count is computed by multiplying each raw count by the weight and summing all values 8
  • 9. SAIGONTECH SAIGON INSTITUTE OF Function points HOUSTON COMMUNITY COLLEGE SYSTEM TECHNOLOGY • Function point count modified by complexity of the project • FPs can be used to estimate LOC depending on the average number of LOC per FP for a given language • FPs are very subjective •Depend on the estimator •FP cannot generally be counted automatically 9
  • 10. SAIGONTECH Factors affecting productivity HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY Factor Description Application domain Knowledge of the application domain is essential for experience effective software development. Engineers who already understand a domain are likely to be the most productive. Process quality The development process used can have a significant effect on productivity. This is covered in Chapter 31. Project size The larger a project, the more time required for team communications. Less time is available for development so individual productivity is reduced. Technology support Good support technology such as CASE tools, supportive configuration management systems, etc. can improve productivity. Working environment A quiet working environment with private work areas contributes to improved productivity. 10
  • 11. SAIGONTECH Estimation techniques HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • Expert judgement • Estimation by analogy • Parkinson’s Law • Pricing to win • Top-down estimation • Bottom-up estimation • Algorithmic cost modelling 11
  • 12. SAIGONTECH SAIGON INSTITUTE OF Expert judgement HOUSTON COMMUNITY COLLEGE SYSTEM TECHNOLOGY • One or more experts in both software development and the application domain use their experience to predict software costs. Process iterates until some consensus is reached. • Advantages: Relatively cheap estimation method. Can be accurate if experts have direct experience of similar systems • Disadvantages: May be very costly 12
  • 13. SAIGONTECH Estimation by analogy HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • The cost of a project is computed by comparing the project to a similar project inthe same application domain • Advantages: Accurate if project data available • Disadvantages: Impossible if no comparable project has been tackled. Needs systematically maintained cost database 13
  • 14. SAIGONTECH SAIGON INSTITUTE OF Parkinson's Law HOUSTON COMMUNITY COLLEGE SYSTEM TECHNOLOGY • The project costs whatever resources are available • Advantages: No overspending • Disadvantages: System is usually unfinished 14
  • 15. SAIGONTECH SAIGON INSTITUTE OF Pricing to win HOUSTON COMMUNITY COLLEGE SYSTEM TECHNOLOGY • The project costs whatever the customer has to spend on it • Advantages: You get the contract • Disadvantages: The probability that the customer gets the system he or she wants is small. Costs do not accurately reflect the work required 15
  • 16. SAIGONTECH Top-down estimation HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • Approaches may be applied using a top-down approach. Start at system level andwork out how the system functionality is provided • Takes into account costs such as integration, configuration management and documentation • Can underestimate the cost of solving difficult low-level technical problems 16
  • 17. SAIGONTECH Bottom-up estimation HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • Start at the lowest system level. The cost of each component is estimated individually.These costs are summed to give final cost estimate • Accurate method if the system has been designed in detail • May underestimate costs of system level activities such as integration and documentation 17
  • 18. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Estimation methods HOUSTON COMMUNITY COLLEGE SYSTEM – Each method has strengths and weaknesses – Estimation should be based on several methods – If these do not return approximately the same result, there is insufficient information available – Some action should be taken to find out more in order to make more accurate estimates – Pricing to win is sometimes the only applicable method 18
  • 19. SAIGONTECH Algorithmic cost modelling HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • Cost is estimated as a mathematical function of product, project and processattributes whose values are estimated by project managers • The function is derived from a study of historical costing data • Most commonly used product attribute for cost estimation is LOC (code size) • Most models are basically similar but withdifferent attribute values 19
  • 20. Examples of cost models HOUSTON COMMUNITY SAIGONTECH COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • General form: E = A + B × SC • E: Effort cost; S: Size; A, B, C: constants Examples: E = 5.2 x (KLOC)0.91 Walston-Felix Model E = 5.5 + 0.73 x (KLOC)1.16 Bailey-Basili Model E = 3.2 x (KLOC)1.05 COCOMO Basic Model E = 5.288 x (KLOC)1.047 Doty Model for KLOC > 9 20
  • 21. Examples of cost models HOUSTON COMMUNITY SAIGONTECH COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY Cost models using FP as a primary input include (Pressman, 1997): E = -12.39 + 0.0545 FP Albrecht and Gaffney Model E = 60.62 x 7.728 x 10-8 FP3 Kemerer Model E = 585.7 + 15.12 FP Matson, Barnett, and Mellichamp Model 21
  • 22. SAIGONTECH The COCOMO model HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • Developed at TRW, a US defense contractor • Based on a cost database of more than 60 different projects • Exists in three stages •Basic -Gives a 'ball-park' estimate based on product attributes •Intermediate -modifies basic estimate using project and process attributes •Advanced -Estimates project phases and parts separately 22
  • 23. SAIGONTECH The COCOMO model HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • Three modes: – Organic mode: relatively simple projects in which small teams work to a set of informal requirements – Semidetached mode: an intermediate project in which mixed teams must work to a set of rigid and less than rigid requirements – Embedded mode:a project that must operate within a tight set of constraints (ie. flight control software for aircraft). 23
  • 24. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY BASIC COCOMO Formula HOUSTON COMMUNITY COLLEGE SYSTEM E = a(KLOC)b TDEV = cEd Mode a b c d Organic mode 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 24
  • 25. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY COCOMO examples HOUSTON COMMUNITY COLLEGE SYSTEM • Organic mode project, KLOC = 32 PM = 2.4 (32)1.05 = 91 person months TDEV = 2.5 (91)0.38 = 14 months N = 91/15 = 6.5 people 25
  • 26. SAIGONTECH SAIGON INSTITUTE OF Intermediate COCOMO HOUSTON COMMUNITY COLLEGE SYSTEM TECHNOLOGY • Takes basic COCOMO as starting point • Identifies personnel, product, computer and project attributes which affect cost • Multiplies basic cost by attribute multipliers which may increase or decrease costs 26
  • 27. Effort Multipliers HOUSTON COMMUNITY SAIGONTECH Cost Driver Description Rating COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY Very Low Low Nominal High Very High Extra High Product RELY Required software reliability 0.75 0.88 1.00 1.15 1.40 - DATA Database size - 0.94 1.00 1.08 1.16 - CPLX Product complexity 0.70 0.85 1.00 1.15 1.30 1.65 Computer TIME Execution time constraint - - 1.00 1.11 1.30 1.66 STOR Main storage constraint - - 1.00 1.06 1.21 1.56 VIRT Virtual machine volatility - 0.87 1.00 1.15 1.30 - TURN Computer turnaround time - 0.87 1.00 1.07 1.15 - Personnel ACAP Analyst capability 1.46 1.19 1.00 0.86 0.71 - AEXP Applications experience 1.29 1.13 1.00 0.91 0.82 - PCAP Programmer capability 1.42 1.17 1.00 0.86 0.70 - VEXP Virtual machine experience 1.21 1.10 1.00 0.90 - - LEXP Language experience 1.14 1.07 1.00 0.95 - - Project MODP Modern programming practices 1.24 1.10 1.00 0.91 0.82 - TOOL Software Tools 1.24 1.10 1.00 0.91 0.83 - SCED Development Schedule 1.23 1.08 1.00 1.04 1.10 - 27
  • 28. SAIGONTECH Advanced COCOMO model HOUSTON COMMUNITY COLLEGE SYSTEM SAIGON INSTITUTE OF TECHNOLOGY • The Advanced COCOMO model computes effort as a function of program size and a set of cost drivers weighted according to each phase of the software lifecycle. The Advanced model applies the Intermediate model at the component level, and then a phase-based approach is used to consolidate the estimate (Fenton, 1997). • The 4 phases used in the detailed COCOMO model are: requirements planning and product design (RPD), detailed design (DD), code and unit test (CUT), and integration and test (IT). Each cost driver is broken down by phase as in the example shown in Table 6 (Boehm, 1981). 28
  • 29. Analyst capability effort multiplier HOUSTON COMMUNITY SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY for Advanced COCOMO COLLEGE SYSTEM Cost Driver Rating RPD DD CUT IT Very Low 1.80 1.35 1.35 1.50 Low 0.85 0.85 0.85 1.20 ACAP Nominal 1.00 1.00 1.00 1.00 High 0.75 0.90 0.90 0.85 Very High 0.55 0.75 0.75 0.70 29
  • 30. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Model tuning HOUSTON COMMUNITY COLLEGE SYSTEM • All numbers in cost model are organization specific. The parameters of the model must be modified to adapt it to local needs • A statistically significant database of detailed cost information is necessary 30
  • 31. SAIGONTECH SAIGON INSTITUTE OF Staffing requirements HOUSTON COMMUNITY COLLEGE SYSTEM TECHNOLOGY • Staff required can’t be computed by dividing the development time by the requiredschedule • The number of people working on a project varies depending on the phase of the project • The more people who work on the project, the more total effort is usually required • Very rapid build-up of people often correlates with schedule slippage 31
  • 32. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Rayleigh curve HOUSTON COMMUNITY COLLEGE SYSTEM file:///F:/AAS PROGRAM/COOP-Fall 2005/Software Cost Estimation Metrics and Models_files/Rayleigh.gif 32
  • 33. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Software Equation HOUSTON COMMUNITY COLLEGE SYSTEM • Putnam used some empirical observations about productivity levels to derive the software equation from the basic Rayleigh curve formula (Fenton, 1997). The software equation is expressed as: 1 4 Size = CE 3 t 3 • where C is a technology factor, E is the total project effort in person years, and t is the elapsed time to delivery in years. 33
  • 34. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Technology Factor HOUSTON COMMUNITY COLLEGE SYSTEM The technology factor is a composite cost driver involving 14 components. It primarily reflects: • Overall process maturity and management practices • The extent to which good software engineering practices are used • The level of programming languages used • The state of the software environment • The skills and experience of the software team • The complexity of the application • The software equation includes a fourth power and therefore has strong implications for resource allocation on large projects. Relatively small extensions in delivery date can result in substantial reductions in effort (Pressman, 1997). 34
  • 35. SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Key points HOUSTON COMMUNITY COLLEGE SYSTEM • There is not a simple relationship between the price charged for a system and its development costs. • Factors affecting productivity include individual aptitude, domain experience, the development project, the project size, tool support and the working environment. • Software may be priced to gain a contract and the functionality adjusted to the price. 35
  • 36. SAIGONTECH SAIGON INSTITUTE OF Key points HOUSTON COMMUNITY COLLEGE SYSTEM TECHNOLOGY • Different techniques of cost estimation should be used when estimating costs. • The COCOMO model takes project, product, personnel and hardware attributes into account when predicting effort required. • Algorithmic cost models support quantitative option analysis as they allow the costs of different options to be compared. • The time to complete a project is not proportional to the number of people working on the project. 36
  • 37. SAIGONTECH SAIGON INSTITUTE OF Seminar Report HOUSTON COMMUNITY COLLEGE SYSTEM TECHNOLOGY • Select any Software Cost Estimation relating topic of your interest (may or may not presented in the seminar) • Write report having at least 2 pages • Use the form from Saigontech website • Each report must have a title • Indicate the Week # in each report • Indicate reference materials 37
  • 38. SAIGONTECH SAIGON INSTITUTE OF Reference HOUSTON COMMUNITY COLLEGE SYSTEM TECHNOLOGY Software Engineering, A Practitioner’s Approach, 4nd Edition Roger S. Pressman, PhD. McGraw-Hill, 2002. Software Engineering Jan Sommerville 38