An integrated approach for requirement selection and scheduling in software release planning

It is essential for product software companies to decide which requirements should be included in the next release and to make an appropriate time plan of the development project. Compared to the extensive research done on requirement selection, very little research has been performed on time scheduling. In this paper, we introduce two integer linear programming models that integrate time scheduling into software release planning. Given the resource and precedence constraints, our first model provides a schedule for developing the requirements such that the project duration is minimized. Our second model combines requirement selection and scheduling, so that it not only maximizes revenues but also simultaneously calculates an on-time-delivery project schedule. Since requirement dependencies are essential for scheduling the development process, we present a more detailed analysis of these dependencies. Furthermore, we present two mechanisms that facilitate dynamic adaptation for over-estimation or under-estimation of revenues or processing time, one of which includes the Scrum methodology. Finally, several simulations based on real-life data are performed. The results of these simulations indicate that requirement dependency can significantly influence the requirement selection and the corresponding project plan. Moreover, the model for combined requirement selection and scheduling outperforms the sequential selection and scheduling approach in terms of efficiency and on-time delivery.

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

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

[3]  V. Jorge Leon,et al.  Strength and adaptability of problem-space based neighborhoods for resource-constrained scheduling , 1995 .

[4]  Ian Sommerville,et al.  Improving Market-Driven RE Processes , 1999 .

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

[6]  Inge van de Weerd,et al.  Towards a Reference Framework for Software Product Management , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[7]  G. Nemhauser,et al.  Integer Programming , 2020 .

[8]  Robert J. Novorita,et al.  BENEFITS OF STRUCTURED REQUIREMENTS METHODS FOR MARKET‐BASED ENTERPRISES , 1996 .

[9]  Sjaak Brinkkemper,et al.  A reference framework for software product management , 2006 .

[10]  Han Hoogeveen,et al.  A Column Generation Based Destructive Lower Bound for Resource Constrained Project Scheduling Problems , 2007, CPAIOR.

[11]  Donald Firesmith,et al.  Prioritizing Requirements , 2004, J. Object Technol..

[12]  George J. Klir,et al.  Uncertainty-Based Information , 1999 .

[13]  Woodie C. Flowers,et al.  A genetic algorithm for resource-constrained scheduling , 1996 .

[14]  RisingLinda,et al.  The Scrum Software Development Process for Small Teams , 2000 .

[15]  Martin E. Dyer,et al.  Formulating the single machine sequencing problem with release dates as a mixed integer program , 1990, Discret. Appl. Math..

[16]  Björn Regnell,et al.  Market-Driven Requirements Engineering for Software Products , 2005 .

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

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

[19]  Averill M. Law,et al.  Simulation Modeling and Analysis , 1982 .

[20]  Björn Regnell,et al.  Requirements lifecycle management and release planning in market-driven requirements engineering processes , 2000, Proceedings 11th International Workshop on Database and Expert Systems Applications.

[21]  S. Janson,et al.  Wiley‐Interscience Series in Discrete Mathematics and Optimization , 2011 .

[22]  Erik Demeulemeester,et al.  A branch-and-bound procedure for the multiple resource-constrained project scheduling problem , 1992 .

[23]  Ross Westerfield Joedan Fundamentals of Corporate Finance, 7th Edition , 1991 .

[24]  V. Maniezzo,et al.  An Exact Algorithm for the Resource-Constrained Project Scheduling Problem Based on a New Mathematical Formulation , 1998 .

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

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

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

[28]  Peter Brucker,et al.  Complex Scheduling , 2006 .

[29]  Christian Artigues,et al.  Resource-Constrained Project Scheduling , 2008 .

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

[31]  Christian Artigues,et al.  Resource-Constrained Project Scheduling: Models, Algorithms, Extensions and Applications , 2007 .

[32]  Linda Rising,et al.  The Scrum Software Development Process for Small Teams , 2000, IEEE Softw..

[33]  A. Andrews,et al.  4 Requirements Prioritization , .

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

[35]  Martin Höst,et al.  An Industrial Case Study on Distributed Prioritisation in Market-Driven Requirements Engineering for Packaged Software , 2001, Requirements Engineering.

[36]  Wil vanderAalst,et al.  Workflow Management: Models, Methods, and Systems , 2004 .

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

[38]  Toni Frankola,et al.  Evolutionary algorithms for the resource constrained scheduling problem , 2008, ITI 2008 - 30th International Conference on Information Technology Interfaces.

[39]  Dimitri Golenko-Ginzburg,et al.  Resource constrained scheduling simulation model for alternative stochastic network projects , 2003, Math. Comput. Simul..

[40]  Jan Karel Lenstra,et al.  Scheduling subject to resource constraints: classification and complexity , 1983, Discret. Appl. Math..

[41]  Erik Demeulemeester,et al.  Proactive and reactive strategies for resource-constrained project scheduling with uncertain resource availabilities , 2008, J. Sched..

[42]  Michael A. Cusumano,et al.  The Business of Software: What Every Manager, Programmer, and Entrepreneur Must Know to Thrive and Survive in Good Times and Bad , 2004 .

[43]  Martin W. P. Savelsbergh,et al.  A polyhedral approach to single-machine scheduling problems , 1999, Math. Program..

[44]  Slinger Jansen,et al.  The Agile Requirements Refinery: Applying SCRUM Principles to Software Product Management , 2009, 2009 Third International Workshop on Software Product Management.

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

[46]  H. P. Williams THEORY OF LINEAR AND INTEGER PROGRAMMING (Wiley-Interscience Series in Discrete Mathematics and Optimization) , 1989 .

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

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