STRATEGIZING and EVALUATING the ONBOARDING of SOFTWARE DEVELOPERS in LARGE-SCALE GLOBALLY DISTRIBUTED LEGACY PROJECTS Ricardo Br
Total Page:16
File Type:pdf, Size:1020Kb
ONBOARDING OF SOFTWARE DEVELOPERS IN LARGE-SCALE GLOBALLY DISTRIBUTED LEGACY PROJECTS LEGACY DISTRIBUTED DEVELOPERS IN LARGE-SCALE GLOBALLY OF SOFTWARE ONBOARDING THE AND STRATEGIZING EVALUATING ABSTRACT STRATEGIZING AND EVALUATING THE Background: Recruitment and onboarding projects is much lower than the performan- of software developers are essential steps ce of mature teams. This suggests that new ONBOARDING OF SOFTWARE DEVELOPERS in software development undertakings. The teams have a considerable performance gap need for adding new people is often associ- to overcome. Furthermore, we learned that IN LARGE-SCALE GLOBALLY DISTRIBUTED ated with large-scale long-living projects and onboarding problems can be amplifiedb y the LEGACY PROJECTS globally distributed projects. The formers are following challenges: the complexity of the challenging because they may contain large product and technology stack, distance to amounts of legacy (and often complex) code the main source of product knowledge, lack (legacy projects). The latters are challenging, of team stability, training expectation misa- because the inability to findsufficient r esour- lignment, and lack of formalism and control ces in-house may lead to onboarding people over onboarding strategies employed in diffe- at a distance, and often in many distinct sites. rent sites of globally distributed projects. To Ricardo Britto While onboarding is of great importance for help companies addressing the challenges we companies, there is little research about the identified in this thesis, we propose a process challenges and implications associated with to support the design of onboarding strate- onboarding software developers and teams gies and the evaluation of onboarding results. in large-scale globally distributed projects with large amounts of legacy code. Further- Conclusions: The results show that scale, more, no study has proposed any systematic distribution and complex legacy code may approaches to support the design of onbo- make onboarding more difficult and demand arding strategies and evaluation of onboar- longer periods of time for new developers ding results in the aforementioned context. and teams to achieve high performance. This means that onboarding in large-scale globally Objective: The aim of this thesis is two-fold: i) distributed legacy projects must be planned identify the challenges and implications asso- well ahead and companies must be prepared ciated with onboarding software developers to provide extended periods of mentoring and teams in large-scale globally distributed by expensive and scarce resources, such as legacy projects; and ii) propose solutions to software architects. Failure to foresee and support the design of onboarding strategies plan such resources may result in effort es- and evaluation of onboarding results in lar- timates on one hand, and unavailability of ge-scale globally distributed legacy projects. mentors on another, if not planned in advan- ce. The process put forward herein can help Method: In this thesis, we employed litera- companies to deal with the aforementioned ture review, case study, and business process problems through more systematic, effec- modeling. The main case investigated in this tive and repeatable onboarding strategies. thesis is the development of a legacy tele- Britto Ricardo communication software product in Ericsson. Results: The results show that the performan- ce (productivity, autonomy, and lead time) of Blekinge Institute of Technology new developers/teams onboarded in remo- Doctoral Dissertation Series No. 2017:09 te locations in large-scale distributed legacy 2017:09 ISSN:1653-2090 ISBN: 978-91-7295-343-7 Department of Software Engineering 2017:09 Strategizing and Evaluating the Onboarding of Software Developers in Large-Scale Globally Distributed Legacy Projects Ricardo Britto Blekinge Institute of Technology Doctoral Dissertation Series No 2015:09 Blekinge Institute of Technology Doctoral Dissertation Series No 2017:09 Social Sustainability within the Framework for Strategic StrategizingSustainable and Development Evaluating the Onboarding of Software Developers in Large-Scale Globally Distributed Legacy Projects Merlina Missimer DoctoralRicardo Dissertation Britto in Strategic Sustainable Development Doctoral Dissertation in Software Engineering Department of Software Engineering DepartmentBlekinge of Strategic Institute Sustainable of Technology Development Blekinge InstituteSWEDEN of Technology SWEDEN 2017 Ricardo Britto Department of Software Engineering Publisher: Blekinge Institute of Technology SE-371 79 Karlskrona, Sweden Printed by Exakta Group, Sweden, 2017 ISBN: 978-91-7295-343-7 ISSN:1653-2090 urn:nbn:se:bth-15197 To my wife, daughter, parents and siblings. “I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.” –Bruce Lee “In God we trust, all others must bring data” –W. Edward Dennings “There are known knowns. These are things we know that we know. There are known unknowns. That is to say, there are things that we know we don’t know. But there are also unknown unknowns. There are things we don’t know we don’t know.” –Donald Rumsfeld ABSTRACT Background: Recruitment and onboarding of software developers are es- sential steps in software development undertakings. The need for adding new people is often associated with large-scale long-living projects and globally distributed projects. The formers are challenging because they may contain large amounts of legacy (and often complex) code (legacy projects). The latters are challenging, because the inability to find suffi- cient resources in-house may lead to onboarding people at a distance, and often in many distinct sites. While onboarding is of great importance for companies, there is little research about the challenges and implications associated with onboarding software developers and teams in large-scale globally distributed projects with large amounts of legacy code. Further- more, no study has proposed any systematic approaches to support the design of onboarding strategies and evaluation of onboarding results in the aforementioned context. Objective: The aim of this thesis is two-fold: i) identify the challenges and implications associated with onboarding software developers and teams in large-scale globally distributed legacy projects; and ii) propose solutions to support the design of onboarding strategies and evaluation of onboarding results in large-scale globally distributed legacy projects. Method: In this thesis, we employed literature review, case study, and busi- ness process modeling. The main case investigated in this thesis is the de- velopment of a legacy telecommunication software product in Ericsson. Results: The results show that the performance (productivity, autonomy, and lead time) of new developers/teams onboarded in remote locations in large-scale distributed legacy projects is much lower than the perfor- mance of mature teams. This suggests that new teams have a consider- able performance gap to overcome. Furthermore, we learned that onboard- ing problems can be amplified by the following challenges: complexity of the product and technology stack, distance to the main source of product knowledge, lack of team stability, training expectation misalignment, and lack of formalism and control over onboarding strategies employed in dif- ferent sites of globally distributed projects. To help companies addressing the challenges we identified in this thesis, we propose a process to support the design of onboarding strategies and the evaluation of onboarding re- sults. Conclusions: The results show that scale, distribution and complex legacy code may make onboarding more difficult and demand longer periods of time for new developers and teams to achieve high performance. This vii means that onboarding in large-scale globally distributed legacy projects must be planned well ahead and companies must be prepared to provide extended periods of mentoring by expensive and scarce resources, such as software architects. Failure to foresee and plan such resources may result in effort estimates on one hand, and unavailability of mentors on another, if not planned in advance. The process put forward herein can help compa- nies to deal with the aforementioned problems through more systematic, effective and repeatable onboarding strategies. viii ACKNOWLEDGMENTS Although a Ph.D. thesis often seems as a lonely journey, I soon realized during the course of my odyssey that this is not entirely true. First, I would like to express my gratitude to my supervisors Prof. Darja Šmite and Prof. Jürgen Börstler, and also to Prof. Claes Wohlin and Prof. Emilia Mendes for their support, guidance and fruitful collaboration that was mandatory for the success of this thesis. Furthermore, I would like also to express my gratitude to Ericsson, which allowed me to conduct my research and put forward my ideas in a real world case. More specifically, I would like to thank Lars-Ola Damm for all the support, ideas and inspiring meetings that helped me to mold the main contributions of this thesis. At the same time, I could not forget to say thank you to all the software architects, developers and project man- agers from Ericsson who provided their time and knowledge that helped to make this thesis possible. I also would like to thank all my friends and colleagues at SERL Sweden, who also contributed to this thesis by providing a pleasant work environ- ment. In particular, I would like to express