Lecture03-spm

download Lecture03-spm

of 86

Transcript of Lecture03-spm

  • 7/27/2019 Lecture03-spm

    1/86

    Software Project Management

    Software Project Management

    Lecture 3

    Size and Cost Estimation

  • 7/27/2019 Lecture03-spm

    2/86

    Overview

    Different level of estimation Project Evaluation

    Software Project Management 2

    Size Estimation

    Cost Estimation

  • 7/27/2019 Lecture03-spm

    3/86

    Different level of estimation

    Before decision to do a project The estimation is coarse

    Software Project Management 3

    Profit? Good to the organization? etc.

    After decision to go ahead

    More detailed size and cost estimations arerequired

  • 7/27/2019 Lecture03-spm

    4/86

    Project Evaluation

    A high level assessment of the project to see whether it is worthwhile to proceed

    with the ro ect

    Software Project Management 4

    to see whether the project will fit in thestrategic planning of the wholeorganization

  • 7/27/2019 Lecture03-spm

    5/86

  • 7/27/2019 Lecture03-spm

    6/86

    Project Evaluation - Who

    Senior management Project manager/coordinator

    Software Project Management 6

  • 7/27/2019 Lecture03-spm

    7/86

    Project Evaluation - When

    Usually at the beginning of the project e.g. Step 0 of Step Wise Framework

    Software Project Management 7

  • 7/27/2019 Lecture03-spm

    8/86

    Project Evaluation - What

    Strategic assessment Technical assessment

    Software Project Management 8

  • 7/27/2019 Lecture03-spm

    9/86

    Project Evaluation - How

    Cost-benefit analysis Cash flow forecasting

    Software Project Management 9

    - Risk analysis

  • 7/27/2019 Lecture03-spm

    10/86

    Strategic Assessment

    Used to assess whether a project fits in thelong-term goalof the organization

    Usually carried out by senior management

    Software Project Management 10

    Needs a strategic plan that clearly defines theobjectives of the organization

    Evaluates individual projects against the

    strategic plan or the overall businessobjectives

  • 7/27/2019 Lecture03-spm

    11/86

    Strategic Assessment (contd)

    Programme management suitable for projects developed for use in

    the or anization

    Software Project Management 11

    Portfolio management

    suitable for project developed for other

    companies by software houses

  • 7/27/2019 Lecture03-spm

    12/86

    SA Programme Management

    Individual projects as components of aprogramme within the organization

    Programme as a group of projects that are

    Software Project Management 12

    managed in a coordinated way to gainbenefits that would not be possible werethe projects to be managed independently

    by D.C. FernsJournal of Project Management

    Aug. 1991

  • 7/27/2019 Lecture03-spm

    13/86

    SA Programme ManagementIssues

    Objectives How does the project contribute to the

    lon -term oalof the or anization?

    Software Project Management 13

    Will the product increase the marketshare? By how much?

  • 7/27/2019 Lecture03-spm

    14/86

  • 7/27/2019 Lecture03-spm

    15/86

    SA Programme ManagementIssues (contd)

    Organization structure How does the product affect the existing

    or anizational structure? the existin

    Software Project Management 15

    workflow? the overall business model?

  • 7/27/2019 Lecture03-spm

    16/86

  • 7/27/2019 Lecture03-spm

    17/86

  • 7/27/2019 Lecture03-spm

    18/86

    SA Portfolio Management

    suitable for product developed by asoftware company for an organization

    ma need to assess the roduct for the

    Software Project Management 18

    client organization Programme management issues apply

    need to carry out strategic assessmentfor the providing software company

  • 7/27/2019 Lecture03-spm

    19/86

  • 7/27/2019 Lecture03-spm

    20/86

  • 7/27/2019 Lecture03-spm

    21/86

    Economic Assessment

    Why? Consider whether the project is the best

    Software Project Management 21

    Prioritise the projects so that theresources can be allocated effectively if

    several projects are underway

  • 7/27/2019 Lecture03-spm

    22/86

  • 7/27/2019 Lecture03-spm

    23/86

  • 7/27/2019 Lecture03-spm

    24/86

    EA Cost-benefit Analysis(contd)

    Costs Development costs

    Software Project Management 24

    Operational costs

  • 7/27/2019 Lecture03-spm

    25/86

    EA Cost-benefit Analysis(contd)

    Benefits Direct benefits

    Software Project Management 25

    Intangible benefits

  • 7/27/2019 Lecture03-spm

    26/86

  • 7/27/2019 Lecture03-spm

    27/86

  • 7/27/2019 Lecture03-spm

    28/86

  • 7/27/2019 Lecture03-spm

    29/86

  • 7/27/2019 Lecture03-spm

    30/86

    Cost-benefit EvaluationTechniques

    Net profit= Total income Total costs

    Software Project Management 30

    = Time taken to break even

    Return on Investment (ROI)

    %100investmenttotal

    profitannualaverage=

  • 7/27/2019 Lecture03-spm

    31/86

    Cost-benefit EvaluationTechniques NPV

    Net present value (NPV) It is the sum of the present values of all

    future amounts.

    Software Project Management 31

    Present valueis the value which afuture amount is worth at present

    It takes into account the profitability ofa project and the timing of the cashflows

  • 7/27/2019 Lecture03-spm

    32/86

  • 7/27/2019 Lecture03-spm

    33/86

  • 7/27/2019 Lecture03-spm

    34/86

    Cost-benefit EvaluationTechniques NPV (contd)

    Issues in NPV Choosing an appropriate discount rate is

    difficult

    Software Project Management 34

    Ensuring that the rankings of projects arenot sensitive to small changes in discountrate

  • 7/27/2019 Lecture03-spm

    35/86

    Cost-benefit EvaluationTechniques NPV (contd)

    Guidelines: Use the standard rate prescribed by the

    or anization

    Software Project Management 35

    Use interest rate + premium rate Use a target rate of return

    Rank the projects using various discountrates

  • 7/27/2019 Lecture03-spm

    36/86

    Cost-benefit EvaluationTechniques NPV (contd)

    Disadvantage May not be directly comparable with

    earnin s from other investments or the

    Software Project Management 36

    costs of borrowing capital

  • 7/27/2019 Lecture03-spm

    37/86

  • 7/27/2019 Lecture03-spm

    38/86

  • 7/27/2019 Lecture03-spm

    39/86

  • 7/27/2019 Lecture03-spm

    40/86

    Estimation

    Why? to define the project budgetand to refine the product to realize the

    Software Project Management 40

    Who? the manager

    What? size and cost

    When? always How? techniques and models

  • 7/27/2019 Lecture03-spm

    41/86

    Issues related to Estimation

    Difficult to make accurate estimation Better to have previous data and analyze the

    actual values against their estimates so that

    Software Project Management 41

    you know how accurate you are Even better to have previous data of the

    whole organization so that you know how

    accurate the estimation method, if any, usedwithin the organization is

  • 7/27/2019 Lecture03-spm

    42/86

    Positive Attitude TowardsEstimation

    Use your estimation as a guide tomanage your project

    Software Project Management 42

    ,

    your estimation based on the currentstatus of the project

  • 7/27/2019 Lecture03-spm

    43/86

    Estimation Approaches

    Expert judgementAsk the knowledgeable experts

    Estimation b analo

    Software Project Management 43

    Use the data of a similar and completed

    project

    Pricing to win Use the price that is low enough to win the

    contract

  • 7/27/2019 Lecture03-spm

    44/86

    Estimation Approaches(contd)

    Top-down An overall estimate is determined and then broken

    down into each component task

    Software Project Management 44

    Bottom-up The estimates of each component task are

    aggregated to form the overall estimate

    Algorithmic model Estimation is based on the characteristics of the

    product and the development environment.

  • 7/27/2019 Lecture03-spm

    45/86

    Size Estimation

    Problems related to size estimation Size Estimation Model

    Software Project Management 45

  • 7/27/2019 Lecture03-spm

    46/86

    Problems related to sizeestimation

    Nature of software Novel application of software

    Software Project Management 46

    Lack of homogeneity of projectexperience

    Subjective nature of estimation

    Political implications within theorganization

  • 7/27/2019 Lecture03-spm

    47/86

    Function Point Analysis (FPA)

    Developed by A. Albrecht in IBMAim: To estimate the LOC of a system

    Software Project Management 47

    LOC of system

    = FP of system LOC-per-FP of the

    language

    F i P i A l i

  • 7/27/2019 Lecture03-spm

    48/86

    Function Point Analysis(contd)

    Idea: Software system consists of fivemajor components (or, external usertypes)

    Software Project Management 48

    External input types External output types

    Logical internal file types

    External interface file types External inquiry types

  • 7/27/2019 Lecture03-spm

    49/86

    Function Point Analysis - Steps

    Identify each instance of each externaluser type in the proposed system

    Software Project Management 49

    ,

    medium or low complexity

    Assign the FP of each instance

    FP of the system = sum of FP ofindividual components

  • 7/27/2019 Lecture03-spm

    50/86

    Function Point Analysis

    Number of FPs ComplexityExternal user type Low Average High

    Software Project Management 50

    x erna npu ype

    External output type 4 5 7

    Logical internal file type 7 10 15

    External interface file type 5 7 10

    External inquiry type 3 4 6

  • 7/27/2019 Lecture03-spm

    51/86

    F ti P i t A l i

  • 7/27/2019 Lecture03-spm

    52/86

    Function Point Analysis(contd)

    Other issues The assignment of level of complexity is

    rather sub ective

    Software Project Management 52

    International FP User Group (IFPUG)imposes rules on assigning the level ofcomplexity to individual external user types

  • 7/27/2019 Lecture03-spm

    53/86

    Object Point Analysis

    Similar to function point analysis Used on 4GL development projects

    Software Project Management 53

    more readily identifiable if the system isbuilt on high-level application building

    tools

  • 7/27/2019 Lecture03-spm

    54/86

    Object Point Analysis Steps

    Identify the number of screens, reportsand 3GL components

    Software Project Management 54

    ,

    and DifficultAssign the weight accordingly

    Calculate the total object pointsTotal OP = sum of individual OP weighting

    Object Point Analysis Steps

  • 7/27/2019 Lecture03-spm

    55/86

    Object Point Analysis Steps(contd)

    Deduct the reused objects (r% reused)NOP = OP (1 r%)

    Identif the roductivit rate of both

    Software Project Management 55

    developer and CASE Productivity rate = average of the two

    PRs

    Calculate the effortEffort = NOP / Productivity Rate

    Object Point Analysis

  • 7/27/2019 Lecture03-spm

    56/86

    Object Point Analysis Screens

    Number and source of data tables

    Number of Total < 4

    Total < 8

    -

    Total 8+

    Software Project Management 56

    contained

    ,

    5 client)

    < 3 Simple Simple Medium

    3 7 Simple Medium Difficult

    8+ Medium Difficult Difficult

    Object Point Analysis

  • 7/27/2019 Lecture03-spm

    57/86

    Object Point Analysis Reports

    Number and source of data tables

    Number of Total < 4

    Total < 8

    -

    Total 8+

    Software Project Management 57

    contained

    ,

    5 client)

    < 2 Simple Simple Medium

    2 or 3 Simple Medium Difficult

    > 3 Medium Difficult Difficult

    Object Point Analysis

  • 7/27/2019 Lecture03-spm

    58/86

    Object Point Analysis Complexity Weightings

    Complexity

    Type of object Simple Medium Difficult

    Software Project Management 58

    Screen 1 2 3

    Report 2 5 8

    3GL component N/A N/A 10

    Object Point Analysis

  • 7/27/2019 Lecture03-spm

    59/86

    Object Point Analysis Productivity Rate

    Verylow Low Nominal High VeryHigh

    Software Project Management 59

    v r

    experienceand capability

    4 7 13 25 50

    CASEmaturity andcapability

    4 7 13 25 50

  • 7/27/2019 Lecture03-spm

    60/86

    Object Point Analysis Issues

    Adopted in Boehms COCOMO II in theapplication composition stage

    Software Project Management 60

    Object Point Analysis

  • 7/27/2019 Lecture03-spm

    61/86

    Object Point Analysis Example

    See separate handout

    Software Project Management 61

  • 7/27/2019 Lecture03-spm

    62/86

    Cost Estimation

    Cost Estimation Model COCOMO II

    Software Project Management 62

    Constructive Cost Model II

  • 7/27/2019 Lecture03-spm

    63/86

    Constructive Cost Model II

    (COCOMO II)

    A parametric cost model Important aspects of software projects are

    characterized b variables or arameters

    Software Project Management 63

    Once the value of the parameters aredetermined, the cost can be computedfrom an equation

  • 7/27/2019 Lecture03-spm

    64/86

    COCOMO II (contd)

    Recognizes different approaches tosoftware development

    Software Project Management 64

    , .

  • 7/27/2019 Lecture03-spm

    65/86

    A history of COCOMOs

    COCOMOoriginally proposed by Boehmin 1981, now called COCOMO 81

    Software Project Management 65

    In 1995, Boehm proposed COCOMO II

  • 7/27/2019 Lecture03-spm

    66/86

    COCOMO II

    A family of models Uses different models in 3 different stages

    of the ro ect

    Software Project Management 66

    3 stages: application composition, earlydesign and post architecture

    Supports estimation early in the process

    Allows further detailed estimation after thesystem architecture has been defined

  • 7/27/2019 Lecture03-spm

    67/86

    The Application Composition

  • 7/27/2019 Lecture03-spm

    68/86

    The Application Composition

    Stage

    Estimation at the early stage Corresponding to exploratory work such

    Software Project Management 68

    Uses object points to estimate the sizeof the product

  • 7/27/2019 Lecture03-spm

    69/86

    The Early Design Stage

    Estimate after the requirementsspecification is completed and possiblywith some design

    Software Project Management 69

    Use the basic model equation Estimate the size by FPs (preferred) or

    KSLOC

    Estimate scale factor and effortmultiplier

    The Early Design Stage

  • 7/27/2019 Lecture03-spm

    70/86

    y g g

    Scale Factor

    Estimation of the scale factorA combined effect of 5 parameters

    Software Project Management 70

    Process flexibility

    Architecture risk resolution

    Team cohesion Process maturity

    The Early Design Stage

  • 7/27/2019 Lecture03-spm

    71/86

    y g g

    Scale Factor (contd)

    ParameterVery Low

    (0.05)

    Low

    (0.04)

    Nominal

    (0.03)

    High

    (0.02)

    Very High

    (0.01)

    Extra High

    (0.00)

    PrecedentednessThoroughly

    unprecedentedLargely

    unprecedentedSomewhat

    unprecedentedGenerallyfamiliar

    Largelyfamiliar

    Thoroughlyfamiliar

    Software Project Management 71

    Development

    flexibilityRigorous

    Occasional

    relaxation

    Some

    relaxation

    General

    conformity

    Some

    conformity

    General

    goals

    Architecture riskresolution

    Little

    20%

    Some

    40%

    Often

    60%

    Generally75%

    Mostly

    90%

    Full

    100%

    Team cohesion

    Very difficult

    interactions

    Some difficult

    interactions

    Basically

    cooperative

    Largely

    cooperative

    Highly

    Cooperative

    Seamless

    interactions

    Process maturity Level 1 Level 2 Level 2+ Level 3 Level 4 Level 5

    The Early Design Stage

  • 7/27/2019 Lecture03-spm

    72/86

    y g g

    Scale Factor (Contd)

    Calculate the scale factor based on theequation

    =

    Software Project Management 72

    .

    The Early Design Stage

  • 7/27/2019 Lecture03-spm

    73/86

    y g g

    Effort Multiplier

    7 factors in Effort Multiplier product Reliability and ComPleXity (RCPX)

    required reusability (RUSE)

    Software Project Management 73

    Platform DIFficulty (PDIF) PERSonnel capability (PERS)

    PeRsonnel EXperience (PREX)

    FaCILities available (FCIL) SChEDule pressure (SCED)

    The Early Design Stage

  • 7/27/2019 Lecture03-spm

    74/86

    y g g

    Effort Multiplier (contd)

    Assess each factor byVery low, low, nominal, high, very high,

    and extra hi h

    Software Project Management 74

    Assign each factor using a valuebetween 0.5 and 1.5 (inclusive)

    EM is the product of all these values

    The Early Design Stage

  • 7/27/2019 Lecture03-spm

    75/86

    Effort Multiplier (contd)

    Early Design Very Low Extra High

    RCPX 0.5 1.5

    Software Project Management 75

    PDIF 0.5 1.5PERS 1.5 0.5

    PREX 1.5 0.5

    FCIL 1.5 0.5

    SCED 1.5 0.5

    The Early Design Stage

  • 7/27/2019 Lecture03-spm

    76/86

    Example

    See separate handout

    Software Project Management 76

  • 7/27/2019 Lecture03-spm

    77/86

    The Post-architecture Stage

    Estimation after the softwarearchitecture has been defined

    he same basic model e uation

    Software Project Management 77

    Size estimation by KSLOC (preferred) orFPs

    Same scale factor estimation

    17 factors in EM (7 in early designstage)

    The Post-architecture Stage

  • 7/27/2019 Lecture03-spm

    78/86

    Effort Multiplier

    17 factors in 4 different categories

    Product attributes

    Software Project Management 78

    Personnel attributes Project attributes

    The Post-architecture Stage

  • 7/27/2019 Lecture03-spm

    79/86

    Effort Multiplier

    Product attributes

    Required reliability (RELY)*

    Software Project Management 79

    Product complexity (CPLX)* Required reuse (RUSE)**

    Documentation (DOCU)

    *Relate to RCPX in early design stage

    The Post-architecture Stage

  • 7/27/2019 Lecture03-spm

    80/86

    EAF (Contd)

    Platform attributes

    execution TIME constraint (TIME)*

    *

    Software Project Management 80

    Platform VOLatility (PVOL)**Related to Platform DIFficulty (PDIF) in

    early design stage

    The Post-architecture Stage

  • 7/27/2019 Lecture03-spm

    81/86

    EAF (Contd)

    Personnel attributes

    Analyst CAPabilities (ACAP)^

    *

    Software Project Management 81

    Programmer CAPabilities (PCAP)^ Personnel EXPerience (PEXP)*

    programming Language/Tool EXperience

    (LTEX)*

    Personnel CONtinuity (PCON)^

    The Post-architecture Stage

  • 7/27/2019 Lecture03-spm

    82/86

    EAF (Contd)

    Project attributes

    use of software TOOLs (TOOL)*

    Software Project Management 82

    communications (SITE)**Relate to FCIL in early design model

  • 7/27/2019 Lecture03-spm

    83/86

    EAF Relations

    Early Design Post-Architecture

    RCPX RELY, DATA, CPLX, DOCU

    Software Project Management 83

    PDIF TIME, STOR, PVOLPERS ACAP, PCAP, PCON

    PREX AEXP, PEXP, LTEX

    FCIL TOOL, SITE

    SCED SCED

    The Post-architecture Stage

  • 7/27/2019 Lecture03-spm

    84/86

    Example

    See separate handout

    Software Project Management 84

  • 7/27/2019 Lecture03-spm

    85/86

    COCOMO II (contd)

    Advantages

    Good improvementover COCOMO

    Disadvantages

    Still immature,diverse projects in

    Software Project Management 85

    Good match for

    iterativedevelopment,modern technology,and managementprocess

    a a ase

    Hard to believe thatit will be any morereliable than theoriginal COCOMOmodel

  • 7/27/2019 Lecture03-spm

    86/86

    References

    Hughes, B., and Cotterell, M. (1999) Software

    project management, 2nd ed., McGraw Hill Pfleeger, S.L. (1998) Software Engineering:

    Software Project Management 86

    ,

    Royce, W. (1998) Software ProjectManagement: A Unified Framework, AddisonWesley

    Center for Software Engineering, USC (1999)COCOMO II Model Definition Manual.