Flexible Release Composition using Integer Linear Programming
Marjan van den Akker, Sjaak Brinkkemper, Guido Diepen, Johan Versendaal · Utrecht University Repository (Utrecht University) · 2004
For software vendors, the process to determine the requirements for the next release of a software product is often difficult. In this paper we present a mathematical formalization of release composition with a corresponding optimization tool that aims to support product managers and development project managers during release planning. The tool is based on integer linear programming and assumes that an optimal set of requirements is the set with maximum projected revenue against available resources in a given time period. The input for the optimization is twofold. Input data like the list of candidate requirements, estimated revenue and required team resources per requirement, whether or not a requirement is mandatory, comprise the first type of input. Secondly, several managerial steering mechanisms provide flexibility in the optimization environment: team composition, permitting of team transfers, extension of deadlines, and hiring external resources. Through experiments based on real-life data we make a sound case for the applicability of our proposal. 1 Requirements selection for release planning Companies developing software products face complex challenges when determining requirements for upcoming releases (see e.g. Potts (1995); Regnell and Brinkkemper, (2005)). Often the wish-list of requirements extends the capacity of available resources, requirements may not be unambiguous, they may be difficult to prioritize, etc. As a matter of fact, many aspects influence the definition of an optimal set of requirements for a next release. Several