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
The mythical person-month
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.
Types of Metrics Size oriented metrics: Based on number of lines of code (LOC) to be written. Function oriented metric: Based on number of Function Points (FP) to be completed.
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
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
Why FP Measures?
Computing Function Points F P = Count-total x Complexity (Count-total = count x weight, Complexity = ([0.65 + .01 x Fi])
Taking Complexity into Account Formula: F P = count-total x [0.65 + .01 x Fi]
Exercise Compute the Function Point (FP) value ( F P = count-total x [0.65 + .01 x Fi]): Count Weighting Factor Number of user inputs 10 4 Number of user outputs 20 5 Number of inquiries 15 4 Number of files 3 10 Number of external interface 5 8 The complexity adjustments values rating (Fi) are: Critical value of performance: 3 Heavy operational environment: 3 On line: 3 Multiple screen operation: 3 On-line master files update: 3 Complexity of I/O: 3 Complexity of internal processing: 4 Backup and recovery: 4 Data communications: 4 Distributed Processing: 4 Reusable code: 4 Conversion: 4 Multiple installations: 4 Facilitation of changes: 4
Function Point Value Exercise Total-count= (10x4+20x5+15x4+3x10+5x8)=270 Fi = 3+3+3+3+3+3+4+4+4+4+4+4+4+4)= 50 Function Points = 270 x (.65 + .01x50) =310.5 FPs
Cost Estimation
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
Empirical Estimation Models
Example: LOC Approach
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
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)
COCOMO
COCOMO: Basic Model
Example: COCOMO
COCOMO II Total Efforts in pm = 3.13 x (KLOC)1.072 Example: for a software module of 8050 LOCs Total efforts= 3.13 X(8.05) 1.072 = 29.28 pm For a cost of $10,000/pm Total cost = $29,280
Estimation Guidelines
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
Exercise 1 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 efforts Efforts consumed : 3 p x 2 m = 6 pm 6 pm = .40 x T T= 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 months Number 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 workers 4 x 2 = 8 pm Required efforts 9 pm, 1 pm short.
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?
Solutions Embedded: a=3.6 b=1.2, c= 2.5, d = .32 1. How many workers should be hired for this project? Embedded: a=3.6 b=1.2, c= 2.5, d = .32 Efforts= 3.6*(55)1.2 = 441.3 pm Duration = 2.5 * (441.3).32 = 17.54 months Number 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.4 Additional workers: 29.4 – 25.1 = 4.3 rounded to 5
Group Project Meeting
Homework 3: Due Sunday 3/15 @11:59 PM D2L Dropbox Efforts of a 5 person project is originally estimated at 40 person-months. However, after 3 months only 30% completed. Compute the remaining efforts in person- months. If you wanted to hire more workers to meet the completion schedule, how many should you hire? 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?