Software Cost Est & Project Planning Mgt

download Software Cost Est & Project Planning Mgt

of 40

Transcript of Software Cost Est & Project Planning Mgt

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    1/40

    Software Cost & EstimationProject Planning & Control

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    2/40

    To introduce cost and schedule estimation.

    To describe several cost estimation

    techniques. To describe suggested software estimation

    steps

    To understand the differences between

    software mgt. and other types ofengineering management

    Undertstand why project planning isessential in all software projects

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    3/40

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    4/40

    Predicting the resources

    required for a softwaredevelopment process

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    5/40

    To establish a budget for a softwareproject.

    To provide a means of controlling projectcosts.

    To monitor progress against that budget bycomparing planned with estimated costs.

    To establish a cost database for futureestimation.

    Cost estimation and planning/schedulingare closely related activities.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    6/40

    Hardware and software costs.

    Travel and training costs.

    Effort costs (the dominant factor in mostprojects) 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)

    costs of pensions, health insurance, etc.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    7/40

    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 theprice charged to the customer.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    8/40

    Expert judgment

    Estimation by analogy

    Parkinsons Law

    Pricing to win

    Algorithmic cost modelling

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    9/40

    One or more experts in both softwaredevelopment and the application domain usetheir experience to predict software costs.

    Process iterates until some consensus isreached.

    Advantages: elatively cheap estimationmethod. Can be accurate if experts havedirect

    experience of similar systems. Disadvantages: Very inaccurate if there are

    noexperts!

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    10/40

    The cost of a project is computed bycomparingthe project to a similar project in the sameapplication domain.

    Advantages: Accurate if project dataavailable.

    Disadvantages: mpossible if nocomparableproject has been tackled. Needssystematicallymaintained cost database.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    11/40

    The project costs whatever resources areavailable.

    Advantages: No overspending. Disadvantages: System is usually

    unfinished.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    12/40

    The project costs whatever the customerhas to

    spend on it. Advantages: ou get the contract.

    Disadvantages: The probability that the

    customer gets the system he wants issmall.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    13/40

    Each method has strengths andweaknesses.

    Estimation should be based on severalmethods.

    If these do not return approximately the

    same result, there is insufficientinformation available.

    Pricing to win is sometimes the onlyapplicable method.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    14/40

    Cost is estimated as a mathematicalfunction ofproduct, project and process attributes

    whosevalues are estimated by project managers. The function is derived from a study of

    historical costing data.

    Most commonly used product attribute forcostestimation is LOC (code size).

    Most models are basically similar but withdifferent attribute values.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    15/40

    Developed at TRW, a US defensecontractor.

    Based on a cost database of more than 60different projects.

    Exists in three stages: Basic - Gives a ball-park estimate based on

    productattributes.

    Intermediate - modifies basic estimate usingproject andprocess attributes.

    Advanced - Estimates project phases and partsseparately.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    16/40

    Organic mode: Small teams, familiarenvironment, well-understood applications, nodifficult non-functional requirements (EASY).

    Semi-detached mode: Project team may

    have experience mixture, system may havemore significant non-functional constraints,organization may have less familiarity withapplication (HARDER).

    Embedded Hardware/softwaresystems mode:

    Tight constraints, unusual for team to havedeep application experience (HARD).

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    17/40

    Organic mode: PM = 2.4 (KDSI) 1.05

    Semi-detached mode: PM = 3 (KDSI) 1.12

    Embedded mode: PM = 3.6 (KDSI) 1.2

    Note: KDSI is the number of thousands of deliveredsource instructions.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    18/40

    Organic mode project, 32KLOC

    PM = 2.4 (32) 1.05 = 91 person months

    TDEV = 2.5 (91) 0.38 = 14 months N = 91/15 = 6.5 people

    Embedded mode project, 128KLOC

    PM = 3.6 (128)1.2

    = 1216 person-months TDEV = 2.5 (1216)0.32 = 24 months

    N = 1216/24 = 51

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    19/40

    Implicit productivity estimate

    Organic mode = 16 LOC/day

    Embedded mode = 4 LOC/day

    Time required is a function of total effortNOTteam size.

    Not clear how to adapt model topersonnelavailability.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    20/40

    Takes basic COCOMO as starting point.

    Identifies personnel, product, computer

    andproject attributes which affect cost.

    Multiplies basic cost by attribute

    multiplierswhich may increase or decrease costs.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    21/40

    Personnel attributes

    Analyst capability

    Programmer capability Programming language experience

    Application experience

    Product attributes Reliability requirement

    Database size

    Product complexity

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    22/40

    Computer attributes

    Execution time constraints

    Storage constraints Computer turnaround time

    Project attributes

    Modern programming practices Software tools

    Required development schedule

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    23/40

    These are attributes which were found tobe

    significant in one organization with a limitedsize of project history database.

    Other attributes may be more significant forother projects.

    Each organization must identify its ownattributes and associated multiplier values.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    24/40

    All numbers in cost model areorganization

    specific. The parameters of the modelmust be modified to adapt it to localneeds.

    A statistically significant database ofdetailedcost information is necessary.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    25/40

    Embedded software system onmicrocomputerhardware.

    Basic COCOMO predicts a 45 person-montheffort requirement

    Attributes = RELY (1.15), STOR (1.21), TIME

    (1.10),TOO

    L (1.10) Intermediate COCOMO predicts 45*1.15*1.21.1.10*1.10 = 76 person-months.

    Total cost = 76*$7000 = $532,000

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    26/40

    Step 1:Gather and AnalyzeSoftware Functional &

    ProgrammaticRequirements

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    27/40

    Step 2:Define the Work

    Elements and Procurements

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    28/40

    Step 3:Estimate Software

    Size Step 4:Estimate Software

    Effort

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    29/40

    Step 5:Schedule the effort

    Step 6:Calculate the Cost

    Step 7:Determine the

    Impact of Risks

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    30/40

    Step 8:Validate and Reconcile theEstimate Via Models and Analogy

    Step 9:Reconcile Estimates, Budget, andSchedule

    Step 10: Review and Approve the

    Estimates

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    31/40

    Step 11: Track, Report, andMaintain the Estimates

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    32/40

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    33/40

    The product is intangible

    There are no standard softwareprocesses

    Large software projects areoften one-off projects

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    34/40

    Reportwritingandpresentation

    Personnelselectionandevaluation

    Project monitoring & reviews

    Product costing

    Projectplanningandscheduling

    Proposalwriting

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    35/40

    Quality lan

    Validationlan

    ConfigurationManagement

    lan

    Maintenancelan

    Staff

    developmentlan

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    36/40

    Introduction

    ProjectOrganisation

    Risk Analysis

    Hardware & Softwareresource requirements

    Work Breakdown

    Project Schedule

    Monitoring & Reporting

    Mechanism

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    37/40

    Milestone is an end point of asoftware process activity

    Milestone is an end point of asoftware process activity

    Deliverable is a project result that isdelivered to the customer , usuallydelivered at the end of a projectphase such as specifications and

    design

    Deliverable is a project result that isdelivered to the customer , usuallydelivered at the end of a projectphase such as specifications and

    design

    Deliverables are usually milestonesbut milestones need not be

    deliverables

    Deliverables are usually milestonesbut milestones need not be

    deliverables

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    38/40

    Estimate the project cost to the supplierthen decide on the price to the

    customer. Prepare cost estimates using different

    techniques. Estimates should becomparable.

    The time required to complete a projectis not simply proportional to the numberof people working on the project.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    39/40

    Algorithmic cost estimation is difficultbecause of the need to estimateattributes of the finished product.

    Algorithmic cost models are a useful aidto project managers as a means ofcomparing different development

    options. The time required to complete a project

    is not simply proportional to the numberof people working on the project.

  • 8/6/2019 Software Cost Est & Project Planning Mgt

    40/40