Presentation is loading. Please wait.

Presentation is loading. Please wait.

Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2015 12-20-20121.

Similar presentations


Presentation on theme: "Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2015 12-20-20121."— Presentation transcript:

1 Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2015 12-20-20121

2 Outline Methods for schedule estimation – Size and effort-based: CS 577b interpretation of COCOMO II effort – Plan-based: critical-path analysis – Cost-schedule tradespace analysis CORADMO Expedited Software Development Model – RAD: Rapid Application Development – Expedited Schedule Drivers – Relation to RAD Opportunity Tree RAD Opportunity Tree elements reorganized around product- process-project-people-risk factors determined in SERC Expediting SE study Model calibrated to 12 agile project data points Case Study: From Plan-Driven to Agile 12-20-20122

3 ©USC-CSSE3 Using COCOMO II in CS 577 Begin with COCOMO II bottom-up team estimate –Source lines of code (SLOC) Based on prototype sizing, % of functionality 250 SLOC, 25% of module functionality => 1000 SLOC module Easy to underestimate %; consider off-nominal cases –Using adjustments to CS 577 below –Focus on 577b Construction phase Cross-check with estimate –Using Application Point or Fast Function Point sizing –Effort by activity, rough 577b milestone plan Adjust, try to reconcile both estimates

4 ©USC-CSSE4 COCOMO II Estimates for 577b Disregard COCOMO II (CII) schedule estimates Use COCOMO II effort estimates to determine how large a team needed for 12-week fixed schedule –Assuming 12 hours/week of dedicated effort per person –Assuming 10 of the 12 weeks fill COCOMO II Construction phase (72% of total effort estimate) –Assuming 100 hours/person-month for COCOMO estimates For 577b Construction phase, these are equivalent: –1 577b team member effort = (10 weeks)(12 hours/week) = 120 hrs –1.67*[est'd COCOMO II person month] = (1.67)(100 hours)(0.72) = 120 hrs So, one 577b team member effort = 1.67 COCOMO II PM's And 6 577b team members’ effort = 6*1.67 = 10 COCOMO II PM's – 5 on-campus students + 1 off-campus student or equivalent Or, N COCOMO II PM's / 1.67 = N CS577b team members needed

5 Outline Methods for schedule estimation – Size and effort-based: CS 577b interpretation of COCOMO II effort – Plan-based: critical-path analysis – Cost-schedule tradespace analysis CORADMO Expedited Software Development Model – RAD: Rapid Application Development – Expedited Schedule Drivers – Relation to RAD Opportunity Tree RAD Opportunity Tree elements reorganized around product- process-project-people-risk factors determined in SERC Expediting SE study Model calibrated to 12 agile project data points Case Study: From Plan-Driven to Agile 12-20-20125

6 Simple Software Development PERT Chart 6 Start Requireme nts,3 Test plan,2 Design,4 Test data,2 Test drivers, 6 Code, 4 Document, 2 Product test, 4 Finish

7 PERT chart development step1 and step2 7 Document, 2 Product test, 4 Finish

8 PERT chart development step3 8 Code, 4 Document, 2 Product test, 4 Finish

9 PERT chart development step4 9 Design,4 Test data,2 Test drivers, 6 Code, 4 Document, 2 Product test, 4 Finish

10 PERT chart development steps 5, 3, 4, 5, 3, 4, 5 10 Requireme nts,3 Test plan,2 Design,4 Test data,2 Test drivers, 6 Code, 4 Document, 2 Product test, 4 Finish

11 Critical Path Procedure 1. Label the Start node (0, 0) 2. For all unlabeled nodes N whose predecessors are all labeled nodes, compute the earliest possible start time as the latest finishing time of all its predecessor nodes where P(N) is the set of predecessor nodes of N Compute the corresponding finish time F N =S N +D N,where D N is the duration of activity N, Label the node N as (S N, F N ) 3. Repeat Step 2 until no unlabeled nodes remain. 11

12 Critical path determination after two iterations 12 Start Requireme nts,3 Test plan,2 Design,4 Test data,2 Test drivers, 6 Code, 4 Document, 2 Product test, 4 Finish (0, 0) (0, 3) (0, 2) (3, 7) (3, 5) (2, 8)

13 Critical path determination after five iterations 13 Start Requireme nts,3 Test plan,2 Design,4 Test data,2 Test drivers, 6 Code, 4 Document, 2 Product test, 4 Finish (0, 0) (0, 3) (0, 2) (3, 7) (3, 5) (2, 8) (0, 3) (3, 5) (0, 0) (3, 7) (7, 11) (9, 11) (5, 11) (11, 15) (13, 15) (7, 9) (15, 15)

14 Latest-Start Procedure 1. Underlabel the Finish node F with its start and finish times as determined from the critical-path procedure, that is (S’ F, F’ F ) = ( S F, F F ) 2. For all non-underlabeled nodes N whose successors are all underlabeled nodes, compute the latest possible finish time as the earliest starting time of all its successor nodes. where S(N) is the set of successor nodes of N. Compute the corresponding latest-start time S’ N =F’ N - D N where D N is the duration of activity N, Underlabel the node as (S’ N, F’ N ),Compute the slack time for the activity as L N =S’ N - S N (or L N =F’ N - F N ) 3. Repeat Step 2 until no non-underlabeled nodes remain. 14

15 Shortening the Critical Path 15 Start Requireme nts,3 Test plan,2 Design,3 Test data,2 Test drivers, 6 Code, 2 Document, 2 Product test, 4 Finish (0, 0) (0, 3) (0, 2) (3, 6) (3, 5) (2, 8) (6, 8) (8, 12) (6, 8) (12, 12)

16 Cost-Schedule Tradespace Analysis Generally, reducing schedule adds cost – Pair programming: 60% schedule * 2 people = 120% cost Increasing schedule may or may not add cost – Pre-planned smaller team: less communications overhead – Mid-course stretchout: pay longer for tech, admin overhead Can often decrease both cost and schedule – Lean, agile, value-based methods; product-line reuse Can optimize on schedule via concurrent vs. sequential processes – Sequential; cost-optimized: Schedule = 3 * cube root (effort) 27 person-months: Schedule = 3*3=9 months; 3 personnel – Concurrent, schedule-optimized: Schedule = square root (effort) 27 person-months: Schedule = 5.5 months; 5.4 personnel Can also accelerate agile square root schedule – SERC Expediting SysE study: product, process, people, project, risk 10-22-201316

17 Outline Methods for schedule estimation – Size and effort-based: CS 577b interpretation of COCOMO II effort – Plan-based: critical-path analysis – Cost-schedule tradespace analysis CORADMO Expedited Software Development Model – RAD: Rapid Application Development – Expedited Schedule Drivers – Relation to RAD Opportunity Tree RAD Opportunity Tree elements reorganized around product- process-project-people-risk factors determined in SERC Expediting SE study Model calibrated to 12 agile project data points Case Study: From Plan-Driven to Agile 12-20-201217

18 18 RAD Opportunity Tree Also in SERC RT-20 Systems 2020 Report, Appendix B 12-20-2012

19 4 Potential Critical Success Factors Areas Final Database Over 30 Interviews with Gov’t/ Industry Rapid Development Organizations Over 23,500 words from interview notes Product, Process, People … all in a Project Context

20 Product Factor Elements Product simplicity (of interfaces, legacy migration, -ilities) – Very Low: Extremely complex; Extra High: Extremely simple Ability to reuse product elements – Very Low: None; Extra High: 90% Ability to defer low-impact aspects – Very Low: Never; Extra High: Anytime System definition via models vs. documents – Very low: None; Extra High: 90% Technology maturity of key capabilities – Very Low: >0 Level 1-2 or >1 Level 3; Extra High: All >Level 7 12-20-201220

21 Process Factor Elements Concurrency of OpCon, Rqts., Architecture, V&V – Very Low: Highly sequential; Extra High: Fully concurrent Process streamlining – Very Low: Heavily Bureaucratic; Extra High: Fully streamlined General SE tool support (coverage, integration, maturity: CIM) – Very Low: Simple tools, weak CIM; Extra High: Very strong CIM 12-20-201221

22 Project Factor Elements Collaboration support – Very Low: Globally distributed; weak communications, data sharing – Extra High: Largely collocated; very strong communications, data sharing Single-domain models, methods, processes, tools (MMPTs) – Very Low: Simple MMPTs, weak CIM; Extra High: Extensive CIM Multi-domain models, methods, processes, tools (MMPTs) – Very Low: Simple MMPTs, weak CIM; Extra High: Extensive CIM 12-20-201222

23 People Factor Elements General-SE Knowledge, Skills, and Agility (KSA) – Very Low: Very weak KSA; Extra High: Very strong KSA Single-domain Knowledge, Skills, and Agility (KSA) – Very Low: Very weak KSA; Extra High: Very strong KSA Multi-domain Knowledge, Skills, and Agility (KSA) – Very Low: Very weak KSA; Extra High: Very strong KSA Team compatibility – Very Low: Very difficult interactions – Extra High: Seamless interactions 12-20-201223

24 Risk Acceptance Factor Risk Acceptance – Very Low: Highly risk-averse; – Extra High: Strongly risk-accepting 12-20-201224

25 CORADMO-SE Rating Scales, Schedule Multipliers 12-20-201225

26 CORADMO-SE Calibration Data Mostly Commercial; Some DoD 12-20-201226

27 Outline Methods for schedule estimation – Size and effort-based: CS 577b interpretation of COCOMO II effort – Plan-based: critical-path analysis – Cost-schedule tradespace analysis CORADMO Expedited Software Development Model – RAD: Rapid Application Development – Expedited Schedule Drivers – Relation to RAD Opportunity Tree RAD Opportunity Tree elements reorganized around product- process-project-people-risk factors determined in SERC Expediting SE study Model calibrated to 12 agile project data points Case Study: From Plan-Driven to Agile 12-20-201227

28 Case Study: From Plan-Driven to Agile 12-20-201228

29 12-20-201229 Case Study: From Plan-Driven to Agile Initial Project: Focus on Concurrent SE Expected schedule reduction of 1.09/0.96 = 0.88 (green arrow) Actual schedule delay of 15% due to side effects (red arrows) Model prediction: 0.88*1.09*1.04*1.06*1.06 = 1.13

30 12-20-201230 Case Study: From Plan-Driven to Agile Next Project: Fix Side Effects; Reduce Bureaucracy Model estimate: 0.88*(0.92/0.96)*(0.96/1.05) = 0.77 speedup Project results: 0.8 speedup Model tracks project status; identifies further speedup potential

31 Outline Methods for schedule estimation – Size and effort-based: CS 577b interpretation of COCOMO II effort – Plan-based: critical-path analysis – Cost-schedule tradespace analysis CORADMO Expedited Software Development Model – RAD: Rapid Application Development – Expedited Schedule Drivers – Relation to RAD Opportunity Tree RAD Opportunity Tree elements reorganized around product- process-project-people-risk factors determined in SERC Expediting SE study Model calibrated to 12 agile project data points Case Study: From Plan-Driven to Agile 12-20-201231


Download ppt "Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2015 12-20-20121."

Similar presentations


Ads by Google