Investigating the relationship between project constraints and appropriate iteration length in agile development through simulations

Agile development is aimed at minimizing overall risk and encouraging rapid and flexible response to specification changes by using an iterative process. Despite its iterative feature, studies on the effects of iteration length have been lacking. Currently, there is no established method to quantitatively determine the appropriate iteration length, and abortion of projects with an inappropriate iteration length has been reported. We therefore create a model of agile development that focuses on iteration length, and propose a method of simulating a particular project to estimate the appropriate iteration length. Furthermore, we simulate diverse situations using various parameters to understand the relationship between the iteration length and project constraints. Our results show that the appropriate iteration length depends on the condition of the project constraints; the larger the amount of uncertainty, the shorter the appropriate iteration length, while the higher the complexity of the project, the longer the iteration length should be.

[1]  Jorge J. Gómez-Sanz,et al.  INGENIAS-SCRUM Development Process for Multi-Agent Development , 2008, DCAI.

[2]  Hironori Washizaki,et al.  Network Analysis for Software Patterns Including Organizational Patterns in Portland Pattern Repository , 2014, 2014 Agile Conference.

[3]  Ioana Rus,et al.  Software process simulation for reliability management , 1999, J. Syst. Softw..

[4]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[5]  E. E. Grant,et al.  Exploratory experimental studies comparing online and offline programming performance , 1968, CACM.

[6]  Carlos E. Otero,et al.  A systematic approach for resource allocation in software projects , 2009, Comput. Ind. Eng..

[7]  Takako Nakatani,et al.  A Case Study of Requirements Elicitation Process with Changes , 2010, IEICE Trans. Inf. Syst..

[8]  Hironori Washizaki,et al.  Analyzing Effectiveness of Workshops for Learning Agile Development Principles , 2013, 2013 Agile Conference.

[9]  Marco Melis,et al.  Evaluating the impact of test-first programming and pair programming through software process simulation , 2006, Softw. Process. Improv. Pract..

[10]  Michele Marchesi,et al.  An Agile Development Process and Its Assessment Using Quantitative Object-Oriented Metrics , 2008, XP.

[11]  Michele Marchesi,et al.  Studying Lean-Kanban Approach Using Software Process Simulation , 2011, XP.

[12]  Marco Melis,et al.  Modeling and simulation of open source development using an agile practice , 2006, J. Syst. Archit..

[13]  Tim Menzies,et al.  Using Simulation to Investigate Requirements Prioritization Strategies , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[14]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[15]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

[16]  Craig Larman,et al.  Agile and Iterative Development: A Manager's Guide , 2003 .

[17]  N.S. Barghouti,et al.  A case study in modeling a human-intensive, corporate software process , 1994, Proceedings of the Third International Conference on the Software Process. Applying the Software Process.