A Feature Partitioning Method for Distributed Agile Release Planning

Agile software development represents a major approach that has gained increasing popularity in recent years. Economy forces agile organizations to overcome geographical distances to benefit from accessing a larger resource pool and to reduce development costs. However, agile and distributed development approaches differ significantly in their key tenets. While agile methods mainly rely on informal processes to facilitate coordination, distributed development typically relies on formal mechanisms. To address this situation, we present a distributed agile release planning approach to assist the release planning process of distributed agile development teams by identifying feature chunks that can be implemented co-located to minimize the communication needs between dispersed teams. The presented method demonstrates how this approach 1) necessitates less intensive communication and coordination, 2) can provide better utilization of resources, and 3) can produce higher quality feature distribution plans. Finally, the paper analyzes benefits and issues from the use of this approach.

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

[2]  Vladimir Batagelj,et al.  Data Science and Classification , 2006, Studies in Classification, Data Analysis, and Knowledge Organization.

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

[4]  Peng Xu,et al.  Can distributed software development be agile? , 2006, CACM.

[5]  Ioannis Stamelos,et al.  Investigating the Use of Object-Oriented Design Patterns in Open-Source Software: A Case Study , 2010, ENASE.

[6]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

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

[8]  Christian Hennig,et al.  Design of Dissimilarity Measures: A New Dissimilarity Between Species Distribution Areas , 2006, Data Science and Classification.

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

[10]  Audris Mockus,et al.  Globalization by Chunking: A Quantitative Approach , 2001, IEEE Softw..

[11]  Richard Heeks,et al.  Synching or Sinking: Global Software Outsourcing Relationships , 2001, IEEE Softw..

[12]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[13]  Andrew Begel,et al.  Usage and Perceptions of Agile Software Development in an Industrial Context: An Exploratory Study , 2007, ESEM 2007.

[14]  Stuart Anderson,et al.  Requirements Evolution from Process to Product Oriented Management , 2001, PROFES.

[15]  S.,et al.  An Efficient Heuristic Procedure for Partitioning Graphs , 2022 .

[16]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[17]  Christof Ebert,et al.  Surviving Global Software Development , 2001, IEEE Softw..

[18]  Gordon Cloke,et al.  GET YOUR AGILE FREAK ON! Agile Adoption at Yahoo! Music , 2007, Agile 2007 (AGILE 2007).

[19]  Sundeep Sahay,et al.  Managing cross-cultural issues in global software outsourcing , 2004, CACM.

[20]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

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

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

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

[24]  Audris Mockus,et al.  An Empirical Study of Speed and Communication in Globally Distributed Software Development , 2003, IEEE Trans. Software Eng..

[25]  Ákos Szke,et al.  Conceptual scheduling model and optimized release scheduling for agile environments , 2011 .

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

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

[28]  Daniela E. Damian,et al.  Essential communication practices for Extreme Programming in a global software development team , 2006, Inf. Softw. Technol..

[29]  Akos Szoke,et al.  Conceptual scheduling model and optimized release scheduling for agile environments , 2011, Inf. Softw. Technol..

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

[31]  Michel R. V. Chaudron,et al.  A Survey of the Practice of Design -- Code Correspondence amongst Professional Software Engineers , 2007, ESEM 2007.

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

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

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

[35]  Karl T. Ulrich,et al.  Product Design and Development , 1995 .

[36]  Alexander Repenning,et al.  Using Components for Rapid Distributed Software Development , 2001, IEEE Softw..

[37]  Pekka Abrahamsson,et al.  Scrum in a Multiproject Environment: An Ethnographically-Inspired Case Study on the Adoption Challenges , 2008, Agile 2008 Conference.