images-SE6623_3.1

Embed Size (px)

Citation preview

  • 8/3/2019 images-SE6623_3.1

    1/20

    More on Estimation

    In general, effort estimation is based on severalparameters and the model ( E= a + b*S**c ): Personnel

    Environment

    Quality Size or Volume of work

    Process

    where S is the Size and a, b, and c are constants estimated with

    other parameters

    Some popular Effort Estimation methodologies:

    Function Point

    COCOMO (Constructive Cost Model)

  • 8/3/2019 images-SE6623_3.1

    2/20

    simplified Function Point

    Proposed by Albrecht of IBM as an alternative metricto lines of code count for S, size of product.

    Based on 5 major areas and a complexity table ofsimple, average and complex set of weights as follows:

    input 3 4 6 output 4 5 7

    inquiry 3 4 6

    master files 7 10 15

    interfaces 5 7 10

    The Unadjusted Function Point is : UFP = w*Inp + w2*Out + w3*Inq + w4*MastF +w5*Intf

  • 8/3/2019 images-SE6623_3.1

    3/20

    Function Point (cont.)

    14 technical complexity factors are included, each valued

    between 0 and 5: data communications

    distributed data

    performance criteria

    heavy hardware usage

    high transaction rates

    online data entry

    online updating

    complex computations

    ease of installation ease of operation

    portability

    maintainability

    end-user efficiency reusability

  • 8/3/2019 images-SE6623_3.1

    4/20

    Function Point (cont.)

    The sum of 14 technical complexity factors can

    have values of 0 through 70.

    The the Total Complexity Factor(TCF) is

    defined as:

    TCF = .65 + (.01 * Sum of 14 technical complexityfactors)

    TCF may have values of 0.65 through 1.35.

    Finally, Function Point (FP) is defined as:

    FP = UFP * TCF

    For Cost and Productivity per FP, one may use

    historical data.

  • 8/3/2019 images-SE6623_3.1

    5/20

    Simple Function Point Example

    Consider the previous POWER function project and

    use Simple weights from the table :

    2 inputs, 1 output, 0 inquiry, 0 master file, and 0 interfaces

    UFP = 3* 2 + 4*1 + 3*0 + 7*0 + 5*0 = 10

    consider the 14 complexity factors : 0-data comm; 0-distrib

    data; 0-perf criteria; 0-hardware usage; 0-transaction rate; 1-online data entry; 0-end user efficiency; 0-online update; 5-

    complex computation;0-reusability; 0-ease of install; 0-ease of

    operation; 0-portability; 1-maintainability:

    TCF = .65 + (.01 * 7 ) = .72

    FP = UFP * TCF FP = 10 * .72

    FP = 7.2

  • 8/3/2019 images-SE6623_3.1

    6/20

    Function Point Example (cont.)

    What does 7.2 function points mean in terms of

    schedule and cost estimates ?

    One can receive guidance from IFPUG

    (International Function Point User Group) to

    get some of the $/FP or person-days/FP data. With old IBM services division data of 20

    function points per person month to perform

    complete development, 7.2 FP translates to

    approximately.36 person months or (22days *

    .36 = 7.9 person days) of work.

    Assume $7k/person-month, .36 person months

    will cost about$2.5k.

  • 8/3/2019 images-SE6623_3.1

    7/20

    Some Function Points Drawbacks

    Requires trained people to perform estimates ofwork volume or product size, especially the 14

    technical complexity factors.

    While IFPUG may furnish some broader data,Cost and Productivity figures are different from

    organization to organization.

    e.g. the IBM data takes into account of lots ofcorporate overhead cost

    Some of the Complexity Factors are not that

    important or complex with todays tools.

  • 8/3/2019 images-SE6623_3.1

    8/20

    COCOMO Estimating Technique

    Developed by Barry Boehm in early 1980s who had a longhistory with TRW and government projects (initially, LOCbased )

    Later modified into COCOMO II in the mid-1990s (FP

    preferred but LOC is still used)

    Assumed process activities : Product Design

    Detailed Design

    Code and Unit Test Integration and Test

    Utilized by some but most of the software industry people stillrely on experience and/or own company proprietary data.

    Note : No Requirements !

  • 8/3/2019 images-SE6623_3.1

    9/20

    COCOMO I Basic Form for Effort

    Effort = A * B * (size ** C)

    Effort =person months

    A = scaling coefficient

    B = coefficient based on 15 parameters

    C = a scaling factor for process

    Size = delivered source (K) lines of code

  • 8/3/2019 images-SE6623_3.1

    10/20

    COCOMO I Basic form for Time

    Time = D * (Effort ** E)

    Time = total number ofcalendar months

    D = A constant scaling factor for schedule

    E = a coefficient to describe the potential

    parallelism in managing software development

  • 8/3/2019 images-SE6623_3.1

    11/20

    COCOMO I

    Originally based on 56 projects

    Reflecting 3 modes of projects

    Organic : less complex and flexible process

    Semidetached: average projectEmbedded: complex, real-time defense

    projects

  • 8/3/2019 images-SE6623_3.1

    12/20

    COCOMO I

    For the basic forms:

    Effort = A * B *(size ** C)

    Time = D * (Effort ** E)

    Organic : A = 3.2 ; C = 1.05 ; D= 2.5; E = .38

    Semidetached : A = 3.0 ; C= 1.12 ; D= 2.5; E = .35

    Embedded : A = 2.8 ; C = 1.2 ; D= 2.5; E = .32

  • 8/3/2019 images-SE6623_3.1

    13/20

    Coefficient B

    Coefficient B is an effort adjustment factor based on 15parameters which varied from very low, low,nominal,high,very high to extra high

    B = Product of (15 parameters)

    Product attributes: Required Software Reliability : .75 ; .88; 1.00; 1.15; 1.40;

    Database Size : ; .94; 1.00; 1.08; 1.16;

    Product Complexity : .70 ; .85; 1.00; 1.15; 1.30; 1.65

    Computer Attributes

    Execution Time Constraints : ; ; 1.00; 1.11; 1.30; 1.66

    Main Storage Constraints : ; ; 1.00; 1.06; 1.21; 1.56

    Virtual Machine Volatility : ; .87; 1.00; 1.15; 1.30;

    Computer Turnaround time : ; .87; 1.00; 1.07; 1.15;

  • 8/3/2019 images-SE6623_3.1

    14/20

    Coefficient B (cont.)

    Personnel attributes

    Analyst Capabilities : 1.46 ; 1.19; 1.00; .86; .71;

    Application Experience : 1.29; 1.13; 1.00; .91; .82;

    Programmer Capability : 1.42; 1.17; 1.00; .86; .70;

    Virtual Machine Experience : 1.21; 1.10; 1.00; .90; ; Programming lang. Exper. : 1.14; 1.07; 1.00; .95; ;

    Project attributes

    Use of Modern Practices : 1.24; 1.10; 1.00; .91; .82; Use of Software Tools : 1.24; 1.10; 1.00; .91; .83;

    Required Develop schedule : 1.23; 1.08; 1.00; 1.04; 1.10;

  • 8/3/2019 images-SE6623_3.1

    15/20

    An example

    Consider an average project of10Kloc:

    Effort = 3.0 * B * (10** 1.12) = 3 * 1 * 13.2 = 39.6 pm

    Where B = 1.0 (all nominal)

    Time = 2.5 *( 39.6 **.35) = 2.5 * 3.6 = 9 months

    This requires an additional 8% more effort and36% more

    schedule time forproduct plan and requirements:

    Effort = 39.6 + (39.6 * .o8) = 39.6 + 3.16 =42.76 pm

    Time = 9 + (9 * .36) = 9 +3.24 = 12.34 months

    I am cheating here!

  • 8/3/2019 images-SE6623_3.1

    16/20

    Try the POWER Function Example

    POWER function was assumed to be 100 locof C++ code, fairly simple (or Organic), and

    nominal for B factor:

    Effort = 3.2 * 1 * ( .1 ** 1.05) = appr. 0.3 person- month

    Time = 2.5 * ( .3 ** .38) = appr. 1.5 months

    Note that while it takes only (.3 * 22 person days =6.7 person days), the total project duration will be

    1.5 months.

  • 8/3/2019 images-SE6623_3.1

    17/20

    Some COCOMO I concerns

    Is our initial loc estimate accurate enough ?

    Are we interpreting each parameter the same

    way ? Do we have a consistent way to assess the range

    of values for each of the 15 parameters ?

  • 8/3/2019 images-SE6623_3.1

    18/20

    COCOMO II

    Effort performed at USC with many industrialcorporations participating (still guided by Boehm)

    Has a database of over 80 some projects

    Early estimate, preferred to useFunction Point instead ofLOC for size; later estimate may use LOC for size.

    Coefficient B based on 15 parameters for early estimate is

    rolled up to 7 parameters, and for late estimates use 17parameters.

    Scaling factor for Process has 6 categories ranging invalue from .00 to .05, in increments of .01

  • 8/3/2019 images-SE6623_3.1

    19/20

    Lets look at Our 3 Estimates for

    POWER

    Work Breakdown Structure and personal

    experience:

    Effort : 5 person days

    Time : 3 calendars (done in parallel)

    Function Point and using IBM service divisiondata:

    Effort : 7.9 person days

    Time : 7.9 calendar days (done with 1 person)

    COCOMO I and using Organic, 100 loc, and

    nominal for all B factors:

    Effort : 6.7 person days

    Time : 1.5 calendar months

  • 8/3/2019 images-SE6623_3.1

    20/20

    Estimation Models

    There are many tools and models , butnone seem to have dominated the software

    field.

    Many practicing professionals still dependon personal and proprietary data.

    Some other models :

    Walston-Felix

    SLIM (commercial-proprietary)