Process Software Simulation Model of Lean-Kanban Approach
Total Page:16
File Type:pdf, Size:1020Kb
Ph.D. in Electronic and Computer Engineering Dept. of Electrical and Electronic Engineering University of Cagliari Process Software Simulation Model of Lean-Kanban Approach Maria Ilaria Lunesu Advisor: Prof. Michele Marchesi Curriculum: ING-INF/05 SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI XXV Cycle April 2013 Ph.D. in Electronic and Computer Engineering Dept. of Electrical and Electronic Engineering University of Cagliari Process Software Simulation Model of Lean-Kanban Approach Maria Ilaria Lunesu Advisor: Prof. Michele Marchesi Curriculum: ING-INF/05 SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI XXV Cycle Aprile 2013 Dedicated to Nonno GiovannAntonio and to My Family Contents 1 Introduction 1 2 Related Work 7 3 Lean-Kanban Approach 13 3.1 Lean Kanban Development .............................. 13 3.1.1 Development for feature............................ 25 3.1.2 Kanban approach................................ 26 4 Software Process Simulation Modeling 31 4.1 What is a simulation model?.............................. 32 4.2 Advantages of simulation................................ 33 4.3 Common uses of simulation modelling ....................... 35 4.4 Simulation techniques and approaches ....................... 38 4.4.1 Continuous Simulation ............................ 39 4.4.2 Discrete Event Simulation........................... 40 4.4.3 Agent-Based Simulation............................ 42 4.4.4 Hybrid Simulation ............................... 42 5 Model Description 45 5.1 Simulation Model Description............................. 45 5.2 Description of the Actors................................ 46 5.2.1 Developers ................................... 46 5.2.2 Features and Activities............................. 48 5.2.3 Events ...................................... 50 5.3 The Object-oriented Model .............................. 51 5.4 Calibration and Validation............................... 52 6 Applications of the Simulation Model 55 6.1 Case Study One ..................................... 55 6.1.1 Description of the approach ......................... 56 6.1.2 Calibration of the model............................ 56 6.2 Case Study Two ..................................... 57 6.2.1 Description of the approach ......................... 61 6.2.2 Calibration of the model............................ 62 6.3 Case Study Three .................................... 63 i ii CONTENTS 6.3.1 Case of Chinese Firm.............................. 63 6.3.2 Description of the approach ......................... 65 6.3.3 Calibration of the model............................ 68 6.3.4 Case of Microsoft Maintenance Project................... 70 6.3.5 Calibration of the model............................ 71 6.4 Case Study Four ..................................... 73 6.4.1 Description of the approach ......................... 73 6.4.2 Calibration of the model............................ 74 7 Experimental Results 79 7.1 Simulation Results.................................... 79 7.2 Results Case Study One................................. 79 7.2.1 Optimization of the activity limits...................... 81 7.3 Results Case Study Two................................. 82 7.3.1 The original process .............................. 83 7.3.2 The Kanban process .............................. 84 7.3.3 The Scrum process............................... 85 7.4 Results Case Study Three................................ 87 7.4.1 Results of the Chinese Firm case....................... 87 7.4.2 Results of Microsoft case............................ 94 7.5 Results Case Study Four ................................ 97 8 Discussion of Experimental Results 103 9 Threats to validity 107 9.1 Threats to internal validity...............................107 9.2 Threats to external validity...............................108 9.3 Threats to construct validity..............................108 10 Conclusion and future work 111 Bibliography 115 A Extra Data 125 List of Figures 3.1 Value Stream Mapping of a traditional software development. 15 3.2 Value Stream Mapping of software agile iterative development. ........... 15 3.3 A typical Kanban board. ................................... 27 3.4 A Kanban board more complex. .............................. 28 4.1 Structure of Discrete Events System. ........................... 42 4.2 Structure of Agent based System. ............................. 43 4.3 Example of the use System Dynamics. .......................... 44 5.1 UML Class Diagram of Developer with their skills, and organized in Team. 48 5.2 UML Class Diagram of Features .............................. 49 5.3 UML Class Diagram of Activities .............................. 49 5.4 UML Class Diagram of Events. ............................... 51 5.5 UML Class Diagram of Simulation Model. ........................ 52 5.6 UML Class Diagram of KanbanSystem and KanbanSimulator. 53 6.1 The Scrum process ...................................... 61 6.2 Cumulative no. of issues in the system. .......................... 65 6.3 A Generic Simulation Model for Software Maintenance Process. ........... 69 7.1 WIP Limits, devs with one or two skills .......................... 80 7.2 WIP limits, devs skilled in all activities .......................... 80 7.3 No limits, devs with one or two skills ........................... 80 7.4 No limits, devs skilled in all activities ........................... 80 7.5 Plot of the cost functions in ascending order for 4 exhaustive searches, with dif- ferent values of the penalty and of the developers’ skills. ............... 81 7.6 The CFD of the original process. ............................. 83 7.7 The CFD of the Kanban process. ............................. 84 7.8 The CFD of the Scrum process. .............................. 86 7.9 The WIP diagram of the WIP-limited process with a developer and a tester added after six months. ....................................... 88 7.10 The WIP diagram without WIP limits. The Planning curve overlaps with the Back- log curve. ........................................... 90 7.11 The WIP diagram with WIP limits. The Testing curve overlaps with the Released curve. ............................................. 92 iii iv LIST OF FIGURES 7.12 Comparison of the number of CLOSED issues vs. time. The results are average of 10 runs, in WIP-limited case (solid line) and non-limited case (dashed line). The other lines represent two standard deviation intervals. 93 7.13 The WIP diagram of the original process. ......................... 95 7.14 The WIP diagram of the WIP-limited process. ...................... 96 7.15 Lean-Kanban Process. Box plot of project duration as a function of variations in features’ effort. Each box refers to 100 simulations. ................... 98 7.16 Scrum Process. Box plot of project duration as a function of variations in features’ effort. Each box refers to 100 simulations. ........................ 98 7.17 Lean-Kanban Process. Box plot of project duration as a function of features per- centage that don’t pass the SQA phase and need rework, keeping. 99 7.18 Scrum Process. Box plot of project duration as a function of features percentage that don’t pass the SQA phase and need rework, keeping. 99 7.19 Lean-Kanban Process. Box plot of project duration as a function of the percentage of rework and effort variation: A: no rework and no variation; B: 10% rework, effort Std. Dev. = 1.0;C: 20% rework, effort Std. Dev. = 2.0; D: 30% rework, effort Std. Dev. = 3.0; E: 50% rework, effort Std. Dev. = 5.0. 100 7.20 Scrum Process. Box plot of project duration as a function of the percentage of rework and effort variation: A: no rework and no variation; B: 10% rework, effort Std. Dev. = 1.0;C: 20% rework, effort Std. Dev. = 2.0; D: 30% rework, effort Std. Dev. = 3.0; E: 50% rework, effort Std. Dev. = 5.0. .....................100 7.21 Medians and Standard Deviations of Cycle Times, for various values oWhen both of the parameters. These quantities are averaged over 100 simulations. 100 9.1 The interpretation of the different types of threats ...................108 List of Tables 6.1 The main features of the simulated activities ...................... 58 6.2 The Main Fields of the Dataset Studied. ......................... 64 6.3 Main Statistics of Time Required to Manage Issues (in days) ............. 66 6.4 Statistics about issue arrival, fixed issues flow and actual development work esti- mates. ............................................. 68 6.5 The composition of the case study team, with primary and secondary activities of developers. A: Analysis, I: Implementation; T: Testing; D: Deployment. 75 7.1 The four best points found in the search, for the four cases considered . 81 7.2 Statistics of cycle times in the Original Process ..................... 84 7.3 Statistics of cycletime in the Kanban Process ...................... 85 7.4 Statistics of cycle time in the Scrum Processes ..................... 86 7.5 Statistics of cycle times in the WIP-limited Process. .................. 90 7.6 Limits verified and actually used for the various activities during the simulation . 91 7.7 Statistics of effort of the 100 features used. Data in case of Lognormal variation report the average over 100 different random extractions. 97 7.8 Statistics on 100 simulations for each method, with no rework and no feature ef- fort variation. The data shown are the average of the referred parameters. Within parenthesis we report the standard error ......................... 98 v Chapter 1 Introduction Lean software development [34] is a relatively new entry within