2 Persons and MonthsCalculated Efforts (in pm) of task/project = Number of persons X duration in monthsThe efforts for a task with 2 persons working for 3 months is 3 x 2 = 6 pmA worker can be full time or part-timeFull-Time Equivalent (FTE) number of workers = Sum (number of part-time x percent) + Number of full time workersFor 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
4 Metrics GuidelinesUse 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.
5 Types of MetricsSize 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.
6 Typical Size-Oriented Metrics errors per KLOC (thousand lines of code)defects per KLOC$ per LOCpage of documentation per KLOCerrors / person-monthLOC per person-month$ / page of documentation
7 Typical Function-Oriented Metrics errors per FP (thousand lines of code)defects per FP$ per FPpages of documentation per FPFP per person-month
9 Computing Function Points F P = Count-total x Complexity(Count-total = count x weight, Complexity = ([ x Fi])
10 Taking Complexity into Account Formula:F P = count-total x [ x Fi]
11 ExerciseCompute the Function Point (FP) value ( F P = count-total x [ x Fi]):Count Weighting FactorNumber of user inputsNumber of user outputsNumber of inquiriesNumber of filesNumber of external interfaceThe complexity adjustments values rating (Fi) are:Critical value of performance: 3Heavy operational environment: 3On line: 3Multiple screen operation: 3On-line master files update: 3Complexity of I/O: 3Complexity of internal processing: 4Backup and recovery: 4Data communications: 4Distributed Processing: 4Reusable code: 4Conversion: 4Multiple installations: 4Facilitation of changes: 4
12 Function Point Value Exercise Total-count= (10x4+20x5+15x4+3x10+5x8)=270 Fi = )= 50Function Points = 270 x ( x50) =310.5 FPs
17 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
18 Empirical Estimation Models General model: E = A + B (ev)c where:A, B, C: empirically derived constantev: estimated variable of size in terms of KLOC or FPSamples models:E= 5.2 (KLOC) .091 (Walston-Felix)E= (KLOC) 1.16 (Bailey-Basili)E=3.2 (KLOC) (Doty)E= FP (Albrech and Gaffney)E= FP (Matson, Barnett, and Mellichamp)
24 Metric for Software Quality CorrectnessMaintainabilityIntegrity = Sum [1 - threat x (1- security)]UsabilityNumber of defects found and removedDefect Removal Efficiency =Total defects that exist at stage
25 Exercise 1Efforts 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 pm2. 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 x x .70 = 4 Full Time workers4 x 2 = 8 pmRequired efforts 9 pm, 1 pm short.
26 Exercise #2Use 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 = .322. If the project must be completed within 15 months, how many additional workers should be hired?
27 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 = .32Efforts= 3.6*(55)1.2 = pmDuration = 2.5 * (441.3).32 = monthsNumber of workers needed: /17.54 = 25.12. 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
29 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?