ESD.36 System Project Management + - Lecture 7 The Rework Cycle Instructor(s) Dr. James Lyneis Copyright © 2012 James M Lyneis. + Today’s Agenda Overview: Causes of Project Dynamics The Rework Cycle Integrating Tools in Project Planning Simple Model of Project Dynamics, Pt. 1 2 + - Typical Behavior Modes on a Project Project Staffing Productivity (Normalised) 2 Typical Plan 1 Typical Plan Time Time © 2001 John Wiley & Sons, Ltd. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/fairuse. 3 + Drivers of Project Dynamics The “rework cycle” Feedback effects Negative, controlling Positive, re-enforcing, often “vicious circles” Knock-on or domino effects within or between work phases Knock-on or domino effects between projects 4 + Today’s Agenda Overview: Causes of Project Dynamics The Rework Cycle Integrating Tools in Project Planning Simple Model of Project Dynamics, Pt. 1 5 Network Diagram for NMM Case (from 2010 Homework #1) + - i, Diesel Dev c, Diesel Specs d, Elec Drive Specs a, Start n, Diesel Delivery j, Elec Drive Dev b, Req o, Integra tion k, Chassis Design e, Layout w, Road Test m, Internal Fittings y, Finish t, PowerVehicle Integ l, Body Design s, Body/ Chassis Prototype f, Electronics Design p, Electronics Delivery g, Soft ware Specs r, Charging Assembly U, Final Assembly v, Dynamo Lab Test x, Car Show Setup q, Electronics Software Integ h, Soft ware Dev 6 + - The Network View of a Program – Task Accomplishment Task Accomplishment – Task X Productivity Staff Work Done Work to Do Work Being Accomplished 7 + Network Diagram for NMM Case - Productivity Staff Work Done Work to Do i, Diesel Dev c, Diesel Specs d, Elec Drive Specs a, Start o, Integra tion k, Chassis Design e, Layout r, Charging Assembly w, Road Test m, Internal Fittings y, Finish t, PowerVehicle Integ l, Body Design s, Body/ Chassis Prototype f, Electronics Design p, Electronics Delivery g, Soft ware Specs Two stocks and one flow subsumed within each task of network diagram n, Diesel Delivery j, Elec Drive Dev b, Req Work Being Accomplished U, Final Assembly v, Dynamo Lab Test x, Car Show Setup q, Electronics Software Integ h, Soft ware Dev 8 + Aggregate Model of Network View - Productivity Staff Work Backlogs and Flow Work to Do 1,000 Tasks 100 Tasks/Month Work to Do + + Work Being Accomplished Work Done Initial Work to Do 500 Tasks 50 Tasks/Month Work Being Accomplished 0 Tasks 0 Tasks/Month 0 Initial Work to Do = 1000 tasks Productivity = 1 task/mo/person Staff = 40 people Work Done 5 10 15 Work to Do : Traditional View Work Done : Traditional View Work Being Accomplished : Traditional View 20 25 30 Time (Month) 35 40 45 50 Tasks Tasks Tasks/Month 9 + - Data Often Tell a More Complex Story Productivity Work to Do + Staff + Work Being Accomplished Work Done PRODUCTIVITY? OR... 10 + Effort is being spent elsewhere … - Productivity Staff Work to Do x WorkzBeing Accomplished Fraction Correct and Complete (0-1: fraction not to be reworked) y Work Done Rework Creation Rework Execution Rework Sep 11, 2007 11 + Definitions Productivity -Work accomplished per hour of effort, regardless of completeness or correctness Fraction Correct & Complete -Fraction of work just accomplished that will not need rework. “Work Quality” Later we will revisit the iron triangle to consider “delivered quality.” 12 + - The Rework Cycle Effort Applied Productivity + Original Work to Do Rework to Do + Fraction Correct and Complete - Progress Rework Generation Progressx Rew ork Rework Discovery - + Work Done Undiscovered Rework Delay! TimeintoDiscovering Discover Rework Delay Rework 13 + Adding Rework Delays Completion … - Work Done Undiscovered Rework 1,000 60 No Rework 45 With Rework 500 250 Tasks Tasks 750 30 15 0 0 5 10 15 20 25 30 Time (Month) Work Done : Traditional With Rework Work Done : Traditional View 35 40 45 50 0 0 5 10 15 20 25 30 Time (Month) 35 40 45 50 Undiscovered Rework : Traditional With Rework 14 + - So, What Happens on Projects? Staff Effort on Initial Work Effort on Rework TIME 15 Rework creates and extended staffing tail + - Simulated Actual 800. Work Assignments of Staff to... 800. Disguised results from actual aerospace project 600. Total 600. Approximate Original Plan … Staffing experiences an extended tail 400. 400. Rework 200. Original Work 200. 0 0 3 6 9 Year 12 15 18 0 21 0 3 6 9 12 15 18 21 17 © 2001 John Wiley & Sons, Ltd. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/fairuse. 16 + … or a second staffing peak - Work Assignments of Staff to... Program Staff, Simulated vs. Data (Equivalent Staff) Simulated Actual Original Plan Original Work 400. Rework 400. Disguised results from actual vehicle project Disguised results from actual vehicle project 300. 300. … A second staffing peak 200. 200. 100. Original Work Rework 100. 0 0 Year 1 Year 2 Year 3 Year 4 TIME Year 5 Year 6 Year 1 20 Year 2 Year 3 Year 4 TIME Year 5 Year 6 © 2001 John Wiley & Sons, Ltd. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/fairuse. 17 + - Consequences of Undiscovered Rework Effort Applied Productivity + + Progress Fraction Correct and Complete - Rework Generation Original Work to Do Work Done Progressx Rework to Do Rework Discovery Rework Undiscovered Rework 1.Overestimates of Progress 18 + Additional Metrics (Used in Model) Fraction Reported to be Complete = (Work Done + Undiscovered Rework) / Initial Work to Do Fraction of Work Really Complete = (Work Done) / Initial Work to Do 19 - Undiscovered rework generates progress-measuring errors … Progress 1 Reported 0.75 Fraction + Really 0.5 Undiscovered Rework 0.25 0 0 5 10 15 20 25 30 Time (Month) 35 40 45 50 Fraction Reported Complete : Traditional With Rework3 Fraction Really Complete : Traditional With Rework3 20 Rework Cycle Creates “The Lost-Year”... + - Design Progress (Percent Complete) 100. Simulated 75. The Lost Year 50. Real Progress 25. 0. Year 1 Year 2 Year 3 Year 4 Year 5 Year 6 Time Source: Ken Cooper Year 7 Year 8 Year 9 Disguised results from actual aerospace project 21 + and the “90% Syndrome” --- - Design Progress (Percent Complete) 100. Simulated 75. Disguised results from actual aerospace project 50. 25. 0. 1/85 1 Year 1/89 Year2 1/91 3 Year 1/934 Year 1/955 Year 1/976 Year 1/997 Year 1/01 8 Year TIME 22 + - Survey Question 1 Does your organization measure rework? 1. Yes, we keep data on how much rework is being discovered 2. Yes, we keep data on how much work being done is rework (vs original work) 3. Yes, both 1 and 2 4. No, we do not keep data on rework being discovered 23 + - Survey Question 2 Does your organization recognize rework in executing the project? 1. Yes, by adjusting progress estimates to reflect expected remaining undiscovered rework 2. Yes, by building rework tasks into the project graph 3. Both 1 and 2 4. No, we only react as rework is discovered 24 + - Consequences of Undiscovered Rework Effort Applied Productivity + + Progress Fraction Correct and Complete - Rework Generation Original Work to Do Work Done Progressx Rework to Do Rework Discovery Rework Undiscovered Rework 2. Build Errors Into Downstream Work 1. Overestimates of Progress 25 + - Survey Question 3 How significant is the “Errors on Errors” feedback on typical projects in your organization? 1. Very 2. Modest 3. Weak 4. None 26 + Units of Work – SD Model “Tasks” -- ideally, of uniform size and fungible In actual applications, might use things like: Drawings, work packages, lines of code, … Tons of concrete, feet of steel, feet of wiring, ... Parts designed Sometimes % Can represent “precedence” constraints 27 + - “Quality” Need to distinguish between: Instantaneous “work quality” (fraction correct and complete) Delivered “quality” – remaining “bugs” (undiscovered rework) when product shipped Product capabilities, “fit and finish” (a part of scope in model) 28 + Fraction Correct and Complete Represents unplanned iterations; planned iterations are separate tasks Sources of errors many fold: Mistakes from inexperience, fatigue, … Technical complexity/uncertainty Work done “correctly” but ultimately needing rework because it builds on Incorrect prior work Assumptions about technology or customer requirements which prove incorrect 29 + Two Types of Iteration - Planned Iteration Caused by needs to “get it right the first time.” We know where these iterations occur, but not necessarily how much. Planned iterations should be facilitated by good design methods, tools, and coordination. Separate tasks in the rework cycle Unplanned Iteration Caused by errors and/or unforeseen problems. We generally cannot predict which unplanned iterations will occur. Unplanned iterations should be minimized using risk management methods. “Quality” problems in the rework cycle 30 + Qualitative Insights Undiscovered Rework is one of the most important single factors driving schedule and budget overruns Most management reporting systems overestimate real progress and discourage reporting of rework 31 + - Lessons: Recognize the rework cycle and minimize its consequences Productivity + Original Work to Do Rework to Do + - Progress Rework Generation Progressx Rew ork Rework Discovery - Reduce Increase Effort Applied Fraction Quality Correct and Complete Undiscovered Rework + DelaytoinDiscover Discovering Rework Time Rework Work Done Build Errors Into Downstream Work Overestimates of Progress Be Realistic 32 Dynamics of Project Performance + - The “rework cycle” Fraction correct and complete Undiscovered rework Feedback effects on productivity and fraction correct (Next class) Negative, controlling Positive, re-enforcing, often “vicious circles” Knock-on effects between work phases (Next) Availability and quality of work products Progress to discover upstream rework 33 + Today’s Agenda Causes of Project Dynamics The Rework Cycle Integrating Tools in Project Planning Simple Model of Project Dynamics, Pt. 1 34 + Fundamental Approaches Network-based (graph theory) methods b a c Matrix-based methods CPM, PERT, …. Task is a node or an arc DSM - Tasks are columns and rows Interrelationships are off-diagonal entries Feedback loops, causal relationships Stocks and flows simulation Tasks that are done or waiting to be done are stocks – “amount of work” Doing project work causes a “flow” What have we learned thus far? e x x xx x x x x x x System Dynamics d W ORK TO BE DONE PEO PLE PRODUCTIVITY W ORK BEING DONE W ORK DONE 35 + 1 Network View of CityCar Project - 3 2 4 23 7 5 6 13 8 12 15 9 11 10 14 17 16 18 22 24 19 21 27 20 28 25 26 30 31 29 32 33 34 35 37 36 39 38 40 Network Diagram for NMM Case (from 2010 Homework #1) + - i, Diesel Dev c, Diesel Specs d, Elec Drive Specs a, Start n, Diesel Delivery j, Elec Drive Dev b, Req o, Integra tion k, Chassis Design e, Layout r, Charging Assembly w, Road Test m, Internal Fittings y, Finish t, PowerVehicle Integ l, Body Design s, Body/ Chassis Prototype f, Electronics Design p, Electronics Delivery g, Soft ware Specs Note: Diesel, Elec Drive, and Software do not show separate “design” and “build” tasks. U, Final Assembly v, Dynamo Lab Test x, Car Show Setup q, Electronics Software Integ h, Soft ware Dev 37 + - Organizing the Tasks by “Metatask” Requirements Definition i, Diesel Dev c, Diesel Specs Body & Chassis Design k, Chassis Design b, Req e, Layout g, Soft ware Specs n, Diesel Delivery Vehicle & Powertrain Integration j, Elec Drive Dev d, Elec Drive Specs a, Start Diesel & Electric Drive Design s, Body/ Chassis Prototype l, Body Design f, Electronics Design o, Integra tion Testing & Completion r, Charging Assembly t, PowerVehicle Integ w, Road Test U, Final Assembly y, Finish v, Dynamo Lab Test m, Internal Fittings x, Car Show Setup p, Electronics Delivery Final Assembly h, Software Dev q, Electronics Software Integ Electronics & Software Design 38 + - “Gantt” Chart with Metatasks Shown Note: dates approximate; JML estimates of Diesel & Electric, Software Design/Build Split 2010 Jan Feb Requirements Definition a b c d g Start Requirements Diesel Specs Elec Drive Specs Software Specs 1/1/10 60 1/1/10 3/25/10 a 30 3/25/10 5/6/10 b 30 3/26/10 5/6/10 b 72 3/26/10 7/5/10 b 40 3/26/10 6/1/10 b 6/2/10 10/21/10 e Mar Apr May June July Aug Sept Oct Nov Dec 2011 Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec Requirements Design Build/Test Coupled Body & Chassis e k l s Layout Chassis Design Body Design Body Chassis Prototype 102 90 6/2/10 10/5/10 e 48 10/22/10 12/28/10 k,l Electronics & Software f h p q Electronics Design Software Dev Electronics Delivery Electronics Software Int 90 5/7/10 150 9/10/10 72 9/9/10 b,c,d 4/7/11 9/10/10 12/20/10 g,f g,f 30 4/8/11 5/19/11 h,p 180 5/7/10 1/13/11 c 90 5/7/10 9/9/10 d 12 1/14/11 1/31/11 i 60 2/1/11 4/25/11 j,n 12 4/26/11 5/11/11 j,o 60 5/20/11 8/11/11 q,r,s Diesel & Electric Drive i j n Diesel Dev Elec Drive Dev Diesel Delivery & Check Vehicle & Power Train Int o r t Integration Charging Assembly Power Vehicle Int Final Assembly m u Internal Fittings Final Assembly 48 10/22/10 12/28/10 k,l 30 8/12/11 9/22/11 m,t 30 9/23/11 11/3/11 u 72 11/4/11 2/13/12 v 45 11/4/11 1/5/12 v Testing & Completion v w x y Dynamo Lab Test Road Test Car Show Setup Finish 2/13/12 39 What Messages Come From DSM and SD regarding the network/Gantt plan? + DSM ? SD ? How/when is rework discovered? 40 + - DSM Identifies Coupled Tasks & Areas of Unplanned Iterations (from Homework #2) Requirements Definition i, Diesel Dev c, Diesel Specs Body & Chassis Design k, Chassis Design b, Req e, Layout g, Soft ware Specs n, Diesel Delivery Vehicle & Powertrain Integration j, Elec Drive Dev d, Elec Drive Specs a, Start Diesel & Electric Drive Design s, Body/ Chassis Prototype l, Body Design f, Electronics Design o, Integra tion Testing & Completion r, Charging Assembly t, PowerVehicle Integ w, Road Test U, Final Assembly y, Finish v, Dynamo Lab Test m, Internal Fittings x, Car Show Setup p, Electronics Delivery Final Assembly h, Software Dev q, Electronics Software Integ Electronics & Software Design Coupled Tasks – Possible planned Iterations (in design) Unplanned Iterations (why not back to design phase?) 41 + - “Gantt” Chart With Coupled Tasks Shown 2010 Jan Feb Requirements Definition a b Start Requirements 60 1/1/10 3/25/10 a c Diesel Specs 30 3/25/10 5/6/10 b d g Elec Drive Specs Software Specs 30 3/26/10 5/6/10 b 72 3/26/10 7/5/10 b 40 3/26/10 6/1/10 b 6/2/10 10/21/10 e 1/1/10 Body & Chassis e Layout k l Chassis Design Body Design s Body Chassis Prototype 102 90 6/2/10 10/5/10 e 48 10/22/10 12/28/10 k,l Electronics & Software f h Electronics Design Software Dev p q Electronics Delivery Electronics Software Int 90 5/7/10 150 9/10/10 72 9/9/10 b,c,d 4/7/11 9/10/10 12/20/10 g,f Mar Apr May June July Aug Sept Oct Nov Dec Requirements Design Build/Test Coupled 2011 Jan Feb Mar Apr May June July Aug Sept Oct Nov Dec Observation/ Question: no coupling between major design phases? g,f 30 4/8/11 5/19/11 h,p 180 5/7/10 1/13/11 c 90 5/7/10 9/9/10 d 12 1/14/11 1/31/11 i 60 2/1/11 4/25/11 j,n 12 4/26/11 5/11/11 j,o 60 5/20/11 8/11/11 q,r,s Diesel & Electric Drive i j Diesel Dev Elec Drive Dev n Diesel Delivery & Check Vehicle & Power Train Int o r t Integration Charging Assembly Power Vehicle Int Final Assembly m u Internal Fittings Final Assembly 48 10/22/10 12/28/10 k,l 30 8/12/11 9/22/11 m,t 30 9/23/11 11/3/11 u 72 11/4/11 2/13/12 v 45 11/4/11 1/5/12 v Testing & Completion v w x y Dynamo Lab Test Road Test Car Show Setup Finish 2/13/12 42 Network Diagram With “Build” Steps Added and Major Work Phases Highlighted + - Requirements i, Diesel Dev c, Diesel Specs i*, Diesel Build n, Diesel Delivery j, Elec Drive Dev j*, Elec Drive Build d, Elec Drive Specs a, Start Build/Test Design k, Chassis Design b, Req e, Layout s, Body/ Chassis Prototype l, Body Design g, Soft ware Specs o, Integra tion r, Charging Assembly t, PowerVehicle Integ U, Final Assembly f*, Electronics "Build" p, Electronics Delivery y, Finish v, Dynamo Lab Test m, Internal Fittings f, Electronics Design w, Road Test x, Car Show Setup q, Electronics Software Integ h*, Software "Build" h, Software Dev 43 + - In an SD Model, Each Phase of Work Could Be Represented by a Rework Cycle Staff Staff on Original Work Staff on Rework Productivity Original Work Being Accomplishmed <Initial Work to Do> Rework Being Accomplishmed Original Work Done Correctly Original Work to Do Rework Generation on Original Work Work Done Fraction Correct and Complete Rework to Do Rework Generation on Rework Undiscovered Rework Rework Discovery 44 + … Expanded to Three Phases - Design Requirements Requriements Staff Design Staff Rqmnts Staff on Original Work Rqmnts Staff on Rework Rqmnts Original Work Being Accomplishmed Requirements Fraction Correct and Complete Rqmnts Rework Generation on Original Work Rqmnts Rework to Do Rqmnts Rework Generation on Rework Rqments Undiscovered Rework Rqmnts Rework Discovery Assumptions: Scope = 100 Tasks Staff = 4, Productivity = 2 tasks/month/person Duration = 12.5 months Design Fraction Correct and Complete Build/Test Staff on Rework Build/Test Productivity Design Original Work Being Accomplishmed <Build/Test Initial Work to Do> Rqments Work Done Build/Test Staff on Original Work Design Staff on Rework Design Productivity Rqmnts Rework Being Accomplishmed Rqmnts Original Work Done Correctly Rqmnts Original Work to Do Build/Test Staff Design Staff on Original Work Requirements Productivity <Build/Test Initial Work to Do> Build/Test Design Rework Being Accomplishmed Build/test Original Work Being Accomplishmed Build/Test Rework Being Accomplishmed Design Original Work Done Correctly <Build/Test Initial Work to Do> Design Original Work to Do Design Rework Generation on Original Work Build/Test Original Work Done Correctly Build/Test Original Work to Do Build/Test Rework Generation on Original Work Design Work Done Design Rework to Do Design Rework Generation on Rework Design Undiscovered Rework Design Rework Discovery Scope = 1000 tasks Staff = 20 Productivity = 4 tasks/month/person Duration = 12.5 months Build/Test Fraction Correct and Complete Build/Test Work Done Build/Test Rework to Do Build/Test Rework Generation on Rework Build/Test Undiscovered Rework Build/Test Rework Discovery Scope = 1000 tasks Staff = 40 Productivity = 1 tasks/month/person Duration = 25 months 45 Simulation of project assuming no rework … + - Project Staff 2,000 60 1,500 45 Design 1,000 People Task Work Done Total Build/Test Design 30 15 500 Build/Test Requirements Requirements 0 0 0 6 12 18 24 30 36 Time (Month) Requirements Work Done : Three P Four Stock No Rework Discrete Start Design Work Done : Three P Four Stock No Rework Discrete Start "Build/Test Work Done" : Three P Four Stock No Rework Discrete Start 42 48 54 60 0 6 12 18 24 30 36 Time (Month) 42 48 54 60 Requirements Staff : Three P Four Stock No Rework Discrete Start Design Staff : Three P Four Stock No Rework Discrete Start "Build/Test Staff" : Three P Four Stock No Rework Discrete Start Project Staff : Three P Four Stock No Rework Discrete Start 46 + - 1. 2. 3. Sources of Rework -- Categories Classical “Quality” or design misexecution. Technical complexity/uncertainty; customer uncertainty. Work done “correctly” but ultimately needing rework because it builds on 47 + Classical “Quality” - There are two (or more) important sources of these errors – “People” factors such as fatigue, inexperience, skill mismatches, etc. “Coupled” tasks that require shared information but which are done independently Organizational size & complexity? These types of errors can in theory be discovered by further “design” work, such as doing downstream design work, QA, design reviews, planned iteration, etc. 48 + Technical complexity/uncertainty; customer uncertainty. Technical: “novelty” of the project Customer: Same logic might apply to novel/new “uncertain customer requirements”? I.e., where say a software product is being developed and the customer may not know what they want until they see it in practice.] These types of errors can only be discovered by doing build and test work. Fixing these errors may just require redoing tasks, but may also require new tasks to make the technology work (e.g., and additional controller). 49 + “Knock-on” Rework Work done “correctly” but ultimately needing rework because it builds on Incorrect prior work Assumptions about technology or customer requirements which prove incorrect. Exogenous changes in requirements, scope, etc. These errors could be discovered in design or build/test, depending on the source. 50 + How does Design Affect Build? - Design Staff Build/Test Staff Design Staff on Original Work Build/Test Staff on Original Work Design Staff on Rework Design Productivity Design Original Work Being Accomplishmed <Build/Test Initial Work to Do> Build/Test Staff on Rework Build/Test Productivity Design Rework Being Accomplishmed Build/test Original Work Being Accomplishmed Build/Test Rework Being Accomplishmed <Build/Test Initial Work to Do> Design Original Work Done Correctly Build/Test Original Work Done Correctly Design Original Work to Do Design Fraction Correct and Complete Design Rework Generation on Original Work Design Rework to Do Design Rework Generation on Rework Design Undiscovered Rework Build/Test Original Work to Do Build/Test Rework Generation on Original Work Design Work Done Design Fraction Reported Complete Design Rework Discovery Design Fraction of Work Done Correct and Complete Build/Test Fraction Correct and Complete Build/Test Work Done Build/Test Rework to Do Build/Test Rework Generation on Rework Build/Test Rework Discovery Build/Test Undiscovered Rework Build/Test Fraction Reported Complete 51 + How is Design Rework Discovered? - Design Staff Build/Test Staff Design Staff on Original Work Build/Test Staff on Original Work Design Staff on Rework Design Productivity Design Original Work Being Accomplishmed <Build/Test Initial Work to Do> Build/Test Staff on Rework Build/Test Productivity Design Rework Being Accomplishmed Build/test Original Work Being Accomplishmed Build/Test Rework Being Accomplishmed <Build/Test Initial Work to Do> Design Original Work Done Correctly Build/Test Original Work Done Correctly Design Original Work to Do Design Fraction Correct and Complete Design Rework Generation on Original Work Design Rework to Do Design Rework Generation on Rework Design Undiscovered Rework Build/Test Original Work to Do Build/Test Rework Generation on Original Work Design Work Done Design Fraction Reported Complete Design Rework Discovery Design Fraction of Work Done Correct and Complete Build/Test Fraction Correct and Complete Build/Test Work Done Build/Test Rework to Do Build/Test Rework Generation on Rework Build/Test Rework Discovery Build/Test Undiscovered Rework Build/Test Fraction Reported Complete 52 Simulation Incorporating Rework and Rework Discovery + - Project Staff 1,000 80 750 60 Design 500 People Task Work Done Build/Test Total 40 Requirements 0 0 0 6 Design 20 Requirements 250 0 Build/Test 12 18 24 30 36 Time (Month) Requirements Work Done : Three Phase Four Stock V1 Design Work Done : Three Phase Four Stock V1 "Build/Test Work Done" : Three Phase Four Stock V1 42 48 54 60 6 12 18 24 30 36 Time (Month) 42 48 54 60 Requirements Staff : Three Phase Four Stock V1 Design Staff : Three Phase Four Stock V1 "Build/Test Staff" : Three Phase Four Stock V1 Project Staff : Three Phase Four Stock V1 Notes: (1) Details of simulation do not correspond to NMM Case; (2) so far, we do not represent project control actions and effects, so staff/hours worked are constant. 53 + - Design Stocks 1,000 Original Work Work Done Task 750 500 Rework 250 Undiscovered Rework -0.0001 0 0 Design Design Design Design 6 12 18 24 30 36 Time (Month) 42 48 54 60 Original Work to Do : Three Phase Four Stock V1 Undiscovered Rework : Three Phase Four Stock V1 Rework to Do : Three Phase Four Stock V1 Work Done : Three Phase Four Stock V1 54 + Progress and Rework Discovery - Design Fraction Complete Fraction Design Rework Discovered 2 0.8 Original Reported Work Really 1 0.5 0 0 6 12 18 24 30 36 Time (Month) Design Fraction Original Work Complete : Three Phase Four Stock V1 Design Fraction Reported Complete : Three Phase Four Stock V1 Design Fraction Really Complete : Three Phase Four Stock V1 42 48 0.6 Fraction Fraction 1.5 0.4 0.2 54 60 0 0 6 12 18 24 30 36 Time (Month) 42 48 54 60 Fraction Design Rework Discovered : Three Phase Four Stock V1 Discovery by design Discovery by build 55 Rework Increases Cost and Delays Finish + - With Rework Without Rework Cumulative Effort Cumulative Effort 2,000 2,000 Total Build/Test 1,000 Design 500 0 Person*Months Person*Months 1,500 1,500 1,000 500 0 0 6 12 18 24 30 36 Time (Month) Cumulative Reqmnts Effort : Three Phase Four Stock V1 Cumulative Design Effort : Three Phase Four Stock V1 "Cumulative Build/Test Effort" : Three Phase Four Stock V1 Cumulative Effort : Three Phase Four Stock V1 42 48 54 60 Requirements 0 6 12 18 24 30 36 Time (Month) 42 48 54 60 Cumulative Reqmnts Effort : Three P Four Stock No Rework Cumulative Design Effort : Three P Four Stock No Rework "Cumulative Build/Test Effort" : Three P Four Stock No Rework Cumulative Effort : Three P Four Stock No Rework 56 Revised Network/Gantt to reflect rework discovery (by build, not design) + - Insert some Rework Tasks in Design, more in Build/Test 2010 Apr May June July Aug Sept Oct Nov Dec 2011 Jan Feb Mar Apr May June July Electronics & Software -- Original f Electronics Design h Software Dev p q Electronics Delivery Electronics Software Int 90 5/7/10 150 9/10/10 72 30 9/9/10 b,c,d 4/7/11 g,f 9/10/10 12/20/10 g,f 4/8/11 5/19/11 Electronics Design h Software Dev p Electronics Delivery 72 q Electronics Software Int 30 90 5/7/10 150 9/10/10 9/9/10 b,c,d 4/7/11 9/10/10 12/20/10 4/8/11 5/19/11 Oct Design Build/Test Coupled R Nov Dec Rework h,p Electronics & Software -- Rework Discovered in Build/Test f Aug Sept g,f g,f h,p R R R R R R R R R R R R R R R R R R R R 57 + Management Issues Planned Iterations (vs dealing with unplanned iterations later) – How many iterations? When to start build phases – how much overlap with design phases. Factors to Consider: Type of project (determines amount of rework discoverable in design, amount of rework, number of tasks which must be repeated for each iteration) Relative cost of design vs build/test (determines the relative cost of spending more in design) More on these later in term … 58 + Role of Tools SD: DSM: Evaluate the macro tradeoffs in terms of impact on cost and schedule Coming up with a good staffing plan Determine where design iterations are needed and how many tasks would need to be repeated per iteration Network: Guide operational task planning and resource scheduling 59 Dynamics of Project Performance + - The “rework cycle” Fraction correct and complete Undiscovered rework Feedback effects on productivity and fraction correct (Next class) Negative, controlling Positive, re-enforcing, often “vicious circles” Knock-on effects between work phases Availability and quality of work products Progress to discover upstream rework 60 + - Knock-on Between Phases: A system dynamics model usually represents several phases of work … Rework Discovery Effects S o ftw a re D e s ig n S o ftw a re C o d e and Test S y s te m E n g in e e rin g Productivity and Fraction Correct Effects (availability and quality of upstream work) H a rd w a re D e s ig n Notes: Suppliers might be a “phase” In te g ra te and Test H a rd w a re B u ild and Test 61 + Why Represent Separate Phases? Correspond to gate reviews and deliverables Different units of work (and therefore data) Different types of labor Disproportionate increase in costs of fixing errors as move downstream Address issues of overlap/concurrency Opportunity to adjust plans, delay start, between phases 62 + Today’s Agenda Overview: Causes of Project Dynamics The Rework Cycle Integrating Tools in Project Planning Simple Model of Project Dynamics, Pt. 1 63 + - Hard tools force us to be more explicit, and accurately simulate the consequences of our models ... “Soft” tools - behavior-overtime graphs cause-effect diagramming mental simulation “Hard” tools - computer models computer simulation calibration to data sensitivity and what-if analyses Tools for describing dynamics Tools for quantifying dynamics 64 + We will use two models … Simple rework cycle model with project control feedbacks HW#3 – develop simple model without feedbacks Feedbacks added in class, given in HW#5 Full rework cycle model with two phases of work No project control feedback Model given to you for HW#3 and HW#5 65 + Development of “Simple” Project Model 1 Rework cycle model (HW#3) Three stocks Variable rework discovery time “Errors Build Errors” Feedback Project control & Side Effects (HW#5) Work Intensity/Schedule Pressure & “Haste Makes Waste” Staffing & Experience Dilution Slip Schedule 66 + Two Views of the Rework Cycle - Complete Model Fraction Correct & Complete Simplified Version Work Accomplishment Progress Original Work to Do Progressx Rework to Do Rework Discovery Rework Work Done Work to Do Rework Generation Undiscovered Rework Work Done Undiscovered Rework Rework Discovery The simplified version assumes that rework tasks require the same effort as original tasks, and that it is not important to distinguish between original work and rework. 67 + Simple Rework Cycle Model - Productivity + Potential Work Rate Based on Staffing + Levels Minimum Time to Finish a Task Fraction Correct and Complete Normal Staff + + + Work Being Accomplished Maximum Work Rate Based on Tasks Available Staff + + + Work to Do Effort Expended Work Done Correctly Rework Generation Undiscovered Rework Work Done Cumulative Effort Expended Project Finished + - - Fraction Complete to Finish Initial Work to Do <Initial Work to Do> <Rework Generation> Rework Discovery Time to Discover Rework Steps 1-4 of Homework #3 Rate of Doing Work Cumulative Work Done <Project Finished> <Work Done Correctly> 68 + - Rework Discovery Depends on Progress 69 + Complete Simple Model 1 - “Errors on Errors” Feedback Productivity Potential Work Rate Based on Staff Minimum Time to Finish a Task Normal Fraction Correct and Complete Maximum Work Rate Based on Tasks Available Fraction Correct and Complete Normal Staff Staff Work Being Accomplished Work Done Correctly Effort Expended Sensitivity of Fraction Correct to Undiscovered Rework Effect of Undiscovered Rework on Fraction Correct Maximum Effect of Undiscovered Rework on Fraction Correct Work to Do Rework Generation Undiscovered Rework Cumulative Effort Expended Project Finished Work Done Fraction Complete to Finish Initial Work to Do <Initial Work to Do> Rework Discovery <Project Finished> Delay in Discovering Rework Fraction of Work Believed Done Correct and Complete This reflects the average delay in discovering discoverable rework , such as from QA activities or downstream work . Work Believed to Be Done Fraction of Rework Discovered <Work Done> This reflects the fraction of undiscovered rework that is discoverable at any point in the project based on the activities tak ing place. <Rework Generation> Rate of Doing Work Fraction Really Complete Fraction Reported Complete Cumulative Work Done <Work Done Correctly> <Initial Work to Do> 70 + - Effect of Undiscovered Rework on Fraction Correct: Effect of Undiscovered Rework on Fraction Correct Graph Lookup - Table for Effect of Prior Work Quality on Quality 1 0 0 Average Fraction of Work Work Quality Believed Done Correct and Complete 1 Note: The effect of undiscovered rework on fraction correct is assumed to be proportional -- an error in past work creates an error in current work. Given that in this simple model fraction correct represents several effects of work errors, this strong relationship may be reasonable. 71 Work Flows & Staffing in “Simple” Two Phase Model + - Design Build/Test Project Staff <Staff On Review> End Design Rampup Start Design Rampup Fraction Design Complete to Start Build <TIME STEP> Rampup Design Staff Total Design Startup <Time> Build/Test Planned Staff Duration of Build Rampup Time to Start Build Ramp Up Design Staff Design Planned Staff Design Fraction of Effort to Rework <Time> Build/Test Startup Build/Test Staff Build/Test Fraction of Effort to Rework Design Staff on Rework Design Staff on Original Work Design Relative Effort Required for Rework Design Indicated Staff Design Maximum Work Rate Based on Rework Tasks Available <Design Productivity> Design Original Work Being Accomplishmed Design Minimum Time to Finish a Task Design Initial Work to Do Normal Design Fraction Correct and Complete Design Effect of Undiscovered Rework on Fraction Correct Design Fraction Reported Complete <Initial Build/Test Work to Do> Design Rework Generation on Rework <Design Rework Discovered By Design> <Design Initial Work to Do> Normal Build/Test Fraction Correct and Complete Design Rework Discovery Build/Test Build/Test Rework Work Done Done Correctly Build/Test Build/Test Rework Undiscovered Generation on Rework Rework <Initial Build/Test Work to Do> Build/Test Rework Discovery Build/Test Delay in Discovering Rework Sensitivity of Build/Test Fraction Correct to Design Undiscovered Rework <Design Rework to Do> Switch to Include Rework Project Finished Switch Build/Test Work Believed to Be Done <Initial Build/Test Work to Do> Design Fraction of Work Done Correct and Complete <Design Remaining Rework Discovered by Build> Build/Test Rework Being Accomplishmed Build/Test Rework Generation on Original Work Build/Test Effect of Design Undiscovered Rework On Fraction Correct Design Work Believed to Be Done <Build/Test Productivity> Build/Test Original Work Done Correctly Build/Test Original Work to Do Build/Test Fraction Correct and Complete <Design Rework Discovered By Build> <Fraction Rework Being Discovered> Build/Test Original Work Being Accomplishmed Build/Test Rework to Do Design Undiscovered Rework Staff on Rework Build/Test Priority to Original Work Build/Test Productivity on Rework Build/Test Minimum Time to Finish a Task Design Work Design Rework Done Done Correctly Design Rework to Do Sensitivity of Design Fraction Correct to Design Undiscovered Rework Maximum Sensitivity of Design Fraction Correct to Design Undiscovered Rework Design Rework Being Accomplishmed Design Rework Generation on Original Work <Design Delay in Discovering Rework> <Maximum Effect of Undiscovered Rework on Fraction Correct> Build/Test Staff on Original Work Build/Test Maximum Work Rate Based on Original Work Tasks Available Design Original Work Done Correctly Design Original Work to Do Design Fraction Correct and Complete Build/Test Maximum Work Rate Based on Rework Tasks Available Design Productivity on Rework Design Maximum Work Rate Based on Original Work Tasks Available Build/Test Relative Effort Required for Rework Build/Test Indicated Staff Design Priority to Original Work Maximum Effect of Undiscovered Rework on Fraction Correct Build/Test Fraction of Work Believed Done Correct and Complete Sensitivity of Build/Test Fraction Correct to Build Undiscovered Rework <Effect of Build Progress on Build/Test Rework Discovery> Four Stock Rework Cycle Build/Test Fraction Reported Complete Build/Test Effect of Build Undiscovered Rework on Fraction Correct <Design Effect of Build Work on Rework Discovery> Maximum Sensitivity of Build/Test FCC to Design Undiscovered Rework <Fraction Build/Test Rework Discovered> Maximum Sensitivity of Build/Test Fraction Correct to Build Undiscovered Rework <Switch to Include Rework> <Build/Test Rework to Do> 72 + - Design Phase of Work (Build/Test Similar) Design Staff Project Staff <Staff On Review> End Design Rampup Start Design Rampup Allocation of Staff Based on Backlogs, etc. Fraction Design Complete to Start Build Rampup Design Staff Total Design Startup <Time> Design Staff Design Planned Staff Design Fraction of Effort to Rework Design Staff on Rework Design Staff on Original Work Design Relative Effort Required for Rework Design Indicated Staff Design Maximum Work Rate Based on Rework Tasks Available Design Maximum Work Rate Based on Original Work Tasks Available <Design Productivity> Design Original Work Being Accomplishmed Design Minimum Time to Finish a Task Design Initial Work to Do Normal Design Fraction Correct and Complete “Errors Create Errors” Feedback Design Effect of Undiscovered Rework on Fraction Correct Design Rework Done Correctly Design Rework to Do Design Rework Generation on Rework <Design Rework Discovered By Design> Design Work Done <Design Initial Work to Do> Design Undiscovered Rework Design Rework Discovery Design Work Believed to Be Done Design Fraction of Work Done Correct and Complete <Design Remaining Rework Discovered by Build> <Design Rework Discovered By Build> Sensitivity of Design Fraction Correct to Design Undiscovered Rework Maximum Sensitivity of Design Fraction Correct to Design Undiscovered Rework Design Fraction Reported Complete Design Rework Generation on Original Work <Design Delay in Discovering Rework> <Maximum Effect of Undiscovered Rework on Fraction Correct> Design Rework Being Accomplishmed Design Original Work Done Correctly Design Original Work to Do Design Fraction Correct and Complete Design Priority to Original Work Design Productivity on Rework Rework Discovery <Design Rework to Do> Switch to Include Rework <Fraction Rework Being Discovered> 73 + Phase Interconnections - Design Build/Test Design Rework on Build/Test Productivity Project Staff <Staff On Review> End Design Rampup Start Design Rampup Fraction Design Complete to Start Build <TIME STEP> Rampup Design Staff Total Design Startup <Time> Build/Test Planned Staff Duration of Build Rampup Time to Start Build Ramp Up Design Staff Design Planned Staff Design Fraction of Effort to Rework <Time> Build/Test Startup Build/Test Staff Build/Test Fraction of Effort to Rework Design Staff on Rework Design Staff on Original Work Design Relative Effort Required for Rework Design Indicated Staff Design Maximum Work Rate Based on Rework Tasks Available <Design Productivity> Design Original Work Being Accomplishmed Design Minimum Time to Finish a Task Design Initial Work to Do Normal Design Fraction Correct and Complete Design Effect of Undiscovered Rework on Fraction Correct Design Fraction Reported Complete <Initial Build/Test Work to Do> Design Rework Generation on Rework <Design Rework Discovered By Design> <Design Initial Work to Do> Normal Build/Test Fraction Correct and Complete Design Rework Discovery Build/Test Build/Test Rework Work Done Done Correctly Build/Test Build/Test Rework Undiscovered Generation on Rework Rework <Design Rework to Do> Build/Test Progress On Design Rework Discovery <Initial Build/Test Work to Do> Build/Test Rework Discovery Build/Test Delay in Discovering Rework Sensitivity of Build/Test Fraction Correct to Design Undiscovered Rework Switch to Include Rework Project Finished Switch Build/Test Work Believed to Be Done <Initial Build/Test Work to Do> Design Fraction of Work Done Correct and Complete <Design Remaining Rework Discovered by Build> Build/Test Rework Being Accomplishmed Build/Test Rework Generation on Original Work Build/Test Effect of Design Undiscovered Rework On Fraction Correct Design Work Believed to Be Done <Build/Test Productivity> Build/Test Original Work Done Correctly Build/Test Original Work to Do Build/Test Fraction Correct and Complete <Design Rework Discovered By Build> <Fraction Rework Being Discovered> Build/Test Original Work Being Accomplishmed Build/Test Rework to Do Design Undiscovered Rework Staff on Rework Build/Test Priority to Original Work Build/Test Productivity on Rework Build/Test Minimum Time to Finish a Task Design Work Design Rework Done Done Correctly Design Rework to Do Sensitivity of Design Fraction Correct to Design Undiscovered Rework Maximum Sensitivity of Design Fraction Correct to Design Undiscovered Rework Design Rework Being Accomplishmed Design Rework Generation on Original Work <Design Delay in Discovering Rework> <Maximum Effect of Undiscovered Rework on Fraction Correct> Build/Test Staff on Original Work Build/Test Maximum Work Rate Based on Original Work Tasks Available Design Original Work Done Correctly Design Original Work to Do Design Fraction Correct and Complete Build/Test Maximum Work Rate Based on Rework Tasks Available Design Productivity on Rework Design Maximum Work Rate Based on Original Work Tasks Available Build/Test Relative Effort Required for Rework Build/Test Indicated Staff Design Priority to Original Work Maximum Effect of Undiscovered Rework on Fraction Correct Build/Test Fraction Reported Complete Build/Test Effect of Build Undiscovered Rework on Fraction Correct Build/Test Fraction of Work Believed Done Correct and Complete <Design Effect of Build Work on Rework Discovery> Design “Errors” (Rework) on Build/Test Fraction Correct Maximum Sensitivity of Build/Test FCC to Design Undiscovered Rework <Fraction Build/Test Rework Discovered> Sensitivity of Build/Test Fraction Correct to Build Undiscovered Rework <Effect of Build Progress on Build/Test Rework Discovery> Maximum Sensitivity of Build/Test Fraction Correct to Build Undiscovered Rework <Switch to Include Rework> <Build/Test Rework to Do> 74 MIT OpenCourseWare http://ocw.mit.edu ESD. 6\VWHP3URMHFW0DQDJHPHQW Fall 2012 For inforation about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.