project estimation: metrics and measurement

29
Project Estimation: Metrics and Measurement

Upload: talisa

Post on 06-Feb-2016

65 views

Category:

Documents


1 download

DESCRIPTION

Project Estimation: Metrics and Measurement. Persons and Months. Calculated Efforts (in pm) of task/project = Number of persons X duration in months The efforts for a task with 2 persons working for 3 months is 3 x 2 = 6 pm A worker can be full time or part-time - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Project Estimation: Metrics and Measurement

Project Estimation:Metrics and Measurement

Page 2: Project Estimation: Metrics and Measurement

Persons and Months Calculated Efforts (in pm) of task/project

= Number of persons X duration in months

The efforts for a task with 2 persons working for 3 months is 3 x 2 = 6 pm

A worker can be full time or part-time Full-Time Equivalent (FTE) number of

workers = Sum (number of part-time x percent) + Number of full time workers

For example: A project with 4 workers at 75%, 3 others at 50%, and 2 full-time. The FTE is: (4X.75)+(3x.5)+2 =6.5 persons

Page 3: Project Estimation: Metrics and Measurement

The mythical person-month

Page 4: Project Estimation: Metrics and Measurement

Metrics Guidelines Use common sense and organizational sensitivity when

interpreting metrics data. Provide regular feedback to the individuals and teams who

have worked to collect measures and metrics. Work with practitioners and teams to set clear goals and

metrics that will be used to achieve them. Don’t use metrics to appraise individuals and never use

metrics to threaten individuals or teams. Metrics data that indicate a problem area should not be

considered “negative.” These data are merely an indicator for process improvement.

Don’t obsess on a single metric to the exclusion of other important metrics.

Page 5: Project Estimation: Metrics and Measurement

Types of Metrics

1. Size oriented metrics: Based on number of lines of code (LOC) to be written.

2. Function oriented metric: Based on number of Function Points (FP) to be completed.

Page 6: Project Estimation: Metrics and Measurement

Typical Size-Oriented Metrics errors per KLOC (thousand lines of

code) defects per KLOC $ per LOC page of documentation per KLOC errors / person-month LOC per person-month $ / page of documentation

Page 7: Project Estimation: Metrics and Measurement

Typical Function-Oriented Metrics

errors per FP (thousand lines of code) defects per FP $ per FP pages of documentation per FP FP per person-month

Page 8: Project Estimation: Metrics and Measurement

Why FP Measures?independent of programming language

uses readily countable characteristics of the "information domain" of the problem does not "penalize" inventive implementations that require fewer LOC than others makes it easier to accommodate reuse and the trend toward object-oriented approaches

Page 9: Project Estimation: Metrics and Measurement

Computing Function Points

Analyze information domain of the application and develop counts

Weight each count by assessing complexity

Assess influence of global factors that affect the application

Compute function points

Establish count for input domain and system interfaces

Assign level of complexity or weight to each count

Grade significance of external factors, F such as reuse, concurrency, OS, ...

degree of influence: N = Fi

complexity multiplier: C = (0.65 + 0.01 x N)

function points = (count x weight) x C

where:

i

F P = Count-total x Complexity(Count-total = count x weight, Complexity = ([0.65 + .01 x Fi])

Page 10: Project Estimation: Metrics and Measurement

Taking Complexity into AccountFactors are rated on a scale of 0 (not important)

to 5 (very important):

data communications distributed functions heavily used configuration transaction rate on-line data entry end user efficiency

on-line update complex processing installation ease operational ease multiple sites facilitate change

Formula:F P = count-total x [0.65 + .01 x Fi]

Page 11: Project Estimation: Metrics and Measurement

ExerciseCompute the Function Point (FP) value ( F P = count-total x [0.65 + .01 x Fi]):

Count Weighting Factor

1. Number of user inputs 10 4

2. Number of user outputs 20 5

3. Number of inquiries 15 4

4. Number of files 3 10

5. Number of external interface 5 8

The complexity adjustments values rating (Fi) are:

1. Critical value of performance: 32. Heavy operational environment: 33. On line: 34. Multiple screen operation: 35. On-line master files update: 36. Complexity of I/O: 37. Complexity of internal processing: 48. Backup and recovery: 49. Data communications: 410. Distributed Processing: 411. Reusable code: 412. Conversion: 413. Multiple installations: 414. Facilitation of changes: 4

Page 12: Project Estimation: Metrics and Measurement

Function Point Value Exercise

1. Total-count= (10x4+20x5+15x4+3x10+5x8)=270

2. Fi = 3+3+3+3+3+3+4+4+4+4+4+4+4+4)= 50

3. Function Points = 270 x (.65 + .01x50) =310.5 FPs

Page 13: Project Estimation: Metrics and Measurement

Cost Estimation

$$$

... occasionally we actually estimate costs — most of the time we merely validate budgetary constraints ...

project scope must be explicitly defined task and/or functional decomposition is necessary historical measures (metrics) are very helpful at least two different techniques should be used remember that uncertainty is inherent

Page 14: Project Estimation: Metrics and Measurement

Conventional Methods

Total Efforts = Estimated efforts required per FP x Size in FPs

Or:

Total efforts = Estimated efforts required per KLOC x Size in KLOCs

KLOC : Thousand Lines of Code

Page 15: Project Estimation: Metrics and Measurement

Empirical Estimation ModelsGeneral form:

effort = tuning coefficient * sizeexponent

usually derived as person-months of effort required

either a constant or a number derived based on complexity of project

usually LOC but may also be function point

empirically derived

Page 16: Project Estimation: Metrics and Measurement

Example: LOC Approach

Functions

UICF

2DGA

3DGA

DSM

CGDF

PCF

DAM

Totals

estimated LOC $/LOC Cost Effort (months)LOC/pm

2340

5380

6800

3350

4950

2140

8400

33,360

14

20

20

18

22

28

18

315

220

220

240

200

140

300

32,000

107,000

136,000

60,000

109,000

60,000

151,000

655,000

7.4

24.4

30.9

13.9

24.7

15.2

28.0

145.0

Page 17: Project Estimation: Metrics and Measurement

Project Staffing Estimation

The unit of measure for project HR efforts is person-months (pm). For a project with two persons who work for one month the total efforts is 2 persons * 1 month = 2 pm.

Efforts in pm= number of full time workers * duration in months

Number of full-time workers = Efforts/ Duration

Page 18: Project Estimation: Metrics and Measurement

Empirical Estimation Models

General model: E = A + B (ev)c where:A, B, C: empirically derived constant

ev: estimated variable of size in terms of KLOC or FP

Samples models:

E= 5.2 (KLOC) .091 (Walston-Felix)

E= 5.5 + .73 (KLOC) 1.16 (Bailey-Basili)

E=3.2 (KLOC) 1.047 (Doty)

E= -13.39 + .0545 FP (Albrech and Gaffney)

E= 585.7 + 15.12 FP (Matson, Barnett, and Mellichamp)

Page 19: Project Estimation: Metrics and Measurement

COCOMO

Actually three different models:

THE BASIC MODEL — a gross estimator that does not take individual complexity characteristics into account THE INTERMEDIATE MODEL — considers 15 factors that are called "cost driver attributes" THE DETAILED MODEL — introduces "phase sensitive effort multipliers" that enable the estimate to be modified and updated as the project continues

Page 20: Project Estimation: Metrics and Measurement

COCOMO: Basic Model

pm = a * KLOC t = c * pm dev

b

d

effort development time

Three different categories of software may be estimated:

category a b c d organic semi-detached embedded

2.4 1.05 2.5 0.38 3.0 1.12 2.5 0.35 3.6 1.20 2.5 0.32

Page 21: Project Estimation: Metrics and Measurement

Example: COCOMOThe estimated number of lines of code is:

33.3 KLOC

Project type is: semi-detached Therefore, pm = 3.0 * KLOC

1.12

= 3.0 (33.3)1.12

= 152 person-months

To compute development time: t = 2.5 pmdev

0.35

= 2.5 (152)0.35

= 14.5 months

Recommended number of people: = 152/14.5 = 11 people

Page 22: Project Estimation: Metrics and Measurement

COCOMO II

Total Efforts in pm = 3.13 x (KLOC)1.072

Example: for a software module of 8050 LOCsTotal efforts= 3.13 X(8.05) 1.072

= 29.28 pmFor a cost of $10,000/pmTotal cost = $29,280

Page 23: Project Estimation: Metrics and Measurement

Estimation Guidelinesdevelop your estimates using at least two techniques

get estimates from at least three independent sources request that estimates be submitted anonomously— you'll avoid over-optimism once you've arrived at an estimate, sleep on it never hesitate to adjust for the people who'll be doing the job—they have the highest impact on productivity keep it simple!

Page 24: Project Estimation: Metrics and Measurement

Metric for Software Quality

Correctness Maintainability Integrity = Sum [1 - threat x (1- security)] Usability Number of defects found and

removed

Defect Removal Efficiency = ------------------------------------------------

Total defects that exist at stage

Page 25: Project Estimation: Metrics and Measurement

Efforts of a 3 person project is originally estimated at 12 person-months. However, after two months only 40% completed. 1. Compute the remaining efforts in person-months.

Let T = total revised effortsEfforts consumed : 3 p x 2 m = 6 pm6 pm = .40 x TT= 15 pm

2. If you wanted to hire more workers to meet the completion schedule, how many should you hire?

Remaining efforts = 15 – 6 = 9 pm for 2 monthsNumber of new hires = (9/2) – 3 = 1.5 (2 rounded)

3. If each new worker only works at 70% capacity and requires training that reduces the productivity of an experienced worker 20%, can the project meet the deadline in the remaining 2 months?

FTE = 2 x .80 + 1 x 1.0 + 2 x .70 = 4 Full Time workers4 x 2 = 8 pmRequired efforts 9 pm, 1 pm short.

Exercise 1

Page 26: Project Estimation: Metrics and Measurement

Exercise #2

Use the Basic COCOMO model to estimate efforts and duration of an embedded software development project with size of 55 KLOC. 1. How many workers should be hired for this project?

Embedded: a=3.6 b=1.2, c= 2.5, d = .32

2. If the project must be completed within 15 months, how many additional workers should be hired?

Page 27: Project Estimation: Metrics and Measurement

Solutions

1. How many workers should be hired for this project?Embedded: a=3.6 b=1.2, c= 2.5, d = .32Efforts= 3.6*(55)1.2 = 441.3 pmDuration = 2.5 * (441.3).32 = 17.54 monthsNumber of workers needed: 441.3/17.54 = 25.1

2. If the project must be completed within 15 months, how many additional workers should be hired?Number of workers required for 15 month completion: 441/15=29.4Additional workers: 29.4 – 25.1 = 4.3 rounded to 5

Page 28: Project Estimation: Metrics and Measurement

Group Project Meeting

Page 29: Project Estimation: Metrics and Measurement

Homework 3: Due Sunday 3/15 @11:59 PMD2L Dropbox

Efforts of a 5 person project is originally estimated at 40 person-months. However, after 3 months only 30% completed. 1. Compute the remaining efforts in person-

months.2. If you wanted to hire more workers to meet the

completion schedule, how many should you hire?

3. If each new worker only works at 70% capacity and requires training that reduces the productivity of an experienced worker 20%, can the project meet the deadline in the remaining 3 months?