schedule estimation and improvement barry boehm, usc-csse cs 577a, fall 2014 12-20-20121
TRANSCRIPT
![Page 1: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/1.jpg)
Schedule Estimation and Improvement
Barry Boehm, USC-CSSECS 577a, Fall 2014
12-20-2012 1
![Page 2: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/2.jpg)
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-2012 2
![Page 3: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/3.jpg)
©USC-CSSE 3
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
![Page 4: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/4.jpg)
©USC-CSSE 4
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
![Page 5: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/5.jpg)
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-2012 5
![Page 6: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/6.jpg)
Simple Software Development PERT Chart
6
Start
Requirements,3
Test plan,2
Design,4
Test data,2
Test drivers, 6
Code, 4
Document, 2
Product test, 4
Finish
![Page 7: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/7.jpg)
PERT chart development step1 and step2
7
Document, 2
Product test, 4
Finish
![Page 8: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/8.jpg)
PERT chart development step3
8
Code, 4
Document, 2
Product test, 4
Finish
![Page 9: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/9.jpg)
PERT chart development step4
9
Design,4
Test data,2
Test drivers, 6
Code, 4
Document, 2
Product test, 4
Finish
![Page 10: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/10.jpg)
PERT chart development steps 5, 3, 4, 5, 3, 4, 5
10
Requirements,3
Test plan,2
Design,4
Test data,2
Test drivers, 6
Code, 4
Document, 2
Product test, 4
Finish
![Page 11: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/11.jpg)
Critical Path Procedure1. 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 FN=SN+DN ,where DN is the duration of activity N, Label the node N as (SN, FN)
3. Repeat Step 2 until no unlabeled nodes remain.
11
][max)(
iNPi
N FS
![Page 12: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/12.jpg)
Critical path determination after two iterations
12
Start
Requirements,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)
![Page 13: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/13.jpg)
Critical path determination after five iterations
13
Start
Requirements,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)
(7, 11)
(9, 11)
(5, 11)
(11, 15)
(11, 15)
(13, 15)
(7, 9)
(15, 15)
(15, 15)
![Page 14: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/14.jpg)
Latest-Start Procedure1. Underlabel the Finish node F with its start and finish times as
determined from the critical-path procedure, that is (S’F, F’F) = ( SF, FF)
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 - DN where DN is the duration of activity N, Underlabel the node as (S’N, F’N) ,Compute the slack time for the activity as
LN =S’N - SN (or LN =F’N - FN)
3. Repeat Step 2 until no non-underlabeled nodes remain.
14
]'[min')(
iNSi
N SF
![Page 15: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/15.jpg)
Shortening the Critical Path
15
Start
Requirements,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)
![Page 16: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/16.jpg)
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-2013 16
![Page 17: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/17.jpg)
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-2012 17
![Page 18: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/18.jpg)
18
RAD Opportunity TreeAlso in SERC RT-20 Systems 2020 Report, Appendix B
12-20-2012
Figure 3. The RAD Opportunity Tree Business process reengineering Reusing assets Eliminating Tasks Applications generation Design-to-schedule Reducing time per task Tools and automation Work Streamlining (80-20) Increasing parallelism Reducing risks of single-point failures Reducing failures Reducing their effects Reducing backtracking Early error elimination Process anchor points Improving process maturity Collaboration technology Activity network Minimizing task dependencies streamlining Avoiding high fan-in, fan-out Reducing task variance Removing tasks from critical path Increasing effective workweek 24x7 development Nightly builds, testing Weekend warriors Better people and incentives Transition to learning organization
![Page 19: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/19.jpg)
4 Potential Critical Success Factors Areas
Final DatabaseOver 30 Interviews with Gov’t/ Industry Rapid Development
OrganizationsOver 23,500 words from interview notes
Product, Process, People … all in a Project Context
![Page 20: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/20.jpg)
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-2012 20
![Page 21: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/21.jpg)
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-2012 21
![Page 22: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/22.jpg)
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-2012 22
![Page 23: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/23.jpg)
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-2012 23
![Page 24: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/24.jpg)
Risk Acceptance Factor
• Risk Acceptance– Very Low: Highly risk-averse; – Extra High: Strongly risk-accepting
12-20-2012 24
![Page 25: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/25.jpg)
CORADMO-SE Rating Scales, Schedule Multipliers
12-20-2012 25
![Page 26: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/26.jpg)
CORADMO-SE Calibration DataMostly Commercial; Some DoD
12-20-2012 26
![Page 27: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/27.jpg)
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-2012 27
![Page 28: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/28.jpg)
Case Study: From Plan-Driven to Agile
12-20-2012 28
![Page 29: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/29.jpg)
12-20-2012 29
Case Study: From Plan-Driven to AgileInitial 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
![Page 30: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/30.jpg)
12-20-2012 30
Case Study: From Plan-Driven to AgileNext Project: Fix Side Effects; Reduce Bureaucracy
Model estimate: 0.88*(0.92/0.96)*(0.96/1.05) = 0.77 speedupProject results: 0.8 speedupModel tracks project status; identifies further speedup potential
![Page 31: Schedule Estimation and Improvement Barry Boehm, USC-CSSE CS 577a, Fall 2014 12-20-20121](https://reader036.vdocuments.net/reader036/viewer/2022062423/56649e705503460f94b6d510/html5/thumbnails/31.jpg)
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-2012 31