Planned maintenance
A system upgrade is planned for 24/9-2024, at 12:00-14:00. During this time DiVA will be unavailable.
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Strategizing and Evaluating the Onboarding of Software Developers in Large-Scale Globally Distributed Legacy Projects
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
2017 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Background: Recruitment and onboarding of software developers are essential 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 sufficient 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. Furthermore, 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 business process modeling. The main case investigated in this thesis is the development 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 performance of mature teams. This suggests that new teams have a considerable performance gap to overcome. Furthermore, we learned that onboarding problems can be amplified by the following challenges: the 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 different 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 results.

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 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 companies to deal with the aforementioned problems through more systematic, effective and repeatable onboarding strategies.

Place, publisher, year, edition, pages
Karlskrona: Blekinge Tekniska Högskola, 2017.
Series
Blekinge Institute of Technology Doctoral Dissertation Series, ISSN 1653-2090 ; 9
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-15197ISBN: 978-91-7295-343-7 (print)OAI: oai:DiVA.org:bth-15197DiVA, id: diva2:1143875
Public defence
2017-11-03, Karlskrona, 13:15 (English)
Opponent
Supervisors
Funder
Knowledge FoundationAvailable from: 2017-09-25 Created: 2017-09-22 Last updated: 2018-01-13Bibliographically approved
List of papers
1. An Extended Global Software Engineering Taxonomy
Open this publication in new window or tab >>An Extended Global Software Engineering Taxonomy
2016 (English)In: Journal of Software Engineering Research and Development, ISSN 2195-1721, Vol. 4, no 3Article in journal (Refereed) Published
Abstract [en]

In Global Software Engineering (GSE), the need for a common terminology and knowledge classification has been identified to facilitate the sharing and combination of knowledge by GSE researchers and practitioners. A GSE taxonomy was recently proposed to address such a need, focusing on a core set of dimensions; however its dimensions do not represent an exhaustive list of relevant GSE factors. Therefore, this study extends the existing taxonomy, incorporating new GSE dimensions that were identified by means of two empirical studies conducted recently.

Place, publisher, year, edition, pages
Springer, 2016
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-13453 (URN)10.1186/s40411-016-0029-2 (DOI)
Projects
TEDD
Funder
Knowledge Foundation
Note

Open access

Available from: 2016-11-15 Created: 2016-11-15 Last updated: 2023-12-04Bibliographically approved
2. Experiences from Measuring Learning and Performance in Large-Scale Distributed Software Development
Open this publication in new window or tab >>Experiences from Measuring Learning and Performance in Large-Scale Distributed Software Development
2016 (English)In: Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ACM Digital Library, 2016, article id 17Conference paper, Published paper (Refereed)
Abstract [en]

Background: Developers and development teams in large-scale software development are often required to learn continuously. Organizations also face the need to train and support new developers and teams on-boarded in ongoing projects. Although learning is associated with performance improvements, experience shows that training and learning does not always result in a better performance or significant improvements might take too long.

Aims: In this paper, we report our experiences from establishing an approach to measure learning results and associated performance impact for developers and teams in Ericsson.

Method: Experiences reported herein are a part of an exploratory case study of an on-going large-scale distributed project in Ericsson. The data collected for our measurements included archival data and expert knowledge acquired through both unstructured and semi-structured interviews. While performing the measurements, we faced a number of challenges, documented in the form of lessons learned.

Results: We aggregated our experience in eight lessons learned related to collection, preparation and analysis of data for further measurement of learning potential and performance in large-scale distributed software development.

Conclusions: Measuring learning and performance is a challenging task. Major problems were related to data inconsistencies caused by, among other factors, distributed nature of the project. We believe that the documented experiences shared herein can help other researchers and practitioners to perform similar measurements and overcome the challenges of large-scale distributed software projects, as well as proactively address these challenges when establishing project measurement programs.

Place, publisher, year, edition, pages
ACM Digital Library, 2016
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-15187 (URN)10.1145/2961111.2962636 (DOI)000578277800017 ()978-1-4503-4427-2 (ISBN)
Conference
International Symposium on Empirical Software Engineering and Measurement, Ciudad Real, Spain
Funder
Knowledge Foundation
Available from: 2017-09-22 Created: 2017-09-22 Last updated: 2021-04-27Bibliographically approved
3. Software Architects in Large-Scale Distributed Projects: An Ericsson Case Study
Open this publication in new window or tab >>Software Architects in Large-Scale Distributed Projects: An Ericsson Case Study
2016 (English)In: IEEE Software, ISSN 0740-7459, E-ISSN 1937-4194, Vol. 33, no 6, p. 48-55, article id 7725230Article in journal (Refereed) Published
Abstract [en]

Software architects are key assets for successful development projects. However, not much research has investigated the challenges they face in large-scale distributed projects. So, researchers investigated how architects at Ericsson were organized, their roles and responsibilities, and the effort they spent guarding and governing a large-scale legacy product developed by teams at multiple locations. Despite recent trends such as microservices and agile development, Ericsson had to follow a more centralized approach to deal with the challenges of scale, distribution, and monolithic architecture of a legacy software product. So, the architectural decisions were centralized to a team of architects. The team extensively used code reviews to not only check the code's state but also reveal defects that could turn into maintainability problems. The study results also suggest that the effort architects spend designing architecture, guarding its integrity and evolvability, and mentoring development teams is directly related to team maturity. In addition, significant investment is needed whenever new teams and locations are onboarded.

Place, publisher, year, edition, pages
IEEE Computer Society, 2016
Keywords
global software engineering, large-scale software development, software architects, software development, software engineering, Software architecture, Agile development, Architectural decision, Centralized approaches, Development project, Distributed projects, Monolithic architecture, Software design
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-13487 (URN)10.1109/MS.2016.146 (DOI)000387895500011 ()2-s2.0-84994469140 (Scopus ID)
Available from: 2016-11-24 Created: 2016-11-23 Last updated: 2021-04-27Bibliographically approved
4. Learning and Performance Evolution of Immature Remote Teams in Large-ScaleSoftware Projects: An Industrial Case Study
Open this publication in new window or tab >>Learning and Performance Evolution of Immature Remote Teams in Large-ScaleSoftware Projects: An Industrial Case Study
(English)Manuscript (preprint) (Other academic)
Abstract [en]

Context: Large-scale distributed software projects with long life cycles often involve a considerable amount ofcomplex legacy code. The combination of scale and distribution challenges, and the diculty to acquire knowledgeabout large amounts of complex legacy code may make the onboarding of new developers/teams problematic. Thismay lead to extended periods of low performance.Objective: The main objective of this paper is to analyze the learning processes and performance evolutions (teamproductivity and team autonomy) of remote software development teams added late to a large-scale legacy softwareproduct development, and to propose recommendations to support the learning of remote teams.Method: We conducted a case study in Ericsson, collecting data through archival research, semi-structured interviews,and workshops. We analyzed the collected data using descriptive, inferential and graphical statistics and softqualitative analysis.Results: The results show that the productivity and autonomy of immature remote teams are on average 3.67 and2.27 times lower than the ones of mature teams, respectively. Furthermore, their performance had a steady increaseduring almost the entire first year and dropped (productivity) or got stagnated (autonomy) for a great part of the secondyear. In addition to these results, we also identified four challenges that aected the learning process and performanceevolution of immature remote teams: complexity of the product and technology stack, distance to the main source ofproduct knowledge, lack of team stability, and training expectation misalignment.Conclusion: The results indicate that scale, distribution and complex legacy code may make learning more dicultand demand a long period to achieve high performance. To support the learning of remote teams, we put forward fiverecommendations. We believe that our quantitative analysis, as well as the identified factors and recommendationscan help other companies to onboard new remote teams in large-scale legacy product development projects.

National Category
Software Engineering
Identifiers
urn:nbn:se:bth-15194 (URN)
Funder
Knowledge Foundation
Available from: 2017-09-22 Created: 2017-09-22 Last updated: 2022-11-18Bibliographically approved
5. Onboarding Software Developers and Teams in Three Globally Distributed Legacy Projects: A Multi-Case Study
Open this publication in new window or tab >>Onboarding Software Developers and Teams in Three Globally Distributed Legacy Projects: A Multi-Case Study
2018 (English)In: Journal of Software: Evolution and Process, ISSN 2047-7473, E-ISSN 2047-7481, Vol. 30, no 4, article id e1921Article in journal (Refereed) Published
Abstract [en]

Onboarding is the process of supporting new employees regarding their social and performance adjustment to their new job. Software companies have faced challenges with recruitment and onboarding of new team members and there is no study that investigates it in a holistic way. In this paper, we conducted a multi-case study to investigate the onboarding of software developers/teams, associated challenges, and areas for further improvement in three globally distributed legacy projects. We employed Bauer's model for onboarding to identify the current state of the onboarding strategies employed in each case. We learned that the employed strategies are semi-formalized. Besides, in projects with multiple sites, some functions are executed locally and the onboarding outcomes may be hard to control. We also learned that onboarding in legacy projects is especially challenging and that decisions to distribute such projects across multiple locations shall be approached carefully. In our cases, the challenges to learn legacy code were further amplified by the project scale and the distance to the original sources of knowledge. Finally, we identified practices that can be used by companies to increase the chances of being successful when onboarding software developers and teams in globally distributed legacy projects.

Place, publisher, year, edition, pages
John Wiley & Sons, 2018
Keywords
Global software development, Global software engineering, Legacy, Onboarding
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-15195 (URN)10.1002/smr.1921 (DOI)000430299400004 ()
Funder
Knowledge Foundation
Available from: 2017-09-22 Created: 2017-09-22 Last updated: 2021-04-27Bibliographically approved
6. Effort Estimation in Large-Scale Software Development: An Industrial Case Study
Open this publication in new window or tab >>Effort Estimation in Large-Scale Software Development: An Industrial Case Study
2018 (English)In: Information and Software Technology, ISSN 0950-5849, E-ISSN 1873-6025, Vol. 99, p. 21-40Article in journal (Refereed) Published
Abstract [en]

Context: Software projects frequently incur schedule and budget overruns. Planning and estimation are particularlychallenging in large and globally distributed projects. While software engineering researchers have beeninvestigating effort estimation for many years to help practitioners to improve their estimation processes, there is littleresearch about effort estimation in large-scale distributed agile projects.Objective: The main objective of this paper is three-fold: i) to identify how effort estimation is carried out in largescaledistributed agile projects; ii) to analyze the accuracy of the effort estimation processes in large-scale distributedagile projects; and iii) to identify the factors that impact the accuracy of effort estimates in large-scale distributed agileprojects.Method: We performed an exploratory longitudinal case study. The data collection was operationalized througharchival research and semi-structured interviews.Results: The main findings of this study are: 1) underestimation is the dominant trend in the studied case, 2) reestimationat the analysis stage improves the accuracy of the effort estimates, 3) requirements with large size/scopeincur larger effort overruns, 4) immature teams incur larger effort overruns, 5) requirements developed in multi-sitesettings incur larger effort overruns as compared to requirements developed in a collocated setting, and 6) requirementspriorities impact the accuracy of the effort estimates.Conclusion: Effort estimation is carried out at quotation and analysis stages in the studied case. It is a challengingtask involving coordination amongst many different stakeholders. Furthermore, lack of details and changes in requirements,immaturity of the newly on-boarded teams and the challenges associated with the large-scale add complexitiesin the effort estimation process.

Place, publisher, year, edition, pages
Elsevier, 2018
Keywords
ffort estimation; Large-scale software development; Global and agile software development
National Category
Software Engineering
Identifiers
urn:nbn:se:bth-15193 (URN)10.1016/j.infsof.2018.02.009 (DOI)000432767900003 ()
Funder
Knowledge Foundation
Available from: 2017-09-22 Created: 2017-09-22 Last updated: 2018-06-07Bibliographically approved

Open Access in DiVA

fulltext(15992 kB)1081 downloads
File information
File name FULLTEXT03.pdfFile size 15992 kBChecksum SHA-512
c75df450fb3a79c7c62a14654fbb2b0ccb9e2a961f9ae6140561de08bc8fbc336cedccccc3e50083c20cd013f75b881b35ecf8fddc2b361c6d2af10f07b4af0b
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Britto, Ricardo
By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 1391 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 4899 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf