Estimate of the Appropriate Iteration Length in Agile Development by Conducting Simulation

Agile development refers to the group of software development methodologies based on an iterative and incremental process model. It divides the development period into short time frames called iterations and uses a body of knowledge obtained from past experience called practice to ensure agile software development Although the iteration length is an important factor in agile development however it has so far been decided by the qualitatively and it has been reported that projects with an inappropriate iteration length tends to be failed. We thus propose a new methodology for estimating an appropriate iteration length through the conduct on of a simulation based on project constraints. In this paper we first, propose a method of calculating an appropriate iteration length for a particular project to promote the easy use of agile development. Second, the relationship between the iteration length and project constraints was investigated by varying the parameters to create diverse situations.

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

[2]  JacquesLebrun 人的问题:关于《Peopleware》 , 2002 .

[3]  Michele Marchesi,et al.  Extreme Programming and Agile Processes in Software Engineering , 2003, Lecture Notes in Computer Science.

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

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

[6]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

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

[8]  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.

[9]  Barry W. Boehm,et al.  Understanding and Controlling Software Costs , 1988, IEEE Trans. Software Eng..

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

[11]  Giancarlo Succi,et al.  Extreme Programming and Agile Processes in Software Engineering, 7th International Conference, XP 2006, Oulu, Finland, June 17-22, 2006, Proceedings , 2006, XP.

[12]  Capers Jones,et al.  Software Assessments, Benchmarks, and Best Practices , 2000 .

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

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

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

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