Case studies on release planning in agile development organizations

Aalto University, P.O. Box 11000, FI-00076 Aalto www.aalto. fi Author Ville T. Heikkilä Name of the doctoral dissertation Case studies on release planning in agile development organizations Publisher School of Science Unit Department of Computer Science and Engineering Series Aalto University publication series DOCTORAL DISSERTATIONS 6/2015 Field of research Software Engineering Manuscript submitted 13 May 2014 Date of the defence 23 January 2015 Permission to publish granted (date) 5 November 2014 Language English Monograph Article dissertation (summary + original articles) Abstract The goal of software release planning is to plan the appropriate scope for the next release while taking into account the availability of resources, the priorities of the candidate requirements and any other factors and constraints that affect the requirements selection. Previous research on release planning has focussed on algorithmic, model-based solutions that expect the requirements selection factors and release constraints to be known. In reality, the factors and constraints are rarely known beforehand. Furthermore, modern, agile software development methods are based on rapid development cycles and constant communication between stakeholders instead of planning and plan execution. This dissertation presents three case studies on release planning methods that were applied by two large and one small agile software development organizations. The goals of this research were to study how the organizations performed release planning, how the release planning methods affected the team-level planning practices, and what benefits the organizations gained and what challenges they faced in applying the methods. The cases were studied with observations, interviews and surveys and with quantitative requirements analysis. The case organizations employed different release planning methods. In Case Agilefant, a model-based method was applied by asking stakeholders to vote on the different priorities of the candidate requirements. In Case F-Secure, the release planning method regularly gathered all stakeholders of the project into the same space to plan the next release. In Case Ericsson, the method was continuous and based on the incremental elaboration of requirements. The team-level planning practices mostly followed the Scrum guidance. The first identified challenge was that the candidate requirements were not identified, selected and prepared in a way that supported the release planning methods. The second challenge was the immature adoption of agile. The benefits identified in the methods were the mediation of multiple opinions, high efficiency, the creation of high-quality plans and the increased developer motivation. The results implicate that release planning should not be considered a task that managers perform in isolation from the developers. The tacit knowledge of the whole organization should be harnessed in release planning. In addition, this dissertation depicts several challenges that an organization may face when planning a release and puts forward ways these challenges may be overcome. The results of this dissertation also implicate that model-based release planning research should focus on how release planning is performed in practice before proposing new models and algorithms.The goal of software release planning is to plan the appropriate scope for the next release while taking into account the availability of resources, the priorities of the candidate requirements and any other factors and constraints that affect the requirements selection. Previous research on release planning has focussed on algorithmic, model-based solutions that expect the requirements selection factors and release constraints to be known. In reality, the factors and constraints are rarely known beforehand. Furthermore, modern, agile software development methods are based on rapid development cycles and constant communication between stakeholders instead of planning and plan execution. This dissertation presents three case studies on release planning methods that were applied by two large and one small agile software development organizations. The goals of this research were to study how the organizations performed release planning, how the release planning methods affected the team-level planning practices, and what benefits the organizations gained and what challenges they faced in applying the methods. The cases were studied with observations, interviews and surveys and with quantitative requirements analysis. The case organizations employed different release planning methods. In Case Agilefant, a model-based method was applied by asking stakeholders to vote on the different priorities of the candidate requirements. In Case F-Secure, the release planning method regularly gathered all stakeholders of the project into the same space to plan the next release. In Case Ericsson, the method was continuous and based on the incremental elaboration of requirements. The team-level planning practices mostly followed the Scrum guidance. The first identified challenge was that the candidate requirements were not identified, selected and prepared in a way that supported the release planning methods. The second challenge was the immature adoption of agile. The benefits identified in the methods were the mediation of multiple opinions, high efficiency, the creation of high-quality plans and the increased developer motivation. The results implicate that release planning should not be considered a task that managers perform in isolation from the developers. The tacit knowledge of the whole organization should be harnessed in release planning. In addition, this dissertation depicts several challenges that an organization may face when planning a release and puts forward ways these challenges may be overcome. The results of this dissertation also implicate that model-based release planning research should focus on how release planning is performed in practice before proposing new models and algorithms.