Top Banner

of 24

Budgetting and cost estimation.ppt

Apr 03, 2018

Download

Documents

yakarim
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/28/2019 Budgetting and cost estimation.ppt

    1/24

    Budgeting and cost estimation

    Project Management

    Lesson 7

  • 7/28/2019 Budgetting and cost estimation.ppt

    2/24

    Fundamental estimation

    questions

    How much effort is required to

    complete an activity?

    How much calendar time is needed tocomplete an activity?

    What is the total cost of an activity?

    Project estimation and scheduling areinterleaved management activities.

  • 7/28/2019 Budgetting and cost estimation.ppt

    3/24

    Software cost components

    Hardware and software costs.

    Travel and training costs.

    Effort costs (the dominant factor in mostprojects)

    The salaries of engineers involved in theproject;

    Social and insurance costs.

    Effort costs must take overheads intoaccount

    Costs of building, heating, lighting.

    Costs of networking and communications.

    Costs of shared facilities (e.g library, staffrestaurant, etc.).

  • 7/28/2019 Budgetting and cost estimation.ppt

    4/24

    Costing and pricing

    Estimates are made to discover the cost, to

    the developer, of producing a software

    system.

    There is not a simple relationship between

    the development cost and the price charged

    to the customer.

    Broader organisational, economic, politicaland business considerations influence the

    price charged.

  • 7/28/2019 Budgetting and cost estimation.ppt

    5/24

    Software pricing factors

    Market

    opportunity

    A development organisation may quote a low price because it

    wishes to move into a new segment of the software market.

    Accepting a low profit on one project may give the opportunity

    of more profit later. T he experience gained may allow new

    products to be developed.

    Cost est imate

    uncertainty

    If an organisation is unsure of its cost estimate, it may increase

    its price by some contingency over and above its normal profit .

    Contractual terms A c ust omer may be willing to allow the developer to retain

    ownership of the source code and reuse it in ot her projects. T he

    price charged may then be less than if the software source code

    is handed over to the customer.

    Requirements

    volatility

    If the requirements are likely to change, an organisation may

    lower its price to win a contract. After the contract is awarded,high prices can be charged for changes to the requirements.

    Financial health Developers in financial difficulty may lower their price to gain

    a c ontract. It is bet ter to make a smaller than normal profit or

    break even than to go out of business.

  • 7/28/2019 Budgetting and cost estimation.ppt

    6/24

    A measure of the rate at which individual

    engineers involved in software development

    produce software and associated

    documentation.

    Not quality-oriented although quality

    assurance is a factor in productivity

    assessment.

    Essentially, we want to measure useful

    functionality produced per time unit.

    Software productivity

  • 7/28/2019 Budgetting and cost estimation.ppt

    7/24

    Size related measures based on

    some output from the software

    process. This may be lines ofdelivered source code, object code

    instructions, etc.

    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.

    Productivity measures

  • 7/28/2019 Budgetting and cost estimation.ppt

    8/24

    Estimating the size of the measure

    (e.g. how many function points).

    Estimating the total number ofprogrammer

    months that have elapsed.

    Estimating contractor productivity (e.g.documentation team) and

    incorporating this

    estimate in overall estimate.

    Measurement problems

  • 7/28/2019 Budgetting and cost estimation.ppt

    9/24

    What's a line of code?

    The measure was first proposed whenprograms were typed on cards with one

    line per card; How does this correspond to statements

    as in Java which can span several lines orwhere there can be several statements onone line.

    What programs should be counted as part ofthe system?

    This model assumes that there is a linearrelationship between system size and

    volume of documentation.

    Lines of code

  • 7/28/2019 Budgetting and cost estimation.ppt

    10/24

    Project planning process

    Software scope - determination of function andperformance

    Resources - estimation of required resources

    Project estimation - quantitative analysis of cost and

    duration Risk analysis - risk identification, assessment and

    solution

    Scheduling - production of software development timetables

    Decision making - selection of cost-effective designmethods

    Organisational planning - organisation of softwareteams

  • 7/28/2019 Budgetting and cost estimation.ppt

    11/24

    Software scope and

    resources

    Scope

    Well-bounded specification of software function

    Well-bounded specification of interfaces

    Well-bounded specification of constraints

    Resources

    Human resources: selection of skills required forsoftware development

    Hardware resources: determination of thedevelopment system, target machine, and otherhardware devices

    Software resources: determination of CASE

    (computer-aided software engineering) tools

  • 7/28/2019 Budgetting and cost estimation.ppt

    12/24

    Project estimation

    techniques

    Algorithmic cost modelling based on historical

    information

    Static models such as COCOMO

    Dynamic models such as Putnam

    Expert judgement based on expert's experience

    Estimation by analogy based on similar completed

    projects Pricing to win based on availability of customer's

    budgets

    Bottom-up estimation based on costs of software

    components

  • 7/28/2019 Budgetting and cost estimation.ppt

    13/24

    Algorithmic cost modelling

    Cost is estimated as a mathematicalfunction of product, project and process

    attributes 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 with

    different attribute values

  • 7/28/2019 Budgetting and cost estimation.ppt

    14/24

    Values Domain characteristics

    Number of user inputs Distinct application-oriented data given to software

    Number of user outputs Application-oriented information produced to the userNumber of user inquiries On-line inputs which result in on-line outputs

    Number of files Logical master filesNumber of external interfaces All machine-readable interfaces

    Estimation of code size

    Number of lines of code

    Estimation based on source code files

    Major advantage: easy measurement based on

    programs

    Major weakness: programming-language and design-

    detail dependencies

    Function points

    Information domain characteristics and values

  • 7/28/2019 Budgetting and cost estimation.ppt

    15/24

    0 1 2 3 4 5no influence incidental moderate average significant essential

    Complexity adjustment values

    Fi :

    1. Does the system require reliablebackup and recovery?

    2. Are data communicationsrequired?

    3. Are there distributed processingfunctions?

    4. Is performance critical?

    5. Will the system run in an existing,heavily utilised operationalenvironment?

    6. Does the system require on-linedata entry?

    7. Does the on-line data entry requireinput transactions to be built over

    multiple screens?

    8. Are the master files updated on-line?

    9. Are the inputs, outputs, files or inquirescomplex?

    10. Is the internal processing complex?

    11. Is the code designed to be reusable?

    12. Are conversion and installation

    included in the design?13. Is the system designed for multiple

    installations in different organisations?

    14. Is the application designed to facilitatechange and ease of use by the user?

  • 7/28/2019 Budgetting and cost estimation.ppt

    16/24

    Estimating code size using

    function points

    Computation of function points

    Where wi: weighting factors determined

    empirically 0.65 and 0.01: constant values determined

    empirically

    Weakness and advantage

    Subjective assessment of the complexity factors

    Early size prediction and language independence

    )totalcomplexity01.065.0(totalcountpointsfunction

    )numberw(totalcount i

    5

    1=i

    i 14

    1=i

    iFtotalcomplexity

  • 7/28/2019 Budgetting and cost estimation.ppt

    17/24

    Estimation example

    Number of user inputs 32 W1 4

    Number of user outputs 60 W2 5

    Number of user inquiries 24 W3 4

    Number of files 8 W4 10

    Number of external interfaces 2 W5 7

    Count total = (32 x 4) + (60 x 5) + (24 x 4) + (8 x 10) + (2 x 7) = 618

    Assume all complexity adjustment values are average

    complexity total = 3 x 14 = 42

    function points = 618 x (0.65 + (0.01 x 42)) = 661.26

    Assume the complexity total = 50

    function points = 618 x (0.65 + (0.01 x 50)) = 710.7

    Assume assume that one point is 100 lines of C code

    Difference = (710.7 661.26) x 100 = 4944 LOC

  • 7/28/2019 Budgetting and cost estimation.ppt

    18/24

    COCOMO (COnstructive

    COst MOdel)

    COCOMO can be applied in threeincreasing sophisticated ways:

    Basic COCOMO

    a function of program size

    Intermediate COCOMO

    a function of program size and a set of "costdrivers"

    Advanced COCOMO extension of the intermediate model with

    regard to the cost driver's impact on eachstep of the software development

  • 7/28/2019 Budgetting and cost estimation.ppt

    19/24

    Basic COCOMO

    Classes of software projects

    Organic mode projects: small teams, familiar

    working environment and well understoodapplications

    Semi-detached mode projects: teams of

    experienced and inexperienced staff, limited

    experience of related systems, and unfamiliarity

    with some aspects of the systems being

    developed

    Embedded mode projects: tight hardware,

    software, and operational constraints

  • 7/28/2019 Budgetting and cost estimation.ppt

    20/24

    Basic COCOMO

    yempiricalldeterminedaluesconstant v,wherecodeoflinesthousandofnumberwhere

    months-personin)(effortprojectofEstimation

    bb

    b

    b

    ba

    KLOC

    KLOCaE

    E

    b

    05.14.2

    ismodelorganictheexample,For

    KLOCEorganic

    Software project ab bb

    organic 2.4 1.05

    semi-detached 3.0 1.12embedded 3.6 1.20

  • 7/28/2019 Budgetting and cost estimation.ppt

    21/24

    COCOMO estimated effort

    0

    200

    400

    600

    8001000

    1200

    1400

    1600

    0 20 40 60 80 100 120 140KLOC

    Effort(PM

    )

    Organic

    Semi-detached

    Embedded

    Basic COCOMO

    Comparison ofthe models

    Example:assuming thatan embeddedprojectconsists of128000delivered

    sourceinstructions,the projecteffort is

    p.m.12161283.6= 1.20 embedded

    E

  • 7/28/2019 Budgetting and cost estimation.ppt

    22/24

    Basic COCOMO

    Software project cb dborganic 2.5 0.38

    semi-detached 2.5 0.35

    embedded 2.5 0.32

    yempiricalldeterminedaluesconstant v,where

    monthsin)(t timedevelopmenofEstimation

    bb

    d

    b

    dc

    EcD

    D

    b

    35.05.2

    ismodeldetached-semitheexample,For

    EDdetachedsemi

  • 7/28/2019 Budgetting and cost estimation.ppt

    23/24

    Basic COCOMO

    Development

    schedule

    Example: the effort

    of the embedded

    project is 1216 p.m.

    people51

    24

    1216

    months2412165.2 32.0

    N

    Dembedded

    Development time

    0

    5

    10

    15

    20

    25

    30

    0 20 40 60 80 100 120 140

    KLOC

    Month

    s

    Semi-detached

  • 7/28/2019 Budgetting and cost estimation.ppt

    24/24

    The End

    Zainudin Johari

    B Sc. (Hons) Computer Science, UPM

    M Sc. Computer Science (Information Systems) UPM