Conceptual scheduling model and optimized release scheduling for agile environments

Context: Release scheduling deals with the selection and assignment of deliverable features to a sequence of consecutive product deliveries while several constraints are fulfilled. Although agile software development represents a major approach to software engineering, there is no well-established conceptual definition and sound methodological support of agile release scheduling. Objective: To propose a solution, we present, (1) a conceptual model for agile scheduling, and (2) a novel multiple knapsack-based optimization model with (3) a branch-and-bound optimization algorithm for agile release scheduling. Method: To evaluate our model simulations were carried out seven real life and several generated data sets. Results: The developed algorithm strives to prevent resource overload and resource underload, and mitigates risks of delivery slippage. Conclusion: The results of the experiment suggest that this approach can provide optimized semi-automatic release schedule generations and more informed and established decisions utilizing what-if-analysis on the fly to tailor the best schedule for the specific project context.

[1]  Reinhard Diestel,et al.  Graph Theory , 1997 .

[2]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[3]  Dietmar Pfahl,et al.  Quantitative WinWin: a new method for decision support in requirements negotiation , 2002, SEKE '02.

[4]  Walter O. Rom,et al.  An investigation of buffer sizing techniques in critical chain scheduling , 2006, Eur. J. Oper. Res..

[5]  Sönke Hartmann,et al.  Packing problems and project scheduling models: an integrating perspective , 2000, J. Oper. Res. Soc..

[6]  Klaas Sikkel,et al.  Value Creation by Agile Projects: Methodology or Mystery? , 2009, PROFES.

[7]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[8]  Ákos Szoke,et al.  Bin-Packing-Based Planning of Agile Releases , 2009, ENASE.

[9]  Ho-Won Jung,et al.  Optimizing Value and Cost in Requirements Analysis , 1998, IEEE Softw..

[10]  Günther Ruhe,et al.  Optimized Resource Allocation for Software Release Planning , 2009, IEEE Transactions on Software Engineering.

[11]  Akos Sz ˝ oke Optimized Feature Distribution in Distributed Agile Environments , 2010 .

[12]  Sjaak Brinkkemper,et al.  Software product release planning through optimization and what-if analysis , 2008, Inf. Softw. Technol..

[13]  Pankaj Jalote,et al.  Software Project Management in Practice , 2002 .

[14]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[15]  Scott Ambler Survey Says: Agile Works in Practice , 2006 .

[16]  Günther Ruhe,et al.  The art and science of software release planning , 2005, IEEE Software.

[17]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..

[18]  Jeff Sutherland,et al.  Fully Distributed Scrum: The Secret Sauce for Hyperproductive Offshored Development Teams , 2008, Agile 2008 Conference.

[19]  Angel R. Martinez,et al.  : Exploratory data analysis with MATLAB ® , 2007 .

[20]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[21]  Dean Leffingwell,et al.  Managing software requirements: a unified approach , 1999 .

[22]  Tao Zhang,et al.  Genetic Algorithms for Project Management , 2001, Ann. Softw. Eng..

[23]  Anna Perini,et al.  Tool-supported requirements prioritization: Comparing the AHP and CBRank methods , 2009, Inf. Softw. Technol..

[24]  Paolo Toth,et al.  Knapsack Problems: Algorithms and Computer Implementations , 1990 .

[25]  Tore Dybå,et al.  A teamwork model for understanding an agile team: A case study of a Scrum project , 2010, Inf. Softw. Technol..

[26]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[27]  Pär Carlshamre,et al.  Release Planning in Market-Driven Software Product Development: Provoking an Understanding , 2002, Requirements Engineering.

[28]  Sjaak Brinkkemper,et al.  Integrated Requirement Selection and Scheduling for the Release Planning of a Software Product , 2007, REFSQ.

[29]  Akos Szoke A Proposed Method for Release Planning from Use Case-based Requirements Specification , 2008, 2008 34th Euromicro Conference Software Engineering and Advanced Applications.

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

[31]  Akos Szoke,et al.  Decision Support for Iteration Scheduling in Agile Environments , 2009, PROFES.

[32]  William Marsh,et al.  Making resource decisions for software projects , 2004, Proceedings. 26th International Conference on Software Engineering.

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

[34]  Yijun Yu,et al.  On Goal-based Variability Acquisition and Analysis , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[35]  Thomas L. Saaty,et al.  Multicriteria Decision Making: The Analytic Hierarchy Process: Planning, Priority Setting, Resource Allocation , 1990 .

[36]  Hwan-Seung Yong,et al.  Distributed agile: project management in a global environment , 2010, Empirical Software Engineering.

[37]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[38]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[39]  Björn Regnell,et al.  An industrial survey of requirements interdependencies in software product release planning , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[40]  Tsun Chow,et al.  A survey study of critical success factors in agile software projects , 2008, J. Syst. Softw..

[41]  Mike Cohn,et al.  Agile Estimating and Planning , 2005 .

[42]  Lucas Layman,et al.  Motivations and measurements in an agile case study , 2006, J. Syst. Archit..

[43]  Akos Szoke,et al.  Optimized Feature Distribution in Distributed Agile Environments , 2010, PROFES.

[44]  Alexander K. Hartmann A Practical Guide To Computer Simulation , 2009 .

[45]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[46]  Magne Jørgensen,et al.  Estimating Software Development Effort Based on Use Cases-Experiences from Industry , 2001, UML.

[47]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[48]  Claes Wohlin,et al.  The fundamental nature of requirements engineering activities as a decision-making process , 2003, Inf. Softw. Technol..

[49]  Marjan Hericko,et al.  The size and effort estimates in iterative development , 2008, Inf. Softw. Technol..

[50]  Lucas Layman,et al.  Exploring extreme programming in context: an industrial case study , 2004, Agile Development Conference.

[51]  Joachim Karlsson,et al.  Software requirements prioritizing , 1996, Proceedings of the Second International Conference on Requirements Engineering.