Quantitative release planning in extreme programming Gert van Valkenhoef a,b,⇑ , Tommi Tervonen c , Bert de Brock b , Douwe Postmus a a Department of Epidemiology, University Medical Center Groningen, The Netherlands b Faculty of Economics and Business, University of Groningen, The Netherlands c Econometric Institute, Erasmus University Rotterdam, The Netherlands article info Article history: Received 14 September 2010 Received in revised form 16 May 2011 Accepted 22 May 2011 Available online 30 May 2011 Keywords: Extreme programming Project management Customer role Integer programming abstract Context: Extreme Programming (XP) is one of the most popular agile software development methodolo- gies. XP is defined as a consistent set of values and practices designed to work well together, but lacks practices for project management and especially for supporting the customer role. The customer repre- sentative is constantly under pressure and may experience difficulties in foreseeing the adequacy of a release plan. Objective: To assist release planning in XP by structuring the planning problem and providing an optimi- zation model that suggests a suitable release plan. Method: We develop an optimization model that generates a release plan taking into account story size, business value, possible precedence relations, themes, and uncertainty in velocity prediction. The run- ning-time feasibility is established through computational tests. In addition, we provide a practical heu- ristic approach to velocity estimation. Results: Computational tests show that problems with up to six themes and 50 stories can be solved exactly. An example provides insight into uncertainties affecting velocity, and indicates that the model can be applied in practice. Conclusion: An optimization model can be used in practice to enable the customer representative to take more informed decisions faster. This can help adopting XP in projects where plan-driven approaches have traditionally been used. Ó 2011 Elsevier B.V. All rights reserved. 1. Introduction Extreme Programming (XP) is an agile software development methodology. XP defines software development through values and practices thought to work well together in practice [1,2]. In XP, good project management and strong customer involvement are critical for project success [3]. Yet, XP provides very little pro- ject management support [4] and the XP customer is consistently under significantly more pressure than the developers or other participants in the project [5]. Release planning in particular has been characterized as a difficult problem in which many variables have to be considered and judgments are primarily relative [6], leading to user story overload: it is unpractical to consider every- thing, even with a moderate number of stories. In addition, the customer may suffer from prioritization stress: it is difficult to foresee the consequences and adequacy of prioritization [5], and it is unclear if the customer perceives business value in constantly managing the development priorities [7]. Therefore, tool support for exploring the solution space and for generating potential solu- tions is desired [6]. In the distinction between art and science in re- lease planning [8], planning in XP is traditionally all art [9]. Easy to use low effort planning software could enable a hybrid approach, but would need to be tailored for the XP practices and values [2]. Quantitative models for supporting software release planning have been proposed previously, but a recent systematic review concludes that there is a lack of diversity among the existing mod- els [10]. Quantitative approaches for requirements prioritization based on value and effort in a plan-driven context were developed in [6,11], and a general mathematical formulation for incremental development was proposed in [8]. More fine-grained models that take into account resource constraints due to developers with varying capabilities have been proposed for iterative development [12–14]. Several approaches handle uncertainty in the parameters by generating multiple ‘good’ plans [8,12,15–17] rather than a sin- gle optimal one. Another model [18] can be used together with Scrum to deal with change, but it does not explicitly consider uncertainty during planning. If a high degree of requirements change is expected, agile meth- ods are better suited than plan-driven ones and consequently it 0950-5849/$ - see front matter Ó 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.infsof.2011.05.007 ⇑ Corresponding author. Address: Department of Epidemiology, University Med- ical Center Groningen, PO Box 30.001, 9700 RB Groningen, The Netherlands. Tel.: +31 50 361 4522. E-mail addresses: g.h.m.van.valkenhoef@rug.nl (G. van Valkenhoef), tervonen@ ese.eur.nl (T. Tervonen), e.o.de.brock@rug.nl (B. de Brock), d.postmus@epi.umcg.nl (D. Postmus). Information and Software Technology 53 (2011) 1227–1235 Contents lists available at ScienceDirect Information and Software Technology journal homepage: www.elsevier.com/locate/infsof