Casestudies on release planning in agile - Aaltodoc - Aalto
Transcription
Casestudies on release planning in agile - Aaltodoc - Aalto
D e p a r t me nto fC o mp ut e rS c i e nc ea ndE ng i ne e r i ng Vil l eT .H e ikkil ä Casest udie so n re l e asepl anning in agil ede ve l o pme nto rganiz at io ns Casest udie so n re l e ase pl anning in agil e de ve l o pme nto rganiz at io ns V i l l eT .H e i k k i l ä A a l t oU ni v e r s i t y D O C T O R A L D I S S E R T A T I O N S Aalto University publication series DOCTORAL DISSERTATIONS 6/2015 Case studies on release planning in agile development organizations Ville T. Heikkilä A doctoral dissertation completed for the degree of Doctor of Science (Technology) to be defended, with the permission of the Aalto University School of Science, at a public examination held in Auditorium T2 of the school on 23 January 2015 at noon. Aalto University School of Science Department of Computer Science and Engineering Software Process Research Group Supervising professor Professor Casper Lassenius Thesis advisor Doctor Maria Paasivaara Preliminary examiners Professor Richard Torkar Chalmers University of Technology, Sweden Professor Kari Smolander Lappeenranta University of Technology, Finland Opponents Professor Tony Gorschek Blekinge Institute of Technology, Sweden Aalto University publication series DOCTORAL DISSERTATIONS 6/2015 © Ville T. Heikkilä ISBN 978-952-60-6045-3 (printed) ISBN 978-952-60-6046-0 (pdf) ISSN-L 1799-4934 ISSN 1799-4934 (printed) ISSN 1799-4942 (pdf) http://urn.fi/URN:ISBN:978-952-60-6046-0 Images: The cover image is a deritative of "Gears" by William Warby under Creative Commons Attribution 2.0 Generic, "Waves 2" by Tony Hisgett under Creative Commons Attribution 2.0 Generic and "Snowball" by redjar under Creative Commons Attribution-ShareAlike 2.0 Generic. The cover image is published under the Creative Commons Attribution-ShareAlike 2.0 Generic licence. Unigrafia Oy Helsinki 2015 Finland Abstract 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. Keywords Scrum, release planning, agile software development, inter-team coordination, large-scale agile, case study ISBN (printed) 978-952-60-6045-3 ISBN (pdf) 978-952-60-6046-0 ISSN-L 1799-4934 ISSN (printed) 1799-4934 ISSN (pdf) 1799-4942 Location of publisher Helsinki Pages 163 Location of printing Helsinki Year 2015 urn http://urn.fi/URN:ISBN:978-952-60-6046-0 Tiivistelmä Aalto-yliopisto, PL 11000, 00076 Aalto www.aalto.fi Tekijä Ville T. Heikkilä Väitöskirjan nimi Tapaustutkimuksia julkaisusuunnittelusta ketterissä ohjelmistokehitysorganisaatioissa Julkaisija Perustieteiden korkeakoulu Yksikkö Tietotekniikan laitos Sarja Aalto University publication series DOCTORAL DISSERTATIONS 6/2015 Tutkimusala Ohjelmistotuotanto Käsikirjoituksen pvm 13.05.2014 Julkaisuluvan myöntämispäivä 05.11.2014 Monografia Väitöspäivä 23.01.2015 Kieli Englanti Yhdistelmäväitöskirja (yhteenveto-osa + erillisartikkelit) Tiivistelmä Ohjelmistojen julkaisusuunnittelun tavoitteena on tarkoituksenmukaisen sisällön suunnittelu. Julkaisusuunnittelussa on otettava huomioon tarvittavat resurssit, ohjelmistovaatimusten prioriteetit ja erilaiset rajoitteet. Aiheen aikaisempi tutkimus on keskittynyt algoritmisiin ja mallipohjaisiin ratkaisuihin, joissa vaatimusten valintaperusteiden ja rajoitteiden pitää olla hyvin määritellyt. Todellisuudessa valintaperusteita ja rajoitteita pystytään harvoin määrittelemään ennalta riittävän tarkasti. Nykyaikaiset ketterät ohjelmistokehitysmenetelmät perustuvat nopeaan kehityssykliin ja jatkuvaan kommunikaatioon eri osapuolten välillä, eivät suunnitteluun ja suunnitelman seuraamiseen, kuten mallipohjaiset menetelmät. Tämä väitöskirja esittelee kolme tapaustutkimusta julkaisusuunnittelumenetelmistä kahdessa isossa ja yhdessä pienessä ohjelmistokehitysorganisaatiossa. Tutkimuksen tavoitteena oli tutkia, miten menetelmiä oli käytetty, miten ne vaikuttivat ohjelmistokehitysryhmätason suunnittelukäytäntöihin ja mitä haasteita ja hyötyjä menetelmiin liittyi. Tutkimusmenetelminä käytettiin havainnointeja, haastatteluja, kyselyjä ja ohjelmistovaatimusten tilastollista analyysiä. Tutkitut organisaatiot käyttivät erilaisia julkaisusuunnittelumenetelmiä. Agilefant-organisaatiossa käytettiin mallipohjaista menetelmää, jossa ohjelmiston sidosryhmiä pyydettiin äänestämään vaatimusten tärkeysjärjestyksestä. F-Secure käytti menetelmää, jossa kaikki sidosryhmiin kuuluvat kokoontuivat säännöllisesti suunnittelemaan seuraavaa julkaisua yhdessä. Ericssonin menetelmä oli luonteeltaan jatkuva ja perustui vaatimusten vähittäiseen tarkentamiseen. Ryhmätasolla suunnittelukäytännöt noudattivat pääosin Scrum-menetelmää. Ensimmäinen haaste oli, ettei vaatimuksia kyetty tunnistamaan, valitsemaan ja tarkentamaan siten, että ne olisivat tukeneet julkaisusuunnittelua. Toinen haaste oli ketterien ohjelmistokehitysmenetelmien käyttöönoton keskeneräisyys. Menetelmien hyötyjä olivat useiden mielipiteiden sovittelu, tehokkuus, korkeatasoisten suunnitelmien luonti ja kehittäjien parantunut motivaatio. Tulokset osoittavat, että johtajien ei pitäisi tehdä julkaisusuunnittelua eristyksissä ohjelmistokehittäjistä. Sen sijaan koko organisaation hiljainen tieto tulisi valjastaa julkaisusuunnitteluun. Ohjelmistokehitysorganisaatiot voivat hyödyntää väitöskirjassa tunnistettuihin haasteisiin esitettyjä ratkaisuja julkaisusuunnittelumenetelmiensä parantamiseksi. Mallipohjaisen julkaisusuunnittelun tutkimuksen tulisi jatkossa keskittyä siihen, miten julkaisusuunnittelua käytännössä tehdään. Avainsanat Scrum, julkaisusuunnittelu, ketterä ohjelmistokehitys, pienryhmien koordinointi, ketteryys isoissa organisaatioissa, tapaustutkimus ISBN (painettu) 978-952-60-6045-3 ISBN (pdf) 978-952-60-6046-0 ISSN-L 1799-4934 ISSN (painettu) 1799-4934 ISSN (pdf) 1799-4942 Julkaisupaikka Helsinki Sivumäärä 163 Painopaikka Helsinki Vuosi 2015 urn http://urn.fi/URN:ISBN:978-952-60-6046-0 Preface The first steps towards this dissertation were taken in 2008 although I did not realize it at the time. When I was recruited for a summer job in the ATMAN research project, I could never have predicted that six and a half years later I would be publicly defending my doctoral dissertation. Between now and then, I have had the opportunity to work with many intelligent and interesting people who, in one way or another, have contributed to this dissertation. I would like to thank my supervisor, Professor Casper Lassenius, who has guided my research towards a coherent topic and encouraged me to finally put together this dissertation. I would like to thank my dissertation instructor, Maria Paasivaara, for the help she has given me during the writing of this dissertation. Anas Jadallah, Kristian Rautiainen, Günther Ruhe, Slinger Jansen, Christian Engblom, Towo Toivola and Janne Järvinen contributed to the research and writing of the publications that are included in this dissertation. It would not exist without them. I am grateful to all the people from F-Secure and Ericsson who were interviewed or provided data otherwise and to all the people who participated in the Agilefant release planning case study. The preliminary examination of this dissertation was done by Professor Richard Torkar and Professor Kari Smolander. Their comments led to many improvements to the dissertation and I wish to thank them for that. The members of the Aalto University Software Process Research Group have been the best co-workers a young researcher might hope for. Jarno Vähäniitty, Juha Itkonen, Mika Mäntylä, Jari Vanhanen and Timo Lehtinen have all supported my work by countless discussions on the theory and practice of conducting and publishing research. This research was financially supported by TEKES (the Finnish Funding Agency for Innovation) and the participating companies in the ATMAN 1 Preface research project, and by TEKES as a part of the Cloud Software Finland and the Need for Speed research programs of DIGILE (Finnish Strategic Centre for Science, Technology and Innovation in the field of ICT and digital business). I finalized this dissertation while I was visiting the SEGAL research group at the University of Victoria, BC, Canada. I would like to thank Professor Daniela Damian for accepting me into her research group and inspiring me to take on a new research challenge. Finally, I wish to thank my spouse Maria for her support. She has been very understanding and adaptable to the needs of my work, whether it has been my odd working hours, travelling or long visits to foreign countries. Espoo, December 18, 2014, Ville T. Heikkilä 2 Contents Preface 1 Contents 3 List of Publications 7 Author’s Contribution 9 1. Introduction 11 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2 Research goals and questions . . . . . . . . . . . . . . . . . . 13 1.3 Scope limitations . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4 Structure of the dissertation . . . . . . . . . . . . . . . . . . . 15 2. Background and related work 17 2.1 Agile software development and Scrum . . . . . . . . . . . . 17 2.2 Scaling up agile development . . . . . . . . . . . . . . . . . . 19 2.3 Releases and release planning . . . . . . . . . . . . . . . . . . 22 2.4 Software product and project management . . . . . . . . . . 24 3. Research methods 27 3.1 Software engineering research methods . . . . . . . . . . . . 27 3.2 Case study approach . . . . . . . . . . . . . . . . . . . . . . . 29 3.3 Data collection . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3.1 Case Agilefant . . . . . . . . . . . . . . . . . . . . . . . 30 3.3.2 Case F-Secure . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.3 Case Ericsson . . . . . . . . . . . . . . . . . . . . . . . 32 3.4 Qualitative data analysis . . . . . . . . . . . . . . . . . . . . . 33 3.5 Quantitative data analysis . . . . . . . . . . . . . . . . . . . . 36 4. Summary of the results 39 3 Contents 4.1 Overview and background of the cases . . . . . . . . . . . . . 39 4.1.1 Case Agilefant . . . . . . . . . . . . . . . . . . . . . . . 39 4.1.2 Case F-Secure . . . . . . . . . . . . . . . . . . . . . . . 40 4.1.3 Case Ericsson . . . . . . . . . . . . . . . . . . . . . . . 41 4.2 RQ1: How were the releases planned in the cases studied? . 42 4.2.1 SCERP . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2.2 Release Iteration Planning . . . . . . . . . . . . . . . . 43 4.2.3 Continuous Release Planning . . . . . . . . . . . . . . 46 4.3 RQ2: What were the team-level planning processes, and how were they affected by the release planning method? . . . . . 47 4.3.1 Case F-Secure . . . . . . . . . . . . . . . . . . . . . . . 48 4.3.2 Case Ericsson . . . . . . . . . . . . . . . . . . . . . . . 48 4.4 RQ3: What kinds of challenges were associated with the release planning methods? . . . . . . . . . . . . . . . . . . . . 50 4.4.1 Effort spent on release planning . . . . . . . . . . . . 50 4.4.2 Selection of the candidate features . . . . . . . . . . . 50 4.4.3 Identifying feature prioritization criteria . . . . . . . 51 4.4.4 Preparation and definition of features . . . . . . . . . 51 4.4.5 Balancing between specialized and generalist teams . 52 4.4.6 Immature adoption of the agile mind-set . . . . . . . 52 4.4.7 Planning the product architecture . . . . . . . . . . . 53 4.5 RQ4: What kinds of benefits have the release planning methods realized? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.5.1 Mediation of multiple opinions and perspectives . . . 54 4.5.2 Efficiency of the planning method . . . . . . . . . . . . 55 4.5.3 Creation of high-quality plans . . . . . . . . . . . . . . 55 4.5.4 Increased motivation . . . . . . . . . . . . . . . . . . . 56 5. Discussion 5.1 Answers to research questions . . . . . . . . . . . . . . . . . . 5.1.1 How were the releases planned in the cases studied? 57 57 57 5.1.2 What were the team-level planning processes, and how were they affected by the release planning method? 59 5.1.3 What kinds of challenges were associated with the release planning methods? . . . . . . . . . . . . . . . . 60 5.1.4 What kinds of benefits have the release planning 4 methods realized? . . . . . . . . . . . . . . . . . . . . . 60 5.2 Threats to validity and limitations . . . . . . . . . . . . . . . 62 Contents 5.2.1 Construct validity . . . . . . . . . . . . . . . . . . . . . 63 5.2.2 Internal validity . . . . . . . . . . . . . . . . . . . . . . 64 5.2.3 External validity . . . . . . . . . . . . . . . . . . . . . 65 5.2.4 Statistical-conclusion validity . . . . . . . . . . . . . . 65 5.2.5 Reliability . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2.6 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . 66 6. Conclusions 69 6.1 Implications to practice . . . . . . . . . . . . . . . . . . . . . . 69 6.2 Implications to theory . . . . . . . . . . . . . . . . . . . . . . 70 6.3 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Bibliography 73 Publications 79 5 Contents 6 List of Publications This thesis consists of an overview and of the following publications which are referred to in the text by their Roman numerals. I Ville Heikkilä, Anas Jadallah, Kristian Rautiainen, Günther Ruhe. Rigorous Support for Flexible Planning of Product Releases — A StakeholderCentric Approach and its Initial Evaluation. In Proceedings of the 43th Hawaii International Conference on System Sciences, Kuai, Hawaii, 10 pages (digital proceedings), January 2010. II Ville Heikkilä, Kristian Rautiainen, Slinger Jansen. A Revelatory Case Study on Scaling Agile Release Planning. In Proceedings of the 36th EUROMICRO Conference on Software Engineering and Advanced Applications, Lille, France, pp. 289–296, September 2010. III Ville T. Heikkilä, Maria Paasivaara, Casper Lassenius, and Christian Engblom. Continuous Release Planning in a Large-Scale Scrum Development Organization at Ericsson. In Proceedings of the Agile Processes in Software Engineering and Extreme Programming, Vienna, Austria, Vol. 149 of Lecture Notes in Business Information Processing, Springer Berlin Heidelberg, pp. 195–209, June 2013. IV Ville T. Heikkilä, Maria Paasivaara, and Casper Lassenius. ScrumBut, but Does It Matter? A Mixed-Method Study of the Planning Process of a Multi-Team Scrum Organization. In Proceedings of the ACM / IEEE International Symposium on Empirical Software Engineering and Measurement, Baltimore, Maryland, USA, pp. 85–94, October 2013. V Ville T. Heikkilä, Maria Paasivaara, Kristian Rautiainen, Casper Lassenius, Towo Toivola, and Janne Järvinen. Operational Release Planning in Large-Scale Scrum with Multiple Stakeholders — A Longitudinal Case Study at F-Secure Corporation. Information and Software Technology, in press, 25 pages, 2014. 7 List of Publications 8 Author’s Contribution Publication I: “Rigorous Support for Flexible Planning of Product Releases — A Stakeholder-Centric Approach and its Initial Evaluation” The authors of the publication planned the research collaboratively. The author of this dissertation conducted the case study and analysed the resulting data. The abstract, related work, introduction and discussion were written by the authors of the article in collaboration. Case study design and results were written by the author of this dissertation. Publication II: “A Revelatory Case Study on Scaling Agile Release Planning” The first two authors of the publication planned the research and collected the data. The author of this dissertation wrote the first draft of the publication. The text was finalized in collaboration with Kristian Rautiainen. Publication III: “Continuous Release Planning in a Large-Scale Scrum Development Organization at Ericsson” The authors of the publication planned the research in collaboration. Data was collaboratively collected by the first three authors. The author of this dissertation analysed the data and wrote the publication. 9 Author’s Contribution Publication IV: “ScrumBut, but Does It Matter? A Mixed-Method Study of the Planning Process of a Multi-Team Scrum Organization” The research was planned by the authors of the publication in collaboration. The data collection, analysis and writing of the publication were done by the author of this dissertation. Publication V: “Operational Release Planning in Large-Scale Scrum with Multiple Stakeholders — A Longitudinal Case Study at F-Secure Corporation” The research was planned by the authors of the publication in collaboration. The observation data was collaboratively collected by the author of this dissertation and Kristian Rautiainen. The interviews were conducted collaboratively by the author and Maria Paasivaara. Data analysis was conducted by the author. The first draft of Section 8 was written by Maria Paasivaara. Section 8 was later partially re-written by the author. The rest of the publication was written by the author. 10 1. Introduction Our suggestion . . . is to give the role of (internal) contract giver for all development activities to Product Management as part of its product responsibility. . . . The establishment of a such strict separation of contract giver and taker for development is usually somewhat difficult to start since the developers tend to see this more as annoying control than as help whereas people on the business side often feel forced into sharing responsibility for the results of the development. —Kittlaus and Clough (2009, pages 94–95) In general the software product manager is dependent on being able to predict reliably if Development can meet the plan in terms of time and quality. Once Development has written the project plan, the product manager is advised to follow the progress of the project in comparison to this project plan closely . . . —Kittlaus and Clough (2009, page 96) As the snippets above illustrate, software product management literature has traditionally seen the development as a separate organization that is given a set of requirements and is expected to complete the requirements according to a plan. Modern, agile software development methods take a completely opposite approach to communication and planning. They emphasize collaboration between all stakeholders and adapting to changes instead of following a plan. Combining the business-driven need for predictability and plans with agile software development methods, especially in large-scale development organizations, is challenging. This dissertation presents the first steps towards solutions to this challenge by describing three cases of release planning in agile software development organizations. 11 Introduction 1.1 Motivation Planning the next product release is recognized as a challenging part of market-driven product development (Fogelström et al., 2010) and an important success factor in agile software development projects (Chow and Cao, 2008). The main goal of software release planning is to select an appropriate scope for a release while taking into account constraints such as the budget, resources, dependencies and technical aspects, and factors such as the importance or urgency of the candidate requirements and the availability of development resources (Carlshamre, 2002; Fogelström et al., 2010; Ngo-The and Ruhe, 2008). Depending on the definition, release planning often includes the most efficient implementation order of the candidate requirements (Svahnberg et al., 2010). Release planning is especially vital in market-driven product development, as it puts the strategy of the company in practice (Svahnberg et al., 2010). Research on software release planning has focused on model-based release planning designed to create the most valuable, satisfying or risk-free release plans using a mathematical optimization algorithm (Svahnberg et al., 2010). The model or simulation is then used to generate one or a set of optimal or near-optimal release plan(s). However, the empirical validation of the proposed models is largely weak and the adoption rate of model-based release planning in industry is unknown (Svahnberg et al., 2010). Release planning activities are sometimes called pre-project activities (Fogelström et al., 2010), indicating that requirements gathering, prioritization and planning are performed before the development begins. In this traditional, plan-driven approach, a product manager or a product management office is responsible for these activities. Traditional product and release planning literature largely has not acknowledged the rise of the modern, agile software development methods that are dependent on collaboration between different stakeholders (Vähäniitty, 2011). Instead, it suggests that strict division between responsibilities and detailed communication protocols should be established. In agile software development, planning is an iterative and incremental activity that is conducted during the project (Fogelström et al., 2010). Several release planning activities, such as the market, customer and competitor analysis, are typically performed by product managers or product owners also in agile development projects. However, most of the release planning activities are performed 12 Introduction collaboratively with the development organization (Benestad and Hannay, 2011; Schwaber and Beedle, 2002). Disregarding model-based release planning research and practitioner literature, little empirical evidence exists on how release planning can be conducted in large-scale agile development organizations. Considering the importance of release planning for the success of a development project (Chow and Cao, 2008; Fogelström et al., 2010), the dominance of the model-based release planning in research (Jantunen et al., 2011; Lehtola et al., 2004; Svahnberg et al., 2010), and the lack of solid empirical evidence of successful practices for scaling up agile release planning, there is an obvious gap in the research of release planning in modern, large-scale agile software development organizations. The overall goal of the research presented in this dissertation is to take the first empirical steps to fill that gap. 1.2 Research goals and questions The overall research question that this dissertation aims to answer is the following: How can releases be planned in modern, agile software development organizations? In order to answer this main research question, the following research questions are answered in this dissertation: RQ1: How were the releases planned in the cases studied? RQ2: What were the team-level planning processes, and how were they affected by the release planning method? RQ3: What kinds of challenges were associated with the release planning methods? RQ4: What kinds of benefits have the release planning methods realized? The research presented in this dissertation is based on the pragmatist epistemological tradition of empirical software engineering research (Petersen and Gencel, 2013; Runeson and Höst, 2009; Sjøberg et al., 2007; Wohlin et al., 2003). Although both qualitative and quantitative methods are applied, the goal is to disseminate the studied release planning methods from the realist standpoint instead of focusing on, for example, the interpretation of the internal realities of the people affected by the method. This dissertation consists of five publications and a summary. Table 1.1 summarises how the publications contribute to the overall research 13 Introduction questions of this dissertation. Complimentary subjects are not necessarily introduced in the research questions of their respective publications, but information on the subject is provided in the results of the publication. Table 1.1. Contribution of each publication to the research questions Research question Publication RQ1 I M II M III M IV V RQ2 RQ3 RQ 4 c c c c c c M M M M M M c Note. M = main subject, c = complimentary subject 1.3 Scope limitations The term release planning does not have an universally accepted definition. For example, in a model proposed by van de Weerd et al. (2006) release planning includes the following processes: requirements prioritization, requirements selection, release definition, release validation, scope change management and launch preparation. However, according to Bays (1999), launch preparations belong to the knowledge area of release management. Release management encompasses the practicalities of getting a new release available to the market (Bays, 1999). These include the manufacturing of the physical distribution media, preparing the distribution chain, preparing the customer support, preparing internationalization and so on. Such practicalities are out of the scope of this dissertation. Al-Emran and Pfahl (2007) and Fogelström et al. (2009) divide release planning into strategic release planning and operational release planning. In strategic release planning, the focus is on selecting the appropriate requirements for the next public release of the product. In operational release planning, the focus is on planning how the requirements for the next release can be best implemented. Such strict separation of strategic and operational release planning does not exist in agile development organizations (Fogelström et al., 2010). This dissertation adopts a working definition of release planning that encompasses both strategic and operational release planning. Thus, release 14 Introduction planning is considered an activity where the tentative scope of the next release is planned and the initial prioritization of requirements and the tentative assignment of requirements to developers or development teams is considered. The market-facing knowledge areas of product and project management are out of the scope of this dissertation. These knowledge areas include, but are not limited to, market analysis, competitor analysis, product strategy, roadmapping, product pricing, marketing, recruitment and project budgeting. 1.4 Structure of the dissertation This dissertation consists of a summary and five research articles. These articles describe three different release planning methods. The first is SCERP, which is a method based on an algorithmic optimization model and on the votes of the stakeholders. The second method, Release Iteration Planning, is iterative and incremental and focusses on collaborative planning events in which all stakeholders of the development project participate. The third method is Continuous Release Planning, which is a continuous decision-making process based on stepwise elaboration of requirements. The rest of this summary is organized as follows. Chapter 2 provides background and related work on agile software development on small scale and large scale, on software product management and on release planning. Chapter 3 describes the research methods employed in this dissertation. Chapter 4 provides a summary of the results of this dissertation. Chapter 5 discusses the results of this dissertation and the threats to the validity of the results. Chapter 6 concludes and provides directions for future work. 15 Introduction 16 2. Background and related work The research disseminated in this dissertation covers multiple subject areas, from software engineering methods to software product management. This section provides background information on these subjects. All studied cases employed a development process inspired by the Scrum agile software development method; general information on the history and principles of agile software development methods and Scrum is described below in Section 2.1. Although Scrum was originally aimed for small teams, large organizations have begun to adopt Scrum practices. Two of the case organizations studied in this research were large. Section 2.2 gives background information on how agile methods and Scrum have been proposed to be scalable to large organizations. In the software engineering discipline, release planning has been mostly studied as a mathematical optimization problem. The definitions of release and release planning, the mathematical approach and what little is written on release planning in Scrum, is discussed in Section 2.3. Traditionally, a product management organization has been considered responsible for release planning. This subject and challenges related to it are discussed in Section 2.4. 2.1 Agile software development and Scrum The agile software development movement began at the beginning of the 21st century when a group of researchers, consultants and practitioners declared that the software development methods and processes at the time focussed too much on formal contracts, documents, plans, processes and tools (Beck et al., 2001; Dingsøyr et al., 2012; Larman, 2004). Although there is no universal definition of agile software development methods (Dingsøyr et al., 2012), in this dissertation the following working definition inspired by Larman (2004) is adopted: Agile methods aim to quickly deliver 17 Background and related work something of value to the customer, cultivate collaboration between the stakeholders, value competence and technical excellence, and empower the developers to make decisions on the development team level. The agile movement produced several agile software development methods, which are sometimes alternatively known as agile software development life-cycle models. At the time of writing of this dissertation, the most widely used agile software development method was Scrum (VersionOne, Inc., 2013). Scrum was also used in all three cases described in this dissertation; other agile software development methods are omitted from this section. Scrum is an iterative and incremental agile method originally intended for small, independent software development teams (Schwaber and Beedle, 2002; Schwaber and Sutherland, 2013). Software is developed during two- to four-week long software development iterations, which are called sprints. In addition to software developers who are cross-functional and capable of implementing and delivering any requirements imagined for the software, Scrum defines two Scrum-specific roles: A Scrum master guides the team in the correct implementation of the Scrum method, shields the development team from external disruptions and in every way tries to facilitate and improve the work of the Scrum team. A product owner is responsible for creating and prioritizing the requirements for the software and for guiding the team in the implementation of the requirements. The requirements that are to be implemented in the software under development are stored in a product backlog. Originally in Scrum, the requirements stored in the product backlog were called backlog items (Schwaber and Beedle, 2002). Backlog items describe end-to-end functionality that is visible and valuable to the end user. Later on, many Scrum practitioners began to format requirements as user stores (Cohn, 2004), a practice that was adopted from the eXtreme Programming agile software development method (Beck et al., 2001). A requirement that follows the user story formatting gives a short description of whom the requirement is for, what it is expected to do and why it is needed. In Scrum, the product owner has the sole authority to add new user stories to the backlog and to prioritize the backlog. Every Scrum sprint begins with a sprint planning meeting that is done in two parts. In part one of the meeting the developers with help from the product owner first estimate the topmost (the high priority) user stories in the backlog. The developers then select as many user stories from the top of 18 Background and related work the backlog as they estimate they can develop during the following sprint. These user stories form the basis of the sprint backlog of the following sprint. In part two of the sprint planning meeting the developers split the user stories in the sprint backlog into concrete development tasks and estimate the tasks. The tasks are linked to the user stories to which they are related and are added to the sprint backlog. At the end of the sprint, the developers demonstrate the user stories that they have completed during the sprint to the product owner in a sprint review. All the user stories included in a sprint must be completed during the sprint; otherwise, the sprint is considered a failure. The completed user stories must be integrated, of publishable quality and work end-to-end. The goal is that the software could be published for the end users at the end of any sprint. A sprint retrospective is also conducted during the sprint review. The goal of the retrospective is to identify problems, good practices and improvement suggestions based on the preceding sprint. 2.2 Scaling up agile development At the time of writing, large development organizations have begun to adopt Scrum practices (VersionOne, Inc., 2013). The early Scrum literature provided little guidance for strategic release planning, as the focus was on planning and developing software one sprint at a time in a single team, single project context (Schwaber and Beedle, 2002). The proposed way to scale up the size of a Scrum development organization is to employ multiple small Scrum teams that simultaneously develop the same software system (Schwaber, 2007). There are usually architectural complexities that result in a network of dependencies between requirements (Benestad and Hannay, 2011; Carlshamre, 2002), which increases the difficulty of inter-team coordination. Several problems related to agile development in the large enterprise context have been identified by van Waardenburg and van Vliet (2013). These included a multi-layered organization structure with strict communication channels, diffused information, dependencies on external parties, difficulties in developing end-to-end functionality, lack of business involvement and requirements prioritization when many stakeholders are involved and they have conflicting needs. Many consultants and practitioners have proposed different kinds of models for scaling agile development based on their experiences. Three notably different models are described below to provide an overview of the 19 Background and related work subject and to allow comparisons to the cases described in this dissertation. Figure 2.1 illustrates the organization of the development in the three models. (a) Schwaber (2007) (b) Larman and Vodde (2010) (c) Leffingwell (2011) Figure 2.1. Organization of large-scale agile development by (a) Schwaber, (b) Larman and Vodde, and (c) Leffingwell 20 Background and related work Schwaber (2007) suggests organizing the development using a tree structure. The structure has multiple levels of integration Scrum teams in the branch nodes and (development) Scrum teams in the leaf nodes. The integration Scrum teams do not develop functional software but instead integrate, build and test the software implemented by the (development) Scrum teams. Both kinds of Scrum teams have a dedicated product owner. All requirements are listed in a product backlog as user stories. The branch node product owners are responsible for assigning the sections of the product backlog for the lower level teams. Release planning is performed by the root node product owner by selecting a subset of the product backlog as the release product backlog. Larman and Vodde (2010) propose a two-layer model for a large-scale development organization. Development teams are arranged as feature teams that work on a single feature at a time, and the team composition persists over time. Feature teams are grouped into technical product areas. Each product area is managed by an area product owner, who in turn is managed by a product owner. The product owner manages the product backlog and assigns backlog items to the product areas. Features are large backlog items that describe functionality that is valuable for the customer. Features are split into smaller backlog items that can be implemented during a single sprint. Only the dates of the external releases are planned, and the content of the release is defined by what is ready at the time of the release. Leffingwell (2011) proposes a model for the agile enterprise that consists of three layers, which are the portfolio, the program and the team layer. Each level has a corresponding backlog. The portfolio level is planned with epics, which are "large-scale development initiatives" that span multiple releases. Epics are split into features, which are planned on the program level. Features are descriptions of the system behaviour that can be developed in a single release project. Product management is responsible for managing the program backlog, which contains the features. Features are split into stories that can be implemented in a single development iteration. The development teams are organized as independent teams that each have a dedicated product owner. Release planning is performed in release planning events where all stakeholders of the product assemble to plan the next release together. Although these models are purportedly based on experiences in real software development organizations, the empirical validation of the models 21 Background and related work is weak. As Figure 2.1 illustrates, the organization of the development differs between the models considerably. Clearly more empirical research on the organizations of the development and planning is required to reveal what kinds of benefits and challenges different kinds of agile scaling models create. 2.3 Releases and release planning Several different approaches to releasing software are employed in development organizations. The traditional way to approach software releases is to divide the release into several incremental stages. The most commonly used stages are the alpha test releases, the beta test releases and the general availability release (Bays, 1999). Alpha test releases are created to test the software internally or with a small set of external alpha testers. Alpha test releases are not expected to be feature complete or free of faults, but have enough functionality for the test users to test most of the features (Bays, 1999; Mäntylä and Itkonen, In Press). Beta test releases are done for external users for implicit defect detection. Beta versions of the software are expected to be feature complete and of high quality, and the purpose of a beta test release is to test the software in larger variety of different environments than what is internally feasible (Bays, 1999; Mäntylä and Itkonen, 2013, In Press). Patch and update releases, which correct problems, and upgrade releases, which add or improve functionality, may follow the general availability release (Bays, 1999). The approach to software releases in Scrum does not follow the traditional staged release model. Each sprint in Scrum is expected to end in a set of new functionality that is of publishable quality and the product owner may at any point decide to publish the software (Schwaber and Beedle, 2002). The first release of the software in Scrum cannot be considered a traditional alpha or beta, since it is expected to be of high quality but it contains only a part of the functionality expected of the software. The first release is followed by further releases that incrementally add new functionality. The purported benefit from the Scrum release model is that the development organization gets feedback from the users after each incremental release and that the releases can be sold to customers earlier than in the traditional model (Pries and Quigley, 2011). The continuous delivery model has been proposed as the next evolutionary step from the iterative and incremental Scrum release model (Olsson 22 Background and related work et al., 2012). In the continuous delivery model, a new version of the software is released and delivered to the users or customers immediately after it has passed thorough an automated integration and testing process which ensures that the released software is always of high quality. The purported benefits from this model are the continuous customer feedback and the ability to eliminate work that does not produce value for the customer (Olsson et al., 2012). However, this release model requires that there is a baseline set of functionality which makes the software usable or valuable to the customer before the continuous delivery of improvements can begin. In a software development project, the release plans provide information on how the goals of the project are reached on a time horizon of several months (Cohn, 2005). The release plan unifies the expectations about the likely outcome and timeframe of the next release (Cohn, 2005). According to empirical release planning research, there are several technical and human factors that make release planning a difficult task. A shared understanding about the requirements arises during development and may be weak in the beginning of the release development project (Benestad and Hannay, 2011). The requirement selection criteria are time dependent and may change both qualitatively and quantitatively during the release development project (Benestad and Hannay, 2011). The great majority of requirements have dependencies between them that constrain the implementation order. These dependencies may be complex and difficult to identify (Benestad and Hannay, 2011; Carlshamre et al., 2001). Decision makers have difficulties expressing how value is created by selecting and prioritizing requirements (Barney et al., 2008) and "gut-feeling", lobbying, politics, sell-in and strong individuals affect the requirements prioritization in practice (Lindgren et al., 2008). The size of the client base affects how the release planning of a product can be performed, and some customers are strategically more important than others (Barney et al., 2008). The business perspective is often considered the most important requirement selection factor, which results in the implicit prioritization of feature development over system improvement and innovation (Barney et al., 2008; Fogelström et al., 2009; Lindgren et al., 2008). The majority of published research on software release planning focusses on different kinds of mathematical models and simulations that are designed to create the most valuable, satisfying or risk-free release plans when the candidate requirements can be described in sufficient detail and key constraints and factors are known and can be estimated with sufficient 23 Background and related work accuracy (Svahnberg et al., 2010). The produced release plan is then expected to be precisely followed during the project execution. However, the mathematical approach to release planning has proven to be problematic in practice, since the above conditions are usually difficult to fulfil in practice (Benestad and Hannay, 2011; Boehm, 2000; Cao and Ramesh, 2008; Carlshamre, 2002; Jantunen et al., 2011). The early Scrum literature (Schwaber and Beedle, 2002) described a simple method for release planning in Scrum. The product owner simply decides, based on either the release date or the intended release content, which backlog items from the top of the backlog are included in the next release. In the later Scrum literature, the discussion about release planning varies. Sometimes the subject is completely omitted (Schwaber and Sutherland, 2013), and sometimes it is discussed as a Scrum extension (Schwaber, 2007). Release planning has been recognized as an important success factor in software projects (Chow and Cao, 2008; Fogelström et al., 2010) and as a "wicked problem" that is difficult to solve in a deterministic way (Barney et al., 2008; Benestad and Hannay, 2011; Carlshamre et al., 2001; Fogelström et al., 2009; Lindgren et al., 2008). Nevertheless, empirical research on release planning methods, especially in large-scale agile development organizations, is scarce. 2.4 Software product and project management In large software development organizations, there are multiple levels of planning and management that are performed on different time horizons and by different actors (Cohn, 2005; Leffingwell, 2011; Rautiainen et al., 2002). A product manager or a product management organization is an important actor in the management of a software product. A product manager is a "mini CEO of a product" (Maglyas et al., 2012), and thus principally responsible for the releases of a product. The role of product management in a software development organization is not radically different from the role in any other field of business (Ebert, 2009), although Maglyas et al. (2012) identified an ongoing confusion about what product management actually encompasses. According to the traditional product management literature (Condon (2002); Ferrari (2008); Kittlaus and Clough (2009)), a product manager has the role of an internal contract giver to the development organization, and the success of the development organization is measured by a separate quality assurance and verification organization. 24 Background and related work The literature views the communication link between the product manager and the development as a mostly one-directional pipe where product specifications are put in and (hopefully) a product fitting those specifications comes out in a timely fashion. Agile software development methods emphasize frequent, direct and informal communication between the different stakeholders, including the product management, project management and developers (Dingsøyr et al., 2012). Thus, the traditional model, where the product management is strictly separated from the development organization, does not fit the agile development methods where product planning activities are not strictly separated from the development organization (Fogelström et al., 2010; Vähäniitty, 2011). Several product planning activities, such as the market, customer and competitor analysis, are typically performed by the product managers or product owners. However, many traditional product and release planning activities, such as the prioritization of requirements, implementation scheduling and cost/benefit analysis, are performed collaboratively with the development organization (Benestad and Hannay, 2011; Schwaber and Beedle, 2002). Researchers, for example Heikkilä et al. (2011), Vlaanderen et al. (2011) and Vähäniitty and Rautiainen (2008), have proposed frameworks for product management in a rapid iterative and incremental, or agile, software development organization. However, the empirical evaluation of these frameworks, at the time of writing, was somewhat lacking. The traditional view is that software projects can be managed using the same methods and tools as any other complex project. These have included project schedules, requirements specification documents, work breakdown structure networks, activity (also known as Gantt) charts, resource allocation charts and myriad of other documents and charts (Pressman, 2010; Sommerville, 2001). The approach taken in agile software development methods, and particularly in Scrum, is to replace the elaborate documents and detailed plans with the just-in-time elaboration of requirements, rolling wave planning and face-to-face communication (Pries and Quigley, 2011; Schwaber, 2004). In the traditional, plan-driven project model the release plan is embedded in the different documents that form the project plan. Since such a detailed project plan is not created in agile projects, the information needs to be created and disseminated using other methods. In a small Scrum project, the product owner can communicate the release plan verbally and by splitting a release backlog from 25 Background and related work the product backlog (Schwaber and Beedle, 2002). Due to the complexities related to agile development in large organizations, in that context the simple verbal face-to-face communication of release plans is not sufficient (Benestad and Hannay, 2011; Carlshamre, 2002; van Waardenburg and van Vliet, 2013). In large agile organizations, release planning and release plans replace the formal project plan and detailed documents in providing the development organization and the stakeholders the information about the tentative schedule, resourcing and contents of the next release. 26 3. Research methods In this chapter, the methodology employed in this dissertation is discussed. First, the research methods employed in software engineering research in general are described. Second, the case study approach employed in this thesis is disseminated. Following that, the data collection performed in each of the cases is described and the qualitative and quantitative data analysis methods are explicated. 3.1 Software engineering research methods Software engineering research can be divided into two research streams: The creation or improvement of technology (processes, tools, models and so on) for software engineering, and the evaluation and comparison of the aforementioned technology (Sjøberg et al., 2007). The research in the former stream is in general more theory-oriented and interested in the theoretical power or validity of the proposed technologies, while the latter stream is interested in the empirical, real-world efficiency, effectiveness and applicability of technology. The research presented in this thesis is based on the study of real-world organizations and is, subsequently, profusely empirical. This section presents an overview of empirical software research methods and motivates the selection of the research method of this thesis. There are four main methods for empirical software engineering research (Sjøberg et al., 2007): experimentation, surveys, case studies and action research. Experimentation is performed in a controlled setting. Experimental laboratory research is sometimes referred to as research-in-the-small due to the inherent limitations of the setting (Wohlin et al., 2003). The goal of experimentation is to study cause-effect relationships by controlling independent variables and studying the subsequent changes in dependent 27 Research methods variables. Careful elimination or control of any variables that may affect the dependent variables is required to establish cause-effect relationships. Control of the variables is accomplished by controlling the setting while the elimination of the effects of any uncontrolled (or unidentified) variables is accomplished by random sampling. Quasi-experiments are otherwise similar to experiments, but random sampling is not performed and more attention must be given to the identification of any and all variables that significantly affect the dependent variables. Experimentation is quantitative research by definition (Wohlin et al., 2003). Surveys can be used to study a large number of variables using large sample sizes (Sjøberg et al., 2007). Surveys can collect both qualitative and quantitative data and are used to respond "how much" or "what kind of" questions. Controlling the survey setting is not possible and the sample of survey respondents is rarely truly random, as surveys are subject to biases such as self-selection and coverage (Lavrakas, 2008). In addition, it is difficult to ensure that all survey respondents have sufficiently similar understanding of the survey questions and divergent understanding can cause measurement bias (Lavrakas, 2008). Action research differs from the other research methods in that it has the explicit goal of improving some real-life situation (Sjøberg et al., 2007). Many different forms of action research exist, but the most common form used in empirical software engineering research is known as the canonical action research process (Davison et al., 2012). Canonical action research is based on the cycle of diagnosis, action planning, intervention, evaluation and reflection. All activities in the cycle should be based on a theory (or a hypothesis) that informs and guides the activities. Action research has been criticized based on the lack of objectivity (Sjøberg et al., 2007) due to its goal of improvement. Although action research is concerned with causes (via interventions) and effects (via evaluations), its real-life setting makes it usually very difficult to control or eliminate confounding variables and assert cause-effect relationships. The research method employed in the research disseminated in this dissertation is the case study method (Sjøberg et al., 2007; Yin, 2009). The method is used to study phenomena in their real-life context. Case study aims to answer a "how" or "why" question. The case study method is the most appropriate choice when a contemporary event over which the researcher has no control is studied. Both qualitative and quantitative data can be collected and analysed in case study research. 28 Research methods The case study method was selected due to the difficulty of studying largescale agile software development with any of the other methods, and due to its power to disseminate new and interesting phenomena. Experimental or quasi-experimental design was not possible due to the nature of the studied release planning methods. Designs with randomized sampling and control groups were not feasible because the unit of analysis was the development organization as a whole. Small-scale experiments with, for example, groups of students would have been feasible, but the generalizability of such experiments to real-world large development organizations is questionable. Due to the lack of a solid theory or even a generally accepted definition for large-scale agile release planning, surveys regarding it were considered premature. The difference between action research and research presented in Publication V was that in Publication V the goal was not the theorybased improvement of the current situation by intervention. Instead, the aim was to study the interesting phenomena in the cases as they unwound (Yin, 2009). Although feedback reports were provided to the company, it would have been impossible to separate the effects of the feedback reports from the effects caused by changes independently instigated by the case organization. Since the theory-based analysis of cause-effect relationships is one of the main goals of canonical action research, the research presented in Publication V cannot be considered canonical action research. Other forms of action research mostly focus on sociology and have explicit social goals such as self-emancipation, equality and empowerment that have little to do with the research goals of this dissertation (Davison et al., 2004; Isador et al., 1948). The case study method is well suited for studying new and atypical phenomena, and such studies are some times called revelatory case studies. The case study method does not require an existing theory or hypothesis to be applicable, and case studies can be theoretically generalized, which means that large samples required by statistical generalization are not necessary (Yin, 2009). 3.2 Case study approach The publications that belong to this thesis present three case studies of three different release planning methods in three organizations. Table 3.1 shows the cases, release planning methods and the publications related to each of the three. 29 Research methods Table 3.1. Cases, release planning methods and contributing publications Case Release planning method Publication(s) Agilefant SCERP I F-Secure Release Iteration Planning II, V Ericsson Continuous Release Planning III, IV In Case Agilefant, the researchers initiated the case study by suggesting that the SCERP method could be applied to the release planning of Agilefant. However, the software, the stakeholders and the candidate features were real and contemporary, and the researchers did not affect the SCERP process during the case study. Following the definition presented by Yin (2009), the studies of Case Ericsson and Case F-Secure were revelatory case studies. They presented the first empirical studies of new phenomena. In Case F-Secure and Case Ericsson, the researchers identified interesting contemporary phenomena and decided to study them. However, the researchers in both of these cases were not merely neutral observers, as they provided reports of their observations for the case organizations. 3.3 Data collection This section gives an overview of the data collection in the cases presented in this dissertation. Table 3.2 summarizes the collected data. Below, the data collection is described case by case. For more details on the data collection, see the respective publications. Table 3.2. Data collected in the studied cases Case Collected data Agilefant survey responses, SCERP votes F-Secure voice recordings, interviews, survey responses, field notes Ericsson interviews, user stories∗ Note. ∗ Refers to requirements in the user story format 3.3.1 Case Agilefant In Case Agilefant, the goal of the case study was the preliminary evaluation of the SCERP method introduced in Publication I. The evaluation was done by applying the method for the release planning of the Agilefant 30 Research methods (Vähäniitty and Rautiainen, 2008) software development management tool. Agilefant users were invited to participate in the release planning as stakeholders by an open invitation on the Web page of Agilefant. A Web-based release planning tool was employed to gather the stakeholders’ votes and for the release plan generation. In addition to contributing to the release planning method, the stakeholders were asked to fill out a survey concerning the SCERP method. The survey asked the stakeholders to evaluate their understanding of the features and the release planning method, and to evaluate the release planning method and the list of proposed features. The survey also asked the respondents to estimate the time spent on the release planning and to provide general feedback on the method. Nineteen stakeholders voted on the priorities of the candidate features and responded to the survey. Ten stakeholders voted on the acceptability of the release plan alternatives generated in SCERP. 3.3.2 Case F-Secure Case F-Secure was a longitudinal case study (Yin, 2009) of the Release Iteration Planning method. The case study was conducted by the author of this dissertation with the other authors of Publication II and Publication V. For Publication II, we observed two Release Iteration Planning events (which are called joint release planning events in the publication). During the events, we made observation notes and recorded presentations and discussions using voice recorders. After both events, we collaboratively constructed a short description of the event and the most important observations in a case diary. We also conducted a survey after the first two Release Iteration Planning events. All participants of both events were invited to answer the survey. The first survey was sent to 140 participants and was answered by 33 respondents, and the second survey was sent to 136 participants and was answered by 26 respondents. The survey contained statements that the respondents were asked to evaluate using a six-point Likert-like scale. An open text field was also provided next to each statement for free text feedback. In addition, the survey contained questions about the demographic of the respondent and a request to grade the event on a six-point scale. For Publication V, we collected data additional to Publication II and analysed the data more rigorously. We observed three additional Release Iteration Planning events where we wrote field notes and recorded presentations and discussions, and after the events we updated the case diary. In 31 Research methods Table 3.3. Overview of the data collection in Case F-Secure Data source Data collected Release planning events Event 1 voice recordings (13h 19min), notes Event 2 voice recordings (7h 34min), notes Event 3 voice recordings (5h 28min), notes Event 4 voice recordings (5h 5min), notes Event 5 voice recordings (3h 41min), notes Retrospectives Retrospective 1 voice recording (1h) Retrospective 2 voice recordings (56min) Retrospective 3 voice recordings (4h 45min) Retrospective 4 field notes Surveys Event 1 survey 33 responses Event 2 survey 26 responses Post-project interviews Product owner voice recording (1h 22min) Scrum master/Facilitator voice recording (1h) SPI manager voice recording (1h) Product manager A voice recording (41min) Product manager B voice recording (58min) R&D Line manager voice recording (48 min) addition, we observed four retrospectives conducted by the case organization. In the first three retrospectives, we recorded discussions and wrote field notes. In the fourth retrospective we were only allowed to write field notes due to confidentiality reasons. After the case project, we conducted five post-project interviews. Three of these interviews also covered a second project that had adopted the Release Iteration Planning method. The research on the second project was based on those three interviews. Table 3.3 presents the data collected in Case F-Secure in detail. 3.3.3 Case Ericsson Case Ericsson was a single case study of the Continuous Release Planning method employed by the case organization and of the team-level planning practices employed by the case organization. The case study was conducted by the author of this dissertation with the other authors of Publication III and Publication IV. We collected the data for Publication III by conducting three rounds of interviews. We conducted the first and second rounds 32 Research methods in the spring of 2011. We selected the first-round interviewees based on suggestions from case organization representatives to get a good overview of the organization. We first interviewed eight people in Finland who were our key informants (Yin, 2009). They provided us with an overview of the organization’s history, goals, growth and structure as well as the planning process used in the organization. To build deeper understanding about the case organization and to enable the triangulation of data sources (Patton, 2002), we performed a second round of interviews. During the second round, we interviewed twenty people in Finland and eleven people in Hungary. Our goal was to interview multiple people with the same role in the organization, if available, in order to reduce personal bias. After a careful analysis of the results from the first two rounds of interviews, we found that we needed to deepen our understanding of the team-level practices in the case organization and we performed one additional pair-interview in the spring of 2013. We interviewed a product owner and a process improvement manager. The interview focussed on the development teams’ planning processes. In the Case Ericsson interviews, we employed the general interview guide (also known as semi-structured interview) approach (Patton, 2002) in order to maintain adaptability to the roles and individual experiences of the interviewees while making sure that the relevant topics were explored. We updated the interview guide constantly based on new insights from the previous interviews (Patton, 2002). The interview questions were based on the role of the interviewee and on the subjects we wanted to know more about. All interviews were voice-recorded. We collected the quantitative data employed in Publication IV from the backlog management tool of the case organization. We collected 435 user stories that had been modified or created between August 2011 and November 2012. In addition, we received information on the type of work and the site of the teams that had worked on the user stories. The qualitative data collected in Case Ericsson were also employed in Publication IV. Table 3.4 presents the data collected in Case Ericsson in detail. 3.4 Qualitative data analysis In Case Agilefant, the qualitative survey answers were simply read and any findings were written out to the case description. In Case F-Secure and Case Ericsson, we had multiple qualitative data sources which were 33 Research methods Table 3.4. Overview of the data collection in Case Ericsson Data source Data collected Interviewees Voice recordings (per interview) Middle and upper managers (7) 2-3h Agile coach (1) 2h Scrum Masters (6) 1-2h Developers (13) 1-2h Line managers (3) 2-3h Product owners (8) 1-2h Technical specialists / architects (5) 1-2h Backlog data Information User stories (435) effort estimate, date opened, date closed, assigned team(s) employed in the analyses in different ways. The voice recordings were transcribed and imported into the qualitative analysis program Atlas.ti. We analysed the transcribed recordings using a qualitative data analysis method inspired by the classical Grounded Theory (GT) method (Adolph et al., 2011; Glaser, 2007). The GT approach was adopted in these cases due to the difficulties of identifying an existing theory or analytical framework that could be used in the analysis of the data. Initially, we tried to analyse the data using existing theories on what needs to be considered when release planning is conducted (Svahnberg et al., 2010). The existing theories were focussed on mathematical modelling and optimization algorithms. They proposed different prioritization criteria, constraints, models and algorithms for release planning. However, when we started to analyse the data using these theories, we quickly discovered that the interviewees did not see the release planning process as an algorithmic optimization problem and we realized that the analysis of the data using the existing theories would not be fruitful. Since the existing theories were not useful in our analysis, we turned to the Grounded Theory method. Our research process in Case F-Secure and Case Ericsson deviated from the classical GT method in two crucial ways. Subsequently, we characterise the analysis method as GT-inspired. First, we had quite a lot of pre-existing knowledge regarding the subjects we wanted to cover in the interviews. This was because we had previously conducted research on a similar subject, which had inevitably included reviewing the related literature. Thus, we did not conduct the interviews with our minds blank of knowledge 34 Research methods of the specific subject area of interest, as is required by the classical GT (Adolph et al., 2011). The second deviation was the use of a voice recorder to record the interviews in their entirety. We did not want to rely purely on post-interview memos and on notes made during the interviews (Adolph et al., 2011). The research tradition in software engineering research expects that a chain of evidence is established when research is disseminated (Runeson and Höst, 2009). The chain of evidence should show concretely how the presented conclusions and results are derived from the data. In theory, the chain of evidence enables other researchers to assess the validity of the research by repeating the study. Studies can be repeated on many levels. For example, other researchers can conduct new interviews with the same interviewees as in the original study, conduct new interviews with different interviewees in the same organizational context, or re-analyse the data from the original interviews. Thus, the recording of interviews is crucial for the validity and repeatability of research, and research based purely on informal memos would be considered of low quality or even unacceptable due to the lack of a rigorous chain of evidence. Due to the reasons described above, we did not follow the classical GT method to the letter. Instead, we adopted an abductive (Patton, 2002) coding approach: We employed our pre-existing knowledge in the analysis, but we also adapted to new interesting topics we identified in the data. In practice, the transcribed data were read, and codes were assigned to a section of text when that section contained something we were interested in. In Case Ericsson, our approach was close to the classical GT approach. We began the coding of the interview data without a pre-defined list of codes. Based on our pre-existing knowledge of processes and release planning, we identified passages of text that were of interest and coded the passages with one or more concept(s) that described the topic of the passage. At the beginning of the coding process, new concepts were frequently added to the code list. For example, the concepts "technical specialist" and "user story" were identified in the process. As the coding progressed, we employed the constant comparison technique (Adolph et al., 2011) to validate our concepts: Interesting passages of text were compared with the concepts we had previously identified to see if the new passages supported the concepts. The concepts were then kept, changed, combined, split or abandoned based on the new passages. We also identified common themes in the concepts and arranged the concepts in thematic groups, which were validated using 35 Research methods the constant comparison technique. For example, the themes "stakeholder" and "work item" were identified during the analysis. In Case F-Secure, our approach was more straightforward. We prepopulated the list of codes with concepts that were related to the events and the topics we were interested in. For example, these included the concepts "good in the release planning method" and "development teams". The list of codes was augmented with additional concepts when interesting topics we identified in the data did not fit the existing set of codes. These additional codes included the concepts "why the method was adopted" and "dependencies". Finally, the qualitative descriptions of Case F-Secure and Case Ericsson were written based on all the available data. In Case F-Secure, this included the field notes, survey results, feedback reports and the case diary in addition to the transcribed and analysed recordings. In Case Ericsson, the analysis was based on the transcribed and analysed interviews. In both cases, the resulting publications were reviewed by several authoritative and experienced case organization representatives to ensure that the results did not include factual errors. Although some minor factual errors were identified and corrected, the reviewers considered the case descriptions to give a fair account of the studied cases. 3.5 Quantitative data analysis The purpose of the quantitative survey data collected in the case studies was to provide additional insights into the qualitative data and to increase the validity of the results with triangulation of data sources (Patton, 2002; Yin, 2009). In Case Agilefant, we applied simple descriptive data analysis to the survey results. We calculated the median and standard deviation of the results of each survey question. The same approach was applied to the analysis of the quantitative output of the SCERP release planning method. The survey results in Case F-Secure were analysed descriptively by calculating the median and the first and third quartiles and by identifying the lowest and highest answers that were not outliers. The focus of Publication IV was the quantitative backlog data collected from Case Ericsson. We first eliminated outliers from the quantitative data based on the qualitative results from the case. These included backlog items with properties outside the range defined by the case organization and special cases. The analysis of the remaining valid backlog items 36 Research methods was conducted using descriptive analysis, Wilcoxon Signed-Rank Test, Kandall’s tau-b correlation coefficient and linear regression analysis. 37 Research methods 38 4. Summary of the results This section summarizes the results of the research. The details of the results of each individual article can be found in the respective articles. This section is structured according to the overall research questions presented in Section 1.2. This section begins with an overview and background of the cases studied. Finally, the results from each case are detailed in relation to each overall research question of this dissertation. 4.1 Overview and background of the cases Background information on the cases studied is presented in this section. In Case Agilefant, the organization and background were mostly out of the scope of the original case study (Publication I), as the focus of the research was in the description and evaluation of the SCERP method. Regarding Case F-Secure and Case Ericsson, this section describes the histories of the case organizations, the organization of the stakeholders in the cases, and the requirements management processes employed in the cases. 4.1.1 Case Agilefant Case Agilefant was a small-scale, illustrative case study of the release planning of Agilefant (Vähäniitty and Rautiainen, 2008), a Scrum backlog management tool. Agilefant was a non-commercial open-source software program which was developed using a process partially based on Scrum. At the time of the case study, two part-time developers were developing the software and the development was directed by one product owner. 39 Summary of the results Figure 4.1. Project organization during the first four Release Iteration Planning events in Case F-Secure1 4.1.2 Case F-Secure In 2009, the F-Secure corporation employed more than 800 employees and had subsidiaries around the world. In addition to traditional PC computer security software, its offerings included mobile security and data security software. F-Secure began the adoption of the Scrum development life-cycle model in 2006. The goal was to improve the efficiency and decrease the lead time of software development. When the study of Case F-Secure began in 2009, the different parts of the organization were still in different stages of adopting Scrum. Some parts had employed Scrum for several years, while some parts were still working using traditional, plan-driven processes. We studied two projects in Case F-Secure. The first project was the main focus of the study. The goal of the project was to develop a new version of an existing product that belonged to an existing product family. Preceding the project, the back-end and front-end of the product had been developed in separate organizations. In the project, the development organizations were combined, and back-end and front-end Scrum teams were created from the members. The project organization of the first project had defined a four-level hierarchical model of requirements management in the project. Epics formed the high-level goals of the product for the multi-release time horizon. The epics were split into more concrete features that described the requirements for a whole release project. Features were expected to encompass functionality that would create concrete value for the customer or user. 1 Figure originally published in Publication V 40 Summary of the results Features, in turn, were split into user stories. Figure 4.1 illustrates the organization of the project at the beginning of the first studied project. The product management team was responsible for creating the features and epics and prioritizing them. It was supported by the product architecture team, the user experience team and the engine development team representatives. At the beginning of the project, there were nine Finnish development teams and one development team from the Malaysian development site of the company. 4.1.3 Case Ericsson Case Ericsson was based on a study of an Ericsson node development unit. The unit developed a large systems product consisting of both software and hardware. The development of this product had started over ten years before the case study, and at the time of the study it was used by operators all over the world, while the further development of the product still continued. The case organization had begun the transformation from a waterfall-like plan-driven process to an agile process in 2009. By 2011, the whole development organization had adopted a Scrum-based development process. Before the transformation, the development had been arranged as a traditional plan-driven project organization where release planning had begun two years before the release date when the scope of the next release was decided by the product management. The case organization in Case Ericsson used a four-level hierarchy of backlog items to manage requirements. The highest abstraction level work items were features. Features described on a high level what needed to be developed. Epics were created based on the features. Epics were subfeatures that could be developed mostly independently of each other. Epics were split into more concrete user stories. Finally, development tasks were created based on the user stories. The product owners formed their own team, which was led by a chief product owner (chief PO). The product owner team was jointly responsible for managing the development of the software. The long-term development was planned by a product manager. The development teams in the case organization consisted of five to seven developers on each team. The product owners were not tied to the teams. Instead, one or more product owners and teams formed a temporary sub-organization around each epic that was taken under development. The number of teams and product owners in the sub-organization depended on the size of the epic and the state of 41 Summary of the results Figure 4.2. Project organization in Case Ericsson2 its development. Figure 4.2 illustrates the development organization in Case Ericsson. There were several stakeholders who did not belong to the development organization. A single product manager (PM) was responsible for the software part of the product. The PM mostly communicated with the chief PO. In addition, there was an early phases program manager who was responsible for managing the early phases of the release planning process. The product management and the development organization were assisted by technical specialists, who were people with extensive knowledge of telecommunications technology. 4.2 RQ1: How were the releases planned in the cases studied? This section presents the three release planning methods that form the basis of this dissertation. Case Agilefant presents an algorithmic release planning method called SCERP and the preliminary evaluation of the method in the release planning of Agilefant. Case F-Secure presents an iterative and incremental release planning method, called the Release Iteration Planning method, employed by F-Secure. Case Ericsson presents the Continuous Release Planning method employed by Ericsson in Finland and in Hungary. 2 Figure originally published in Publication III 42 Summary of the results 4.2.1 SCERP The SCERP release planning method described in Case Agilefant was based on algorithmic optimization. The priority or importance of the candidate features was defined by a set of stakeholders who voted on how important the features were based on one criterion or several. Each stakeholder could be assigned a relative weight which reflected the stakeholder’s importance. In SCERP, the development of each feature required defined amount of one or more resource types. A set amount of each resource was available during each of the release iterations that were planned. In the preliminary evaluation of SCERP, the only resource considered was the time of software developers. In SCERP, each release was given a relative weight that reflected the cost of delay regarding the features that would come out in the later releases. Based on the prioritization of the features, stakeholders and releases, as well as on resource availability and consumption, the SCERP method employed an optimization algorithm that produced several alternative optimal or near-optimal release plans. In the final step of the SCERP method, the stakeholders voted on which plan they preferred among the several alternatives created by the optimization algorithm, and the product manager selected the best plan. In Case Agilefant, the product owner of Agilefant selected 37 candidate features. The selected prioritization criteria were the value ("What is the perceived (relative) value of the feature for you?"), the urgency ("How urgently do you need the feature?") and the dissatisfaction ("How dissatisfied you would be if the feature becomes postponed?") of the features. Nineteen stakeholders voted on the priority of the features. All stakeholders and criteria were considered equally important. The implementation effort (in work days) of each feature was estimated by two Agilefant developers. Two releases were planned using the method. Each had a resource constraint of 22 development days. The release planning tool was employed to produce five alternative release plans. In addition, the product owner independently created a manual release plan. Finally, ten stakeholders voted on how well each of the release plans matched their needs using a Web-based tool. 4.2.2 Release Iteration Planning The Release Iteration Planning method described in Case F-Secure was an iterative and incremental release planning method based on collaboration 43 Summary of the results Figure 4.3. An example schedule of a Release Iteration Planning event3 between all stakeholders of the development project. The development project was divided into release iterations which each lasted for two to four months. Each intermediate release iteration was planned to end with the release of a test version of the software. The test versions were expected to be of releasable quality and contain complete features. The goal was to gather feedback from the real users and customers of the software. The final release iteration was planned to end in the release of the complete version of the software. Several improvements were made to the Release Iteration Planning method in Case F-Secure, and what is described here was the latest version of the Release Iteration Planning method. For details on how the method was changed over time, see Publication II and Publication V. The focal points of the method were the Release Iteration Planning events. Each release iteration began with a Release Iteration Planning event where the whole project organization and relevant stakeholders gathered in the same space for two to three days. Before each event, the participants prepared for the event. The product owners and product managers prepared the features that were expected to be implemented in the following release iteration. They decided which features were included, prioritized the features and elaborated the features in such a way the developers could understand them. They also decided on the tentative assignment of features to the development teams. The development teams made sure that they had updated their development progress to the product backlog. Other stakeholders, such as software architects and usability experts, made sure their materials and guidelines were up to date. To illustrate how the events proceeded, Figure 4.3 shows the schedule of the fourth Release Iteration Planning event we observed in Case F-Secure. The events began with several presentations. The presentations provided information on what had been accomplished during the previous release iteration, described the overall goals of the following release iteration 3 Figure adopted from Publication V 44 Summary of the results and gave practical guidance on the schedule of the event and on the planning practices that should be used. If required, technical information could be presented. This included, among others, software architecture guidelines, usability guidance and practical development instructions. The presentations were given at the beginning of the first planning day or the day preceding the first planning day. After the presentations, the developers of each team got together with their product owner to decide what features the team(s) would start to plan. The product managers were also present and available in case the teams needed more information about the features. After the features had been assigned, the teams broke out to their assigned planning areas; hence this part of the events was called the planning breakout. With guidance from their product owner and, if required, from the product managers, other stakeholders and other teams, the teams started to split their features into user stories. The user stories were then estimated and scheduled into the development sprints of the next release iteration. During the planning, two kinds of status check meetings were conducted, alternating hourly. The first kind was a planning progress status check meeting. A representative from each development team, the product owners and the product managers participated in these meetings. Each team representative reported what the team had planned since the previous status check, what they were going to plan next, and if they had any problems and issues that needed to be solved. After the meeting, a suitable set of people stayed together to solve the problems and issues that were raised. The second kind of status check meeting was an architectural status check. The status check was led by the lead architect, and a representative from each development team participated. The focus was on handling software-architecture-related risks, dependencies and problems. At the end of the last planning day, a plan review was conducted. Each team presented to the other participants what it had planned and what issues and risks it had identified. After all teams had presented their plans, the participants together solved the issues and risks bought up by the teams. Finally, the product managers and product owners recorded the created release plans, and the teams transported their release plans to their regular team spaces at their office. 45 Summary of the results Figure 4.4. The Continuous Release Planning method4 4.2.3 Continuous Release Planning The Continuous Release Planning method employed in Case Ericsson was quite different from SCERP and Release Iteration Planning. Instead of aiming to identify a set of features that were to be developed during the next release, the Continuous Release Planning method was a process that continuously supplied the development organization with features. The decisions were based on the availability of development resources and on gradually elaborated feature information. Although the dates of upcoming releases were planned approximately two years ahead of the release date, the contents of each release were based on the features that were ready in time for the release. The Continuous Release Planning method consisted of five feature decisions (called F0-F4 decisions hereafter) and of two artefacts that were created during the release planning process. The first three feature decisions were made during the early phases of feature development when no concrete implementation was done yet. The decisions during the early phases were made by the portfolio steering group, which consisted of all stakeholders of the development organization. The last two decisions were made by the development steering group, which consisted of the chief PO and the product manager. Other stakeholders could also participate in the development steering group meetings when deemed necessary. Both steering groups met once a week, and any number of feature decisions could be made in a single meeting. Figure 4.4 illustrates the Continuous 4 Figure originally published in Publication III 46 Summary of the results Release Planning method. The release planning process began with the F0 decision. The product manager and the early phases program manager had an idea of a feature that could be implemented. The early phases program manager presented the idea to the portfolio steering group, which decided to abandon it, postpone it or advance it. In the latter case, the writing of a one pager was begun. The one pager was created by a technical specialist and gave a description of what the feature would be and why it was needed on a high abstraction level. After a maximum writing time of two weeks, the chief PO presented the one pager to the portfolio steering group. The steering group could again decide to abandon, postpone or advance the feature idea. In the latter case, a virtual team was created out of developers from several development teams and a product owner. They had two weeks to write a feature concept study, which provided the information needed to decide whether the feature should be implemented or abandoned. The chief PO presented the completed feature concept study in a portfolio steering group meeting. The final feature decision made by the steering group was either to abandon the feature, to postpone it or to put it into implementation. In the latter case, the development teams that had participated in the feature concept study began implementing the feature. When the chief PO considered the implementation of the feature to be close to completion, an F3 decision was proposed in a development steering group meeting. An F3 decision required the chief PO to commit the feature to a release of the software. If the decision was positive, the marketing of the feature could begin. After the feature was implemented and tested, the chief PO proposed an F4 decision for that feature. A positive F4 decision meant that the feature was ready to be included in a public release of the software. 4.3 RQ2: What were the team-level planning processes, and how were they affected by the release planning method? This section summarises the results regarding the team-level planning practices in Case F-Secure and Case Ericsson and how the release planning methods employed in the cases affected the team-level planning practices. This topic was not studied in Case Agilefant, and subsequently that case will not be included in this section. 47 Summary of the results 4.3.1 Case F-Secure In Case F-Secure, the development teams used Scrum as their teamlevel development life-cycle model. During the Release Iteration Planning events, they planned the sprints of the following release iteration on the user story level. During the release iteration, the plans of the first sprint made in the Release Iteration Planning event were directly used as the Scrum sprint plan. During the later sprints, the plans were used as guidelines for the Scrum sprint planning. The release plans also showed what dependencies the teams had with each other and when the teams were planning to initiate or finish developing the dependent features, which helped in the dependency management. 4.3.2 Case Ericsson In Case Ericsson, the development teams followed a planning process inspired by Scrum. The teams had biweekly sprint planning meetings. Before each sprint planning meeting, in a sprint review, the teams demonstrated to their product owner what they had accomplished during the previous sprint. In the sprint planning meetings, the teams planned which user stories they were going to implement during the following sprint. The official goal was to get everything included in a sprint completed during the sprint. However, Case Ericsson revealed that there were discrepancies between the Scrum process and the teams’ actual conduct. According to Scrum, new user stories can only be set in progress in a sprint planning meeting. Similarly, the user stories are officially closed or completed only during a sprint review meeting, when they have been successfully demonstrated to the product owner. In Case Ericsson, fewer than a third of the analysed user stories were taken into implementation during the sprint review and planning day. Approximately a third of the user stories were closed during the sprint review and planning day. The main reason for setting new user stories in progress during a development sprint was that there was not always enough work in the existing user stories for all team members, especially when the user stories required specific skills that not all the team members had. User stories were reviewed and closed during the sprints to allow the development of any dependent user stories. In addition, the developers preferred to close user stories as soon as they were ready, since the responsibility for fixing any issues related to a user story was lifted from the team when the user story 48 Summary of the results was closed. The goal in Scrum is to get all user stories taken into a sprint completed during that sprint. Since user stories are taken in progress and closed only once a sprint, the lead time, or the time in the development process, should then be approximately equal to the sprint length. In Case Ericsson, the user story development lead time was approximately two times the sprint length of two weeks. This was explained by two causes. First, many user stories could not be closed when the team was done with them due to the external dependencies of the user stories. Second, splitting user stories into small enough parts to be developed in a single two-week sprint was considered difficult due to the goal to create end-to-end functionality visible to the user or customer in every user story and due to the complexity of the system. In Case Ericsson, the developers did not participate in the portfolio or development steering group meetings where feature decisions were made. However, one or several representative(s) from each development team assigned to a feature had participated in the writing of the feature concept study. This gave them insight into the big picture and the reasoning behind the feature. The continuous release planning process also affected their team-level planning process. Although the planning process employed by the teams was inspired by Scrum, we found that several planning practices employed by the development teams had characteristics of a more continuous development process. The Continuous Release Planning method supplied the development organization new features on a weekly basis. Since several teams usually developed each feature, the feature that a development team was implementing could be switched if the feature was near to completion or the team had specific skills required for the implementation of another feature. Since several teams were usually assigned to develop the same feature, the dependencies between the teams often prevented the completion of user stories. However, these discrepancies between the teams’ planning practices and Scrum were considered nearly harmless or improvements on Scrum. The changes were seen to improve the utilization of development resources and to increase the flexibility of the development organization. 49 Summary of the results Table 4.1. The challenges and the cases in which they were identified Case Challenge Agilefant F-Secure Effort spent on release planning X X Selection of the candidate features X X Identifying feature prioritization criteria X X Ericsson Preparation and definition of features X Balancing between specialized and generalist teams X Immature adoption of the agile mindset X X Planning the product architecture X X 4.4 X RQ3: What kinds of challenges were associated with the release planning methods? The challenges identified in the cases disseminated in this dissertation are summarized in Table 4.1. The challenges are described in the sections below. 4.4.1 Effort spent on release planning The SCERP release planning method and the Release Iteration Planning method were considered quite time-consuming. In Case Agilefant, the product owner spent two days completing the SCERP method. This included the identification and invitation of the stakeholders, pre-selection of the candidate features, elaboration of the candidate features, selection of the prioritization criteria and other related tasks. However, this did not include the initial conception and prioritization of the features. In Case FSecure, the whole project organization and several additional stakeholders spent two to three days in the Release Iteration Planning events, and the preparatory effort required from the product owners and product mangers was considerable. However, much of the discussion and planning would have been required regardless of the release planning method used, and the Release Iteration Planning method simply made the effort explicit. 4.4.2 Selection of the candidate features The selection of the candidate features included in the release planning was a challenge in Case Agilefant and Case F-Secure. In the Case Agilefant survey, the stakeholders indicated that the list of candidate features did not contain the most important features for them, and they would have liked to add features to the list. In Case F-Secure, the product managers 50 Summary of the results initially brought all features envisioned for the software to the first Release Iteration Planning event. The number of features was many times more than what could be implemented in the following release iteration. Furthermore, the features were not pre-assigned for the first event, and the assignment of features to teams took considerable time. Since there was no centralized information on which team was implementing which feature, the participants could not easily see which features were actually taken into planning. This challenge was resolved in the later events by the tentative pre-assignment of the features to the development teams. 4.4.3 Identifying feature prioritization criteria The feature prioritization criteria were identified as a challenge in Case Agilefant and Case F-Secure. In Case Agilefant, the stakeholders tended to give very similar priorities to the candidate features based on all three prioritization criteria (the value, urgency and dissatisfaction). The stakeholders also commented in the survey results that they had difficulties differentiating between the prioritization criteria. In Case F-Secure, the product managers initially considered all features must-haves and were unwilling to prioritize them. Instead, they considered the most efficient technical implementation order to be the right criteria for feature prioritization. In the later events, the product managers had produced a prioritized list of features but still considered most of the features musthaves. This issue was solved before the last release planning event, when the responsibility for prioritizing and elaborating the features was given to the product owners. 4.4.4 Preparation and definition of features In Case F-Secure, the product managers initially produced feature descriptions that varied wildly in detail level and in form. The features were not synchronized and the descriptions were too abstract to be useful for the developers and product owners. These issues slowed down planning in the first release planning event considerably: The teams needed the product managers to explain the features, and subsequently the product managers became information bottlenecks. This challenge alleviated somewhat over time as the product managers begun to understand the development teams’ needs better. Furthermore, the preparation of features performed by the product managers and the product owners in collaboration seemed 51 Summary of the results to further improve the situation. In Case Agilefant, the survey responses indicated that the stakeholders thought they understood the features quite well based on the given descriptions, and that the only challenge related to preparation and definition of features was the effort required of the product owner. 4.4.5 Balancing between specialized and generalist teams In Case F-Secure and Case Ericsson, building generalist end-to-end teams was a challenge. Although the goal in both cases was to build at least some generalist teams that could implement features end-to-end, both organizations struggled to find the right balance between specialization and generalist teams. In the first case project of Case F-Secure, the teams were initially specialized either in the back-end or front-end of the software, because the parts had been previously developed in separate organizations. Although the goal was to create end-to-end features, no single team was competent enough to create them alone. The separation between the front-end and back-end, however, created much communications overhead between the teams and made it difficult to ensure that all parts of a feature were implemented. Two end-to-end teams were created before the last studied Release Iteration Planning event, but these teams did not perform well. They split internally into front-end and back-end subteams and struggled to plan the features in end-to-end fashion. The end-to-end teams were later on disbanded. In Case Ericsson, the initial goal was to create cross-functional generalist teams that would be able to implement features end-to-end. The development organization, however, quickly realized that many parts of the system were complex and difficult and required experience and specific skills to develop. Assigning inexperienced developers to those parts of the system had created large learning overhead and long development lead times. Subsequently, they began to assign teams to work on features on which they had at least some experience. 4.4.6 Immature adoption of the agile mind-set In Case F-Secure and Case Ericsson, the studied development organizations were in the middle of development process change. In Case F-Secure, the development organization of the first studied project had little experience of development in a large-scale Scrum organization. At first, the 52 Summary of the results product managers and the developers had understood little about the principles of agile software development. Consequently, the product managers and developers expected that the plans created in the Release Iteration Planning events should be followed rigorously; they did not adapt the plans to new information they discovered during the release iteration. When they could not hold on to the plans, rather than trying to adapt to the new information, they considered the failing plans to be a problem with the plans and the release planning method. Another issue caused by the lack of agile mind-set was the lack of communication between the teams in the first few Release Iteration Planning events. By the virtue of the previous, plan-driven development model, many developers expected that someone else would manage the coordination between the teams. The Release Iteration Planning method, however, expects the developers to coordinate between teams and manage dependencies themselves. These issues alleviated over time as the product managers and the developers gained more experience with the agile development model. In Case Ericsson, the product management was still working with a plan-driven mind-set. They requested rigorous long-term plans that the adoption of the Continuous Release Planning method had rendered unavailable. In addition, they pressured the product owner team to make premature promises on feature completion, which overburdened the development organization. The case organization tried to mitigate this issue by adding more slack to their estimates and by splitting features into smaller parts that could be delivered earlier. 4.4.7 Planning the product architecture In Case F-Secure and Case Ericsson, the practices and responsibilities for planning the software architecture were a challenge. In Case F-Secure, the software architects provided the teams with high-level architectural plans, but the teams found these plans too abstract to be of much use. The teams were expected to plan the lower-level architecture themselves, but they lacked the skills and experience to do so. This was an issue especially at the beginning of the first case project. In Case Ericsson, the responsibility for planning and improving of the software architecture became unclear when the development organization adopted the Continuous Release Planning method. In the previous, plan-driven development model, technical specialists had been responsible for planning the architecture. After the transformation, the role of the 53 Summary of the results Table 4.2. The benefits and the cases where they were identified in Case Benefit Agilefant F-Secure Ericsson Mediation of multiple opinions and perspectives X X X Efficiency of the planning method X X X Creation of high-quality plans X Increased motivation X X X technical specialists was de-emphasized, and the development teams were expected to take over the role. However, the teams concentrated on developing the features they had been assigned and had little time for system planning and improvement. 4.5 RQ4: What kinds of benefits have the release planning methods realized? The benefits identified in the cases described in the thesis are summarized in Table 4.2. 4.5.1 Mediation of multiple opinions and perspectives The arbitration and mediation of the different opinions and perspectives of the stakeholders regarding the priorities of features was a benefit created by the release planning methods presented in this thesis. In Case Agilefant, we found that the priorities the stakeholders assigned to the different features varied considerably. SCERP condensed the different opinions into a single number that could be employed to generate a set of (near-)optimal release plans. Furthermore, the stakeholders were allowed to express their priorities the second time when they voted between the alternative release plans. This revealed that two of the plans generated by SCERP were regarded as considerably more acceptable than the three other generated plans or the manual plan. In Case F-Secure, all stakeholders took part in the Release Iteration Planning events. This allowed immediate and collaborative decision making regarding the scheduling and priorities of the features. Whenever an issue regarding the features was identified, a group of stakeholders with the knowledge and power to solve the issue could quickly be gathered to solve it. In Case Ericsson, the feature decisions were made by the portfolio steer- 54 Summary of the results ing group, which consisted of stakeholders with many different perspectives. The development teams could express their perspectives in the planning process when they helped to create the feature concept studies. The method combined the business knowledge of the portfolio steering group members with the technical knowledge of the technical specialists and developers. 4.5.2 Efficiency of the planning method The results from Case Agilefant indicate that each stakeholder spent only 14 minutes on average to prioritize the features and vote on the release plan alternatives. This suggests that the method is an efficient way to plan for the stakeholders. Although the results in Case F-Secure regarding the overall efficiency of the Release Iteration Planning method were contradictory, the face-to-face communication in the Release Iteration Planning events enabled the fast decision making and the fast recognition and mitigation of impediments and risks. This was identified as clear improvement over the previous, plan-driven development model where making similar decisions could take up to several weeks of calendar time. In Case Ericsson, the multiple feature planning iterations during the early phases allowed the identification and removal of infeasible or tooexpensive features. Since the feature plans were incrementally elaborated, the cost sunk during the early phases was relatively small. This was a major benefit of the Continuous Release Planning method compared with the previous, plan-driven model, in which intricate feature plans were made before a feature even began to be developed. 4.5.3 Creation of high-quality plans Case Agilefant illustrates that the plans generated by SCERP were considerably more optimal than the manual plan. The formal optimality of the generated plans was between 100% and 96.8% while the manual plan was only 93.4% optimal. In Case F-Secure, the plan resulting from the Release Iteration Planning method was not as important as the planning process that led to it. The plans were actually expected to change during the following development iteration, although the product managers and developers at first had difficulties understanding that this was the intention. Thus, in the Release Iteration Planning method, the formal quality of the created plan was not 55 Summary of the results considered relevant. In Case Ericsson, the feature plans were incrementally elaborated during the early phases of the Continuous Release Planning method. In the previous, plan-driven model, the feature plans were very detailed and intricate and considered being of high quality. Although the Continuous Release Planning method required less feature planning effort, we did not find that the quality of the plans had decreased from that of the previous model. 4.5.4 Increased motivation In Case F-Secure and Case Ericsson, the collaborative nature of the release planning methods increased the developers’ motivation. In Case F-Secure, the introductory presentations gave the developers information on the high-level goals of the project and showed the importance of the project to the company. All participants could meet face to face, which helped to create a project spirit. In Case Ericsson, the developers took part in the early phases of the feature development, which allowed them to see the motivation behind the features and the big picture of the system. In Case Agilefant, the effect of the method on the motivation of the developers or the product owner was not studied. 56 5. Discussion In this chapter, answers to the research questions are discussed and the findings are discussed in comparison with the previous research. Then, threats to the validity and reliability of the results are discussed. 5.1 Answers to research questions In this section, answers to the four research questions presented in the introduction are discussed. The discussion is organized following the order in which research questions were given. 5.1.1 How were the releases planned in the cases studied? Even though all studied cases employed a software development method at least inspired by Scrum, the way releases were planned differed widely in the three studied cases. Table 5.1 illustrates the main characteristics of each release planning method. SCERP requires that the release planning problem is modelled by identiTable 5.1. The characteristics of the release planning methods Method Main Decision maker(s) characteristic(s) SCERP model-based, Information providers product manager algorithmic selected stakeholders Release Iteration iterative & developers, product relevant Planning incremental owners, product stakeholders managers Continuous Release Planning continuous portfolio & technical development specialists, product steering groups owners, developers 57 Discussion fying the prioritization criteria, resources, and resource constraints before the release planning is conducted. A selected set of stakeholders vote on the priorities of the candidate features and the optimization algorithm at the core of the method creates several alternative plans based on the votes and the release model. The stakeholders vote on their preferred release plan, but the final decision is made by the product manager or the product owner. The Release Iteration Planning method is iterative and incremental and based on Release Iteration Planning events. Product owners and product managers make the initial feature prioritization decisions, but the prioritization can be changed according to the information uncovered during the events. The development teams make the user story-level prioritization and scheduling decisions. All relevant stakeholders take part in the release planning events and provide information and guidance for the developers, product owners, and product managers. The portfolio and development steering groups, who were responsible for release planning decision making in Case Ericsson, met once a week. In contrast to the two to three months between the Release Iteration Planning events in Case F-Secure, the Continuous Release Planning method was indeed a continuous process. In addition, the technical specialists, product owners, and developers who created the one pagers and feature concept studies worked continuously to create the information needed in the portfolio steering group meetings to make release planning decisions during the early phases of the feature development. Although the Release Iteration Planning and Continuous Release Planning methods are quite different in practice, both employ the knowledge of the whole development organization and relevant stakeholders in the creation of the release plans. In SCERP, the way in which the stakeholders affect the release plans is the prioritization of the candidate features and voting on the plans. Although the development organization and stakeholders contribute to the prioritization process in all three release planning methods, the final say regarding the prioritization is in the hands of the product owners and product managers. A multitude of methods similar to SCERP have been proposed in the model-based release planning research (Svahnberg et al., 2010). The main difference to these methods, and the main contribution of SCERP, was the aim of combining model-based release planning with Scrum. Li et al. (2006) have proposed a similar, risk-driven method for extreme programming 58 Discussion release planning. They have also conducted a small-scale experiment, and found that their method allows the decision makers to create better, risk-driven release plans. Case Agilefant supports their conclusion that a model-based release planning method can be successfully applied to small-scale agile development. Research literature describing release planning methods similar to the Release Iteration Planning or the Continuous Release Planning method could not be identified. Thus, comparisons can be made only with practitioner literature. The joint release planning method proposed by Leffingwell (2011) is partially based on Case F-Secure and, consequently, is very similar to the Release Iteration Planning method. The organization of development proposed by Larman and Vodde (2010) is similar to the organization in Case Ericsson, and they suggest that release contents should be based on what is ready in time for the release, which was also true in Case Ericsson. Nevertheless, the methods for identifying, elaborating, prioritizing, resourcing, and scheduling features suggested by Larman and Vodde (2010) are notably different to Case Ericsson. 5.1.2 What were the team-level planning processes, and how were they affected by the release planning method? In all three studied cases, the team-level planning process was inspired by Scrum. The main Scrum planning meetings were conducted in the cases. In Case Ericsson, the practices associated with Scrum were not followed to the letter. The most prominent difference to the Scrum-by-thebook (Schwaber and Beedle, 2002; Schwaber and Sutherland, 2013) was the addition and closing of user stories during the development sprints. According to a survey by VersionOne, Inc. (2013), although Scrum is the most-used agile method, practitioners rarely use all the Scrum practices together. This suggests that what practitioners understand as Scrum is quite different from what Scrum textbooks describe. Although only two cases were studied in depth1 , an interesting hypothesis can be created about the effects the release planning methods had on the team-level planning practices. In Case F-Secure, the Release Iteration Planning method was iterative and incremental. The development teams in Case F-Secure followed Scrum planning practices in team-level planning. In Case Ericsson, the Continuous Release Planning method was continuous in nature, and the planning practices of the development 1 Case Agilefant was an illustrative, small-scale case study. 59 Discussion teams had characteristics of a continuous process instead of the strict sprint cycle of Scrum. Consequently, it seems that the nature of the release planning method influences the team-level planning practices even when the methods and practices are not officially synchronized between the two levels of planning. 5.1.3 What kinds of challenges were associated with the release planning methods? Two kinds of challenges associated with the methods can be identified. The first kind is the challenges related to the release planning methods. The effort spent on release planning, selection of candidate features, identifying feature prioritization criteria, and preparation and definition of features are challenges of the first kind. In Case F-Secure, these challenges alleviated over time as the case organization gained more experience in applying the Release Iteration Planning method and prepared for the events better than earlier. In Case Agilefant, these challenges were dependent on the exact prioritization criteria and backlog management practices employed in the case project. With a different set of criteria and with more systematic backlog management practices, these challenges might have been avoided. Challenges of the second kind are related to adopting and applying agile methods, especially on the large scale. The balancing between specialized and generalist teams, the immature adoption of the agile mind-set and the planning of the product architecture are all challenges of this kind. The results from Case Agilefant support this finding; The case organization consisted of a product owner and two developers, and it did not face these challenges. Freudenberg and Sharp (2010) identified agile on the large scale as one of the most important research questions in the software engineering domain. Changes made to the release planning methods themselves are unlikely to completely remove these challenges, and finding solutions requires further research on agile methods on the large scale. 5.1.4 What kinds of benefits have the release planning methods realized? Especially in complex, large-scale software development projects, a single decision maker cannot be expected to have all the information required to make optimal or even good release planning decisions (Lehtola et al., 2004; Ruhe and Saliu, 2005). When decision makers have a business-oriented perspective, they may underrate system improvement and innovation 60 Discussion related work in comparison to features that are visible to the customers (Barney et al., 2008; Fogelström et al., 2009; Lindgren et al., 2008). On the other hand, developers may have a limited understanding about the needs of the customers and about the long-term business goals of their organization (Lehtola et al., 2004). All three release planning methods presented in this thesis allowed the mediation of multiple opinions and perspectives. Although some have claimed that the planning done by the business organization should be strictly separated from the planning done by the development organization (Ferrari, 2008; Kittlaus and Clough, 2009), the results of this dissertation suggest that collaborative release planning is both possible and beneficial in agile software development organizations regardless of the size of the organization. This may be the most important finding in this dissertation. The release planning methods described in this thesis were all considered highly effective in different ways. The SCERP release planning method demanded little time from the participating stakeholders except from the product owner. The Release Iteration Planning method made the effort spent on planning visible and enabled efficient face-to-face communication among the stakeholders. The Continuous Release Planning method allowed the identification and elimination of infeasible or too-expensive features with minimal costs sunk to the feature elaboration. Our results suggest that a release planning method must be efficient to gain acceptance in the organization. Agile software development methods emphasize that the action of collaborative planning and the ability to react to changes are more important than the creation of precise and detailed plans (Beck et al., 2001; Leffingwell, 2011). This philosophy was embraced in the Release Iteration Planning method, although at first the case organization had difficulties understanding it. The approach taken in the Continuous Release Planning method was somewhat different. Rather than investing effort on detailed plans, the method was based on the stepwise elaboration of individual feature information. Eventually, the feature information was expected to be sufficient to produce releases that satisfied the needs of the customers. In SCERP, the success of the planning was measured by the formal optimality of the plans created. The central finding regarding the level of detail and precision of the plans was that the pursued level should be considered explicitly in order to avoid excess spending in creating the plans. 61 Discussion All three release planning methods provided a way to take into account the needs of the customers and users. In SCERP, the stakeholders of the software project directly affected the prioritization by voting on the priorities of the candidate features. The test version releases created in the Release Iteration Planning method were explicitly created in order to gather feedback from test users. This feedback could be used both by the software developers to improve the existing features and by the management to reconsider the priorities of the upcoming requirements. In the Continuous Release Planning method, all releases were considered full releases of the software. The rapid release cycle allowed the management to quickly react to the needs of the customers and to the changes in the market. Existing research on motivating software developers (Beecham et al., 2008) suggests that their main motivational factors are (1) autonomy, (2) mastery, and (3) purpose. The developers should be able to make decisions concerning their own work, they should be given opportunities to improve their skills and learn new things, and they should have knowledge of the purpose of their work. Both the Release Iteration Planning method and the Continuous Release Planning method had the aspects of the three motivational factors. In the Release Iteration Planning method, (1) the developers had the central role in the planning of their team’s work during the release planning events and during the sprints; (2) the developers were responsible for implementing the end-to-end features, which gave them opportunities to study and learn new things; (3) the Release Iteration Planning events gave the developers visibility to the planned future of the product. In the Continuous Release Planning method, the developers took part in the early phases of the feature development, which (1) gave them authority to perform team-level planning as they saw fit; (2) encouraged them to develop features beyond their immediate area of expertise; (3) allowed them to see the upcoming features. Based on these cases, taking motivation factors into account when a release planning method is adopted is clearly an important success factor. 5.2 Threats to validity and limitations This section describes the threats to the validity and reliability of this research and the limitations of this research. In the discussion on the 62 Discussion validity and reliability of our results and analysis, this section relies on the definitions proposed by Yin (2009) and by Shadish et al. (2001). The discussion on validity and reliability is based on the tradition of pragmatist epistemology in software engineering research (Petersen and Gencel, 2013; Runeson and Höst, 2009; Sjøberg et al., 2007; Wohlin et al., 2003). Other frameworks have been proposed to better suit the evaluation of the quality or trustworthiness of purely qualitative research (Petersen and Gencel, 2013; Seale, 1999). The pragmatist approach to quality is appropriate for this dissertation for two reasons. First, the research presented in this dissertation employs mixed methods instead of purely qualitative or quantitative methods. Second, the goal is to disseminate release planning methods, not to describe the feelings and experiences of individuals. The validity of the research is discussed on the basis of five different aspects: the internal validity, the construct validity, the external validity, the statistical-conclusion validity and the reliability (Shadish et al., 2001; Yin, 2009). Statistical conclusion validity is relevant only in relation to Case Ericsson, as the two other cases did not include statistical analysis beyond simple descriptive statistics. Finally, the limitations of the case study research method in comparison to other research methods are discussed. 5.2.1 Construct validity Construct validity is concerned with how well the constructs (concepts, themes, categories, hypotheses and so on) created during the analysis process reflect the reality (Shadish et al., 2001; Yin, 2009). The main way to improve the construct validity of a case study is to triangulate data sources, investigators, theories, and methods (Jick, 1979; Patton, 2002; Yin, 2009). Of these, data sources, investigators and methods were triangulated in Case F-Secure and Case Ericsson. Triangulation of theories was not used, because the research was exploratory and descriptive, not theory-based and deductive. The first threat to construct validity is the inadequate identification of constructs. The constructs identified in this research may not fairly represent the reality due to errors in the coding process or because of researchers’ bias in the analysis. The first threat was somewhat mitigated by the constant comparison (Adolph et al., 2011) technique that was employed in the data analysis, as the inaccurate constructs should have been eventually corrected or eliminated in the analysis process. Another way the first threat can be mitigated is investigator triangulation. In Case 63 Discussion F-Secure and Case Ericsson, at least two researchers analysed the same data at least partially; in addition, in both cases, at least one experienced and authoritative member of the case organization reviewed the results. The second threat is that subjects under study may have reacted to the presence of the researcher and provided data that gave an overly positive, or otherwise biased, image of the case organization or themselves. Thus, the results may not fairly represent their normal conduct and the reality in the case organization. The second threat was mitigated in Case F-Secure by the longitudinal nature of the study. Over time, the members of the case organization got used to the presence of the researchers. In addition, data source and method triangulation were employed in Case F-Secure by collecting data from many different sources and by using multiple data collection methods: observations, interviews, and surveys. The results of the observations and interviews were triangulated with the results from the surveys. The quantitative surveys allowed us to compare the opinions of a larger sample of participants to the results from the qualitative data. The free text answers to the surveys were analysed alongside the other qualitative data. Overall, the results from the surveys supported the findings from the observations and interviews. In Case Ericsson, the triangulation of data sources was employed by interviewing wide variety of subjects from different parts of the organization and with different roles. Triangulation of methods was employed in the analysis of the team-level practices in Case Ericsson by analysing both quantitative requirement data and qualitative interview data. In Case Agilefant, the main threat to construct validity is the participating stakeholders’ understanding of the features. Although the stakeholders may have misunderstood the features, the conclusions of the research on the efficiency of the release planning method hold. Furthermore, the results of the survey indicate that the stakeholders did understand the candidate features they were presented. 5.2.2 Internal validity The Internal validity of a descriptive case study is concerned with the validity of the causal inferences identified in the analysis (Shadish et al., 2001; Yin, 2009). The identified causal relation may be temporally ambiguous, that is, it may be uncertain what is the cause and what is the effect. Events that happen concurrently or changes occurring naturally over time may create an illusion of a cause-effect relation. 64 Discussion In Case F-Secure, several cause-effect relations were identified between the changes made to the release planning method and the effects of those changes. In Case Ericsson, the analysis of cause-effect relations was limited to the cause-effect relations identified by the interviewees. In both cases, it is possible that the results were caused by the aforementioned threats to internal validity instead of the cause-effect relations identified in the research. Only the study of additional, similar cases can reveal how internally valid the causal inferences presented in this dissertation really are. 5.2.3 External validity The external validity of a case study is concerned with the domain the results can be generalized to (Shadish et al., 2001; Yin, 2009). Threats to external validity arise from the aspects of the cases that were not identified or disseminated, but that affected the results. In single-case-study research, the generalizability of the result to other domains can be considered only on a theoretical level (Yin, 2009). The main way to increase external validity in single-case-study research is to study and disseminate the case in enough detail to allow comparisons with other organisations. This will allow other studies on similar subjects to make comparisons with the presented case and, eventually, also enables the retrospective analysis of the generalizability of the results presented in this dissertation. The results of the statistical analyses that are described in Publication IV are not generalizable beyond the case presented in the publication. Although the hypotheses that are put forward in the publication are tested statistically, what is discussed above regarding the generalisability of single case studies also holds regarding the results of the statistical analyses in Publication IV. 5.2.4 Statistical-conclusion validity Statistical-conclusion validity is concerned with the correct use of statistical analysis (Shadish et al., 2001). For example, are the variables truly measured on the appropriate level? Is the distribution of the data appropriate considering the statistical analysis employed? The quantitative survey data employed in this research were analysed using descriptive statistics that required data measured on the ordinal level, that is, using quartiles, distributions and frequencies. These statistics are widely ac- 65 Discussion cepted as proper for ordinal data (Coolican, 1999). Consequently, there are no major threats to the statistical-conclusion validity regarding the survey results. In Case Ericsson, several statistical analyses were used to analyse the quantitative backlog data beyond simple descriptive statistics. It is possible that these statistical analyses were used inappropriately. However, these statistical analyses were employed to affirm results from the descriptive analysis, and the results were also affirmed by the qualitative data. It is unlikely that the major conclusions drawn from the case were invalid because of issues in the statistical-conclusion validity. 5.2.5 Reliability Reliability of research is concerned with the repeatability of research; if other researcher or researchers had conducted the same study, would they have reached the same results (Yin, 2009)? Case study research is very much based on the cognitive skills of the researcher(s). We may expect that multiple researchers with equal cognitive skills and, perhaps more importantly, with equal pre-existing knowledge of the topic would produce the same results if they followed the same research protocol. The main threat to the reliability of Case F-Secure and Case Ericsson is the variability in the data collection. Different researchers might have observed different things and, because of the semistructured nature of the interviews, asked different interview questions. In both cases, many different data sources, a wide variety of interview questions, and several interviews were used, making the results more reliable. In Case Agilefant, the researchers did not have an active role in the data collection, which makes the results robust against threats to reliability. The algorithms the SCERP method uses to produce release plans are deterministic; the same inputs to the algorithms always produce the same results, making this part of the method highly reliable. 5.2.6 Limitations The case study research method (Yin, 2009) is the most appropriate when a "how" or "why" question is being asked. There are several important aspects to release planning in agile software development organizations that could have been answered by employing other research methods, but were left unanswered by this thesis. The first limitation is put forward in Publication V: "Only true experiments could reveal if there is any significant 66 Discussion difference between the effort spent on those [release planning] activities in plan-driven and agile projects". Based on the research presented in this thesis, it is not possible to say how quantitatively efficient the presented methods are in comparison to traditional, plan-driven approaches, or in comparison to each other. Inferring such information would require quantitative experimentation (Sjøberg et al., 2007). There are many similar quantitative aspects to agile release planning. For example, what is the most efficient level of detail for release plans or requirements brought to a release planning event? Such questions, although important, can not be answered statistically by the case study method and were not studied in this dissertation. The second limitation is that this dissertation does not present information regarding the use of different release planning methods or about release planning in general in the software industry. Such data can be collected by conducting industry surveys (Sjøberg et al., 2007). However, at the time the research was conducted, the terminology related to release planning was not established in the industry or in the SE research community. The validity of such surveys would have been questionable due to the measurement bias created by the diverse understanding of the key terminology (Lavrakas, 2008). The main goal of this research was the description of the release planning methods, not their improvement. However, this dissertation presents observations on improvements made to the methods. The third limitation is the limited validity of the observed cause-effect relationships between the improvements and their effects. The action research method is aimed for studying improvements (Sjøberg et al., 2007). The canonical action research method is based on substantive theory or hypothesis that permeates all steps of the action research cycle (Davison et al., 2012). When the research was conducted, no such theory or even a hypothesis existed for agile release planning, and consequently the canonical action research method was not an option. Based on the results presented in this dissertation, further hypotheses regarding improvements to agile release planning can be formed and the action research method is one valid option for testing the hypotheses. 67 Discussion 68 6. Conclusions In this final section of the dissertation summary, the implications of the results of this research to practice and to theory are provided. Finally, directions for future work are suggested. 6.1 Implications to practice This dissertation presents three release planning methods which were employed in different organizational contexts. Although the goals of this dissertation did not include the presentation of normative release planning guidance, practitioners in similar organizations can use the results if they are looking for a method for release planning. Especially the challenges faced by the case organizations and the solutions identified can be useful for practitioners facing similar challenges. The results of this dissertation support the previous findings that release planning should not be considered a process that is completed before the development project begins. Mangers should not plan releases in isolation from the developers. Release planning should not be considered only an optimization problem that needs to be solved before the development begins. Instead, whatever is the specific method chosen, release planning should be considered a collaborative decision making process that is informed by all stakeholders relevant to the planned software. Another finding that may have important implications to practice is the connection between the nature of the release planning process and the team-level planning practices. The results of this dissertation suggest that the team-level planning practices take on the characteristics of the release planning method: A continuous release planning method induces continuous team-level practices, and an iterative and incremental method induces iterative and incremental team-level practices. Consequently, the team- 69 Conclusions level practices adopted in a software development organization may benefit from having a similar nature to the employed release planning method, and vice versa. Since the number of cases was small, this implication must be considered very hypothetical. 6.2 Implications to theory The case studies presented in this dissertation were revelatory case studies. Besides the literature written by consultants and practitioners, this dissertation is the first detailed descriptive study of release planning in large-scale agile software development organizations. The two methods employed in the large-scale Scrum organizations were both successful, and the results show that collaborative release planning is possible in such a context. The great majority of software release planning research has concentrated on model-driven, algorithmic optimization methods (Svahnberg et al., 2010). The results presented in this dissertation support the previous findings that the assumptions made in the algorithmic methods often do not match reality in software engineering organizations (Benestad and Hannay, 2011; Boehm, 2000; Cao and Ramesh, 2008; Carlshamre, 2002; Jantunen et al., 2011). Further release planning research, whether model-based or not, should take into account the following findings of this research when proposing new methods or processes: Release planning should be seen as a collaborative effort that utilizes the knowledge of the whole organization. Although decision makers, such as product managers or product owners, have the last word on the release planning decisions, they cannot be expected to comprehensively explicate the prioritization criteria they employ in making the decisions. Comprehensive and correct information about a requirement is rarely available at the beginning of the development of the requirement. Release planning methods should be capable of reacting to newly uncovered information about the priorities or content of the requirements or the needs of the customers or users. The release planning methods presented in this dissertation are based on relatively frequent releases, which is one way to react to new information and to changing market needs. Dependencies between features are often complex and difficult to identify before implementation. Consequently, release planning methods should not expect that all dependencies are known beforehand. 70 Conclusions 6.3 Future work The most obvious direction for future work is the continued study of release planning methods employed in large-scale agile development organizations to find out how generalizable the findings presented in this thesis are. The two large development organizations described in this thesis both were somewhat immature in their adoption of Scrum. Studies of release planning in mature Scrum organizations may reveal more about which of the challenges identified in this thesis stem from immature Scrum adoption and which are related to the release planning methods. Many development organizations have begun to adopt aspects of lean software development methods (Poppendieck and Poppendieck, 2003), such as the Kanban workflow management process (Rautiainen, 2011). It would be interesting to see what kinds of release planning methods are employed in development organizations that have embraced the lean thinking and ideology. Release planning decision support research has concentrated on normative, model-based release planning. It has proposed models on how release planning should be performed and what kinds of criteria and constraints should be considered. In the real world, however, the criteria and constraints are difficult to identify, explicate, and employ deterministically. Based on the results of this thesis, research on tools for release planning should concentrate on supporting dependency management, architectural planning, and communication instead of feature prioritization and plan optimization. Finally, this dissertation has put forward the following preliminary hypothesis about the relation between the nature of a release planning process and the nature of a team-level planning processes: The team-level planning practices are influenced by the nature of the release planning process, be it continuous, iterative and incremental, or something else, and eventually they begin to take on the aspects of the release planning process. This relationship may also hold in the opposite direction. Further studies on this subject could produce interesting and high-impact results on how the development and release planning should be organized. 71 Conclusions 72 Bibliography Steve Adolph, Wendy Hall, and Philippe Kruchten. Using grounded theory to study the experience of software development. Empirical Software Engineering, 16(4):487–513, 2011. Ahmed Al-Emran and Dietmar Pfahl. Operational planning, re-planning and risk analysis for software releases. In Jürgen Münch and Pekka Abrahamsson, editors, Proceedings of the 8th International Conference on Product-Focused Software Process Improvement (PROFES 2007), volume 4589 of Lecture Notes in Computer Science, pages 315–329. Springer Berlin Heidelberg, July 2007. Sebastian Barney, Aybüke Aurum, and Claes Wohlin. A product management challenge: Creating software product value through requirements selection. Journal of Systems Architecture, 54(6):576–593, 2008. Michael E. Bays. Software Release Methodology. Prentice-Hall, Upper Saddle River, NJ, USA, 1999. Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cocburn, Ward Cunningham, Martin Fowler, James Grenning, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Maric, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas. Manifesto for agile software development, 2001. URL http://agilemanifesto.org/. Retrieved Apr. 4th, 2014. Sarah Beecham, Nathan Baddoo, Tracy Hall, Hugh Robinson, and Helen Sharp. Motivation in software engineering: A systematic literature review. Information and Software Technology, 50(9–10), 2008. Hans Christian Benestad and Jo E. Hannay. A comparison of model-based and judgment-based release planning in incremental software projects. In Proceeding of the 33rd International Conference on Software Engineering (ICSE 2011), pages 766–775, New York, NY, USA, 2011. ACM. Barry W. Boehm. Requirements that handle IKIWISI, COTS, and rapid change. Computer, 33(7):99–102, 2000. Lan Cao and Balasubramaniam Ramesh. Agile requirements engineering practices: An empirical study. Software, 25(1):60–67, 2008. Pär Carlshamre. Release planning in market-driven software product development: Provoking an understanding. Requirements Engineering, 7(3):139–151, 2002. 73 Bibliography Pär Carlshamre, Kristian Sandahl, Mikael Lindvall, Bjön Regnell, and Johan Natt och Dag. An industrial survey of requirements interdependencies in software product release planning. In Frances M. Titsworth, editor, Proceedings of the IEEE International Conference on Requirements Engineering (RE ’01), pages 84–91, Piscataway, NJ, USA, 2001. IEEE Computer Society. Tsun Chow and Dac-Buu Cao. A survey study of critical success factors in agile software projects. Journal of Systems and Software,, 81(6):961–971, 2008. Mike Cohn. User stories applied : for agile software development. Addison-Wesley, Boston, MA, USA, 2004. Mike Cohn. Agile estimating and planning. Prentice Hall Professional Technical Reference, Upper Saddle River, NJ, USA, 2005. Dan Condon. Software product management : managing software development from idea to product to marketing to sales. Aspatore, Boston, MA, USA, 2002. Hugh Coolican. Research methods and statistics in psychology. Hodder & Stoughton, London, UK, 3rd edition, 1999. Robert M. Davison, Maris G. Martinsons, and Ned Kock. Principles of canonical action research. Information Systems Journal, 14(1):65–86, 2004. Robert M. Davison, Maris G. Martinsons, and Carol X. J. Ou. The roles of theory in canonical action research. MIS Quarterly, 36(3):763–796, 2012. Torgeir Dingsøyr, Sridhar Nerur, VenuGobal Balijepally, and Nils Brede Moe. A decade of agile methodologies: Towards explaining agile software development. Journal of Systems and Software, 85(6):1213–1221, 2012. Christof Ebert. Software product management. Crosstalk, The Journal of Defence Software Development, pages 15–19, January 2009. Ernani Ferrari. Product Management for Software. Mondo Strategies Press, 2008. Nina Dzamashvili Fogelström, Mikael Svahnberg, and Tony Gorschek. Investigating impact of business risk on requirements selection decisions. In Proceedings of the 35th Euromicro Conference on Software Engineering and Advanced Applications (SEAA ’09), pages 217–223, Piscataway, NJ, USA, 2009. IEEE Computer Society. Nina Dzamashvili Fogelström, Tony Gorschek, Mikael Svahnberg, and Peo Olsson. The impact of agile principles on market-driven software product development. Journal of Software Maintenance and Evolution: Research and Practice, 22(1): 53–80, 2010. Sallyann Freudenberg and Helen Sharp. The top 10 burning research questions from practitioners. IEEE Software, 27(5):8–9, 2010. Barney G. Glaser. Remodeling grounded theory. Historical Social Research, Supplement, 19:47–68, 2007. Ville T. Heikkilä, Kristian Rautiainen, and Jarno Vähäniitty, editors. Towards Agile Product and Portfolio Management. Aalto University, Helsinki, Finland, 2011. URL http://www.soberit.hut.fi/sprg/projects/atman/ TowardsAgileProductandPortfolioManagement.pdf. Retrieved Apr. 4th, 2014. 74 Bibliography Chein Isador, Stuart W. Cook, and John Harding. The field of action research. American Psychologist, 3:45–50, 1948. Sami Jantunen, Laura Lehtola, Donald C. Gause, U. Rex Dumdum, and Raymond J. Barnes. The challenge of release planning. In Proceedings of the Fifth International Workshop on Software Product Management (IWSPM 2011), pages 36–45, Piscataway, NJ, USA, 2011. IEEE. Todd D. Jick. Mixing qualitative and quantitative methods: Triangulation in action. Administrative Science Quarterly, 24(4):602–611, 1979. Hans-Bernd Kittlaus and Peter N. Clough. Software product management and pricing: key success factors for software organizations. Springer, Berlin, Germany, 2009. Craig Larman. Agile and Iterative Development : A Manager’s Guide. AddisonWesley, Boston, MA, USA, 2004. Craig Larman and Bas Vodde. Practices for scaling lean & agile development: large, multisite, and offshore product development with large-scale scrum. AddisonWesley, Upper Saddle River, NJ, USA, 2010. Paul J. Lavrakas, editor. Encyclopedia of Survey Research Methods. Sage Publications, Inc., 2008. Dean Leffingwell. Agile software requirements : lean requirements practices for teams, programs, and the enterprise. Addison-Wesley, Upper Saddle River, NJ, USA, 2011. Laura Lehtola, Marjo Kauppinen, and Sari Kujala. Requirements prioritization challenges in practice. In Frank Bomarius and Hajimu Iida, editors, Proceedings of the Product Focused Software Process Improvement conference (PROFES 2004), volume 3009 of Lecture Notes in Computer Science, pages 497–508. Springer Berlin Heidelberg, 2004. Mingshu Li, Meng Huang, Fengdi Shu, and Juan Li. A risk-driven method for eXtreme programming release planning. In Proceedings of the 28th international conference on Software engineering (ICSE 2006), pages 423–430, New York, NY, USA, 2006. ACM. Markus Lindgren, Christer Norsträm, Anders Wall, and Rikard Land. Importance of software architecture during release planning. In Proceedings of the 7th IEEE/IFIP Working Conference on Software Architecture (WICSA 2008), pages 253–256, 2008. Andrey Maglyas, Uolevi Nikula, and Kari Smolander. What do practitioners mean when they talk about product management? In Proceedings of the 20th IEEE International Requirements Engineering Conference (RE 2012), pages 261–266, 2012. Mika V. Mäntylä and Juha Itkonen. More testers — the effect of crowd size and time restriction in software testing. Information and Software Technology, 55 (6):986–1003, 2013. Mika V. Mäntylä and Juha Itkonen. How are software defects found? the role of implicit defect detection, individual responsibility, documents, and knowledge. Information and Software Technology, In Press. 75 Bibliography An Ngo-The and Guenther Ruhe. A systematic approach for solving the wicked problem of software release planning. Soft Computing — A Fusion of Foundations, Methodologies and Applications, 12(1):95–108, 2008. Helena Holmström Olsson, Hiva Alahyari, and Jan Bosch. Climbing the "stairway to heaven" — a mulitiple-case study exploring barriers in the transition from agile development towards continuous deployment of software. In Proceedings of the 38th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), pages 392–399, 2012. Michael Q. Patton. Qualitative research and evaluation methods. Sage Publication, Thousand Oaks, CA, USA, 3rd edition, 2002. Kai Petersen and Cigdem Gencel. Worldviews, research methods, and their relationship to validity in empirical software engineering research. In Proceedings of the Joint Conference of the 23rd International Workshop on Software Measurement and the Eighth International Conference on Software Process and Product Measurement (IWSM-MENSURA), pages 81–89. IEEE Computer Society, 2013. Mary Poppendieck and Tom Poppendieck. Lean software development : an agile toolkit. Addison Wesley, Boston, MA, USA, 2003. Roger S. Pressman. Software engineering: a practitioner’s approach. McGraw-Hill, Boston, MA, USA, 7th edition, 2010. Kim H. Pries and Jon M. Quigley. Scrum Project Management. CRC Press, Boca Raton, FL, USA, 2011. Kristian Rautiainen. Kanban for software development. In Ville T. Heikkilä, Kristian Rautiainen, and Jarno Vähäniitty, editors, Towards Agile Product and Portfolio Management, chapter 12, pages 184–192. Aalto University, Helsinki, Finland, 2011. URL http://www.soberit.hut.fi/sprg/projects/ atman/TowardsAgileProductandPortfolioManagement.pdf. Retrieved Apr. 4th, 2014. Kristian Rautiainen, Casper Lassenius, and Reijo Sulonen. 4cc: A framework for managing software product development. EMJ - Engineering Management Journal, 14(2):27–32, 2002. Guenther Ruhe and Moshood Omolade Saliu. The art and science of software release planning. Software, IEEE, 22(6):47–53, 2005. Per Runeson and Martin Höst. Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering, 14(2): 131–164, 2009. Ken Schwaber. Agile project management with Scrum. Microsoft Press, Redmond, WA, USA, 2004. Ken Schwaber. The enterprise and Scrum. Microsoft Press, Redmond, WA, USA, 2007. Ken Schwaber and Mike Beedle. Agile software development with Scrum. PrenticeHall, Upper Saddle River, NJ, USA, 2002. Ken Schwaber and Jeff Sutherland. The Scrum guide - the definitive guide to Scrum: The rules of the game. Technical report, Scrum.org, July 2013. URL http://www.scrum.org/Scrum-Guides. Retrieved Apr. 4th, 2014. 76 Bibliography Clive Seale. Quality in qualitative research. Qualitative Inquiry, 5(4):465–478, 1999. William R. Shadish, Thomas D. Cook, and Donald T. Campbell. Experimental and quasi-experimental designs for generalized causal inference. Houghton Mifflin, Boston, MA, USA, 2001. Dag I. K. Sjøberg, Tore Dybå, and Magne Jørgensen. The future of empirical methods in software engineering research. In Future of Software Engineering (FOSE’07), pages 358–378, Washington, DC, USA, 2007. IEEE Computer Society. Ian Sommerville. Software engineering. Addison-Wesley, 6th edition, 2001. Mikael Svahnberg, Tony Gorschek, Robert Feldt, Richard Torkar, Saad Bin Saleem, and Muhammad Usman Shafique. A systematic review on strategic release planning models. Information and Software Technology, 52(3): 237–248, 2010. Inge van de Weerd, Sjaak Brinkkemper, Richard Nieuwenhuis, Johan Versendaal, and Lex Bijlsma. Towards a reference framework for software product management. In Proceedings of the IEEE International Conference on Requirements Engineering (RE ’06), pages 312–315, 2006. Guus van Waardenburg and Hans van Vliet. When agile meets the enterprise. Information and Software Technology, 55(12):2154–2171, 2013. VersionOne, Inc. 7th annual "state of agile development" survey. Technical report, 2013. URL http://www.versionone.com/pdf/7th-Annual-State-ofAgile-Development-Survey.pdf. Retrieved Apr. 4th, 2014. Jarno Vähäniitty. The gap in the literature. In Ville T. Heikkilä, Kristian Rautiainen, and Jarno Vähäniitty, editors, Towards Agile Product and Portfolio Management, chapter 3, pages 38–51. Aalto University, Helsinki, Finland, 2011. URL http://www.soberit.hut.fi/sprg/projects/atman/ TowardsAgileProductandPortfolioManagement.pdf. Retrieved Apr. 4th, 2014. Jarno Vähäniitty and Kristian Rautiainen. Towards a conceptual framework and tool support for linking long-term product and business planning with agile software development. In Proceedings of the 1st international workshop on software development governance, pages 25–28. ACM, 2008. Kevin Vlaanderen, Slinger Jansen, Sjaak Brinkkemper, and Erik Jaspers. The agile requirements refinery: Applying SCRUM principles to software product management. Information and Software Technology, 53(1):58–70, 2011. Claes Wohlin, Martin Höst, and Kennet Henningsson. Empirical Research Methods in Software Engineering, pages 7–23. Empirical Methods and Studies in Software Engineering — Experiences from ESERNET. Springer, 2003. Robert K. Yin. Case study research : design and methods, volume 5 of Applied social research methods series. Sage Publications, Thousand Oaks, CA, USA, 4th edition, 2009. 77 Bibliography 78 9HSTFMG*agaefd+ I S BN9 7 89 5 2 6 0 6 0 4 5 3( p ri nt e d ) I S BN9 7 89 5 2 6 0 6 0 4 6 0( p d f ) I S S N L1 7 9 9 4 9 34 I S S N1 7 9 9 4 9 34( p ri nt e d ) I S S N1 7 9 9 4 9 4 2( p d f ) A a l t oU ni v e r s i t y S c h o o lo fS c i e nc e D e p a r t me nto fC o mp ut e rS c i e nc ea ndE ng i ne e r i ng w w w . a a l t o . f i A al t o D D6 / 2 0 1 5 T h ego alo f so ft w arere l e asepl anning is t o pl an t h eappro priat esc o pefo rt h ene xt re l e asew h il et aking int oac c o untt h e avail abil it yo f re so urc e s, t h eprio rit ie so ft h e c andidat ere quire me nt s and any o t h e r fac t o rs and c o nst raint st h ataffe c tt h e re quire me nt s se l e c t io n.P re vio us re se arc h h as fo c usse do n al go rit h micso l ut io ns t h at e xpe c tt h ere quire me nt s se l e c t io nf ac t o rs and re l e asec o nst raint st obekno w n.I n re al it y, t h efac t o rs and c o nst raint s arerare l y kno w n be fo re h and.Mo de rn, agil eso ft w are de ve l o pme ntme t h o ds arebase do n rapid de ve l o pme ntc yc l e s and c o nst ant c o mmunic at io n be t w e e n st ake h o l de rs inst e ad o f pl anning and pl an e xe c ut io n.T h is disse rt at io n pre se nt st h efirstst e ps t o w ards c l o sing t h egap be t w e e n re l e asepl anning re se arc hand prac t ic eby de sc ribing t h re e c ase so f re l e asepl anning in agil eso ft w are de ve l o pme nto rganiz at io ns. BU S I N E S S+ E C O N O M Y A R T+ D E S I G N+ A R C H I T E C T U R E S C I E N C E+ T E C H N O L O G Y C R O S S O V E R D O C T O R A L D I S S E R T A T I O N S