Simulating Kanban and Scrum vs. Waterfall with System Dynamics

Nowadays, Scrum is the most used Agile Methodology, while the Lean-Kanban approach is perhaps the fastest growing AM. On the other hand, traditional, waterfall-like approaches are still very used in real-life software projects, due to the ease of up-front planning and budgeting, that however are seldom matched upon project completion. In our opinion, more effort is needed to study and model the inner structure and behavior of these approaches, highlighting positive and negative feedback loops that are strategic to understand their features, and to decide on their adoption. In this paper we analyze the dynamic behavior of the adoption of Kanban and Scrum, versus a traditional software development process such as the Waterfall approach. We use a system dynamics model, based on the relationships between system variables, to assess the relative benefits of the studied approaches. The model is simulated using a commercial tool. The proposed model visualizes the relationships among these software development processes, and can be used to study their relative advantages and disadvantages.

[1]  David Raffo,et al.  A model of the software development process using both continuous and discrete models , 2000 .

[2]  V. B. Misic Extreme dynamics: towards a system dynamics model of the extreme programming software development process , 2004, ICSE 2004.

[3]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..

[4]  Henrik Kniberg,et al.  Kanban and Scrum - Making the Most of Both , 2010 .

[5]  Bosheng Zhou,et al.  Evaluating Extreme Programming Effect through System Dynamics Modeling , 2009, 2009 International Conference on Computational Intelligence and Software Engineering.

[6]  David Lowe,et al.  Modelling an Agile Web Maintenance Process , 2005 .

[7]  Kishore Sengupta,et al.  Dynamics of agile software development , 2009 .

[8]  Philippe Kruchten,et al.  Agile project management , 2021, Project Management, Planning and Control.

[9]  Martin Höst,et al.  Understanding software processes through system dynamics simulation: a case study , 2002, Proceedings Ninth Annual IEEE International Conference and Workshop on the Engineering of Computer-Based Systems.

[10]  Daniel Roos,et al.  The machine that changed the world : the story of lean production , 1991 .

[11]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[12]  Alberto Sillitti Agile Processes in Software Engineering and Extreme Programming, 11th International Conference, XP 2010, Trondheim, Norway, June 1-4, 2010. Proceedings , 2010, XP.

[13]  Tracy Hall,et al.  The impact of using pair programming on system evolution a simulation-based study , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[14]  Ken Schwaber,et al.  Agile Project Management with Scrum , 1980 .

[15]  Michele Marchesi,et al.  Distributed Scrum in Research Project Management , 2007, XP.

[16]  Hui Yan,et al.  Simulation in Software Engineering with System Dynamics: A Case Study , 2009, J. Softw..