+ All Categories
Home > Documents > Effort Estimation

Effort Estimation

Date post: 30-Dec-2015
Category:
Upload: kato-schultz
View: 68 times
Download: 1 times
Share this document with a friend
Description:
Effort Estimation. In WBS ,one can estimate effort ( micro-level ) but needed to know: Size of the deliverable Productivity of resource in producing that deliverable. Effort = Size / Productivity e.g. Effort = 500 loc / (100 loc/person-day) = 5 person-days. - PowerPoint PPT Presentation
Popular Tags:
23
Effort Estimation In WBS ,one can estimate effort (micro-level) but needed to know: Size of the deliverable Productivity of resource in producing that deliverable ffort = Size / Productivity .g. Effort = 500 loc / (100 loc/person-day) = 5 person-days
Transcript

Effort Estimation

• In WBS ,one can estimate effort (micro-level) but needed to know:– Size of the deliverable

– Productivity of resource in producing that deliverable

Effort = Size / Productivity

e.g. Effort = 500 loc / (100 loc/person-day) = 5 person-days

Effort Estimation (in General)• Has been an “art” for a long time because

– many parameters to consider

– unclear of relative importance of the parameters

– unknown inter-relationship among the parameters

– unknown metrics for the parameters

• Historically, project managers– consulted others with past experiences

– drew analogy from projects with “similar” characteristics

– broke the projects down to components and used past history of workers who have worked on “similar” components; then combined the estimates

For example?

What if you are new at this and have no dependable contacts ?

General (MACRO) Model

• There have been many proposed models for estimation of effort in software. They all have a similar general form:– Effort ≡ (product size) & (other influencing factors)

or more formally

– Effort = [a + (b * ((Size)**c))] * [PROD(f’s)]• where :

– Size is the estimated size of the project in loc or function points

– a, b, c, are coefficients derived from past data and curve fitting

» a = base cost to do business regardless of size

» b = fixed marginal cost per unit of change of size

» c = nature of influence of size on cost

– f’s are a set of additional factors, besides Size, that are deemd important

– PROD (f’s) is the “multiplicative product” of the f’s

COCOMO (macro) Estimating Technique

• Developed by Barry Boehm in early 1980’s who had a long history with TRW and government projects (initially LOC based)

• Later modified into COCOMO II in the mid-1990’s (FP included for size, besides LOC)

• Included process activities :– Product Design – Detailed Design– Code and Unit Test– Integration and Test

• Utilized by some but many people still rely on experience and/or own company proprietary data. (some use COCOMO as a companion estimate)

Note that requirements gathering and spec. are not included

Basic Form for Effort

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

• or more “generally”– Effort = [A * (size**C)] * [B ]

– Effort is in “person-months”– A = scaling coefficient – B = coefficient based on 15 parameters– C = a scaling factor for process – Size = delivered source lines of code in “KLOC”

Basic form for Time

• Time = D * (Effort ** E)

– Time = total number of “calendar months”– D = A constant scaling factor for schedule– E = a coefficient to describe the potential

parallelism in managing software development

Past experiences indicate that “time estimate” has usually been more than actual

COCOMO I

• Originally based on 56 projects

• Reflecting 3 modes of projects

– Organic : less complex and flexible process– Semidetached : average complexity project– Embedded : complex, real-time defense

projects

3 Modes are Based on 8 Characteristics

• A. Team’s understanding of the project objective

• B. Team’s experience with similar or related project

• C. Project’s needs to conform with established requirements

• D. Project’s needs to conform with established interfaces

• E. Project developed with “new” operational environments

• F. Project’s need for new technology, architecture, etc.

• G. Project’s need for schedule integrity

• H. Project’s size range

Key Project Characteristics

Organic Mode

Semidetached Mode

Embedded Mode

A Detail degree Considerable degree Know only generally

B Extensive amount Some amount None to modest amount

C Only the basic ones Considerably more than the basic ones

All and full conformance

D Only the basic ones Considerably more than the basic ones

All and full conformance

E Little to some Moderate amount Extensive amount

F None to minimal Some Considerable

G Low Medium Must

H Less than 50K delivered loc

Between 50k and 300k delivered loc

All sizes

Understand requirement

Exp. w/similar project

Conform w/req.

Conform w/int.

New oper. env.

New tech/meth.

Schedule int.

Size

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

Coefficient B

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

• B = product (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;

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;

An example

• Consider an averag e(semidetached) project of 10Kloc:

– 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 and 36% more schedule time if we include product plan and requirements:

• Effort = 39.6 + (39.6 * .08) = 39.6 + 3.16 = 42.76 pm• Time = 9 + (9 * .36) = 9 +3.24 = 12.34 months

Any problem?

Try another example

• Go through the assessment of 15 parameters for the effort adjustment factor, B.

• You may have some concerns :

– Are we interpreting each parameter the same way– Do we have a consistent way to assess the range of

values for each of the parameters– -How good is my size (loc) estimate?

COCOMO II

• Effort performed at USC with many industrial corporations participating

• Has a database of over 80 some projects

• “Early” estimate, preferred to use Function Point instead of LOC for size; “later” estimate may use LOC for size. (loc is harder to estimate without some experience)

• Coefficient B based on 15 parameters for early estimate is “rolled” up to 7 parameters, and for late estimates use 17 parameters.

• Scaling factor for process has 6 categories ranging in value from .00 to .05, in increments of .01

Function Point A non-LOC based estimator

• Often used to assess software “size” and “complexity”

• Started by Albrecht of IBM in late 1970’s

Function Point an estimation of “size”

• LOC as an estimate of “size” has many drawbacks but still used because of physical analogy:

– Different programming languages has different loc meaning

– Measures source code which is not available until implementation phase; it so hard to estimate during early phases of project

FP Utility

• Where is FP used?

– Comparing software in a “normalized fashion” independent of op. system, languages, etc.

– Benchmarking and “Projection” based on “size”: • size -> effort or cost• size -> development schedule• size -> defect rate

– Outsourcing Negotiation

Function Point

• Provides you a way to estimate the size* of the project based on estimating (items from requirements & high level design):– Inputs– Outputs– Inquiries– Files– Interfaces

• After getting the size, then --- still need to have an estimate on productivity and other factors to get effort in person-months:– productivity in: function-point/person-month– ** *Divide the estimated total project function points by the

productivity to get an estimate of person-month or person-days needed.***

Functional/Transaction related

Data related

Function Point (FP) Computation

• Composed of 5 “Primary Factors”– Inputting items (external input items from user or another application)

– Outputting items (external outputs such as reports, messages, screens – not each data item)

– Inquiry (a query that results in a response of one or more data)

– Master and logical files (internal file or data structure or data table)

– External interfaces (data or sets of data sent to external devices, applications, etc.)

• And a “complexity level index” matrix : Simple Average Complex

Input

Output

InquiryLogical files

Interface

3 4 64 5 73 4 67 10 155 7 10

Function Point Computation (cont.)

1. Initial Function Point :

– ∑ (# of Primary Factor (i) x Complexity Level Index for i)

2. There are 14 more “Degree of Influences” ( 0 to 5 scale) :• data communications

• distributed data processing

• performance criteria

• heavy hardware utilization

• high transaction rate

• online data entry

• end user efficiency

• on-line update

• complex computation

• reusability

• ease of installation

• ease of operation

• portability

• maintainability

Function Point Computation (cont.)

• Define Technical Complexity Factor (TCF):

– TCF = .65 + (.01 x DI )

– where DI = ∑ ( influence factor values)

• So note that .65 < TCF < 1.35

• Function Point (FP) = Initial FP x TCF

What’s one Function Point?

• Do you have any experience in converting say ----- 35 function points to effort in person months?

• Is there any standard conversion factor that you may use? – In IBM, during 90s, about 20 function points to 1

person month of effort (this was back in late 1990’s --- may be more productive now).


Recommended