skip to main content
10.1145/3510457.3513082acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article
Open access

Bus factor in practice

Published: 17 October 2022 Publication History

Abstract

Bus factor is a metric that identifies how resilient is the project to the sudden engineer turnover. It states the minimal number of engineers that have to be hit by a bus for a project to be stalled. Even though the metric is often discussed in the community, few studies consider its general relevance. Moreover, the existing tools for bus factor estimation focus solely on the data from version control systems, even though there exists other channels for knowledge generation and distribution. With a survey of 269 engineers, we find that the bus factor is perceived as an important problem in collective development, and determine the highest impact channels of knowledge generation and distribution in software development teams. We also propose a multimodal bus factor estimation algorithm that uses data on code reviews and meetings together with the VCS data. We test the algorithm on 13 projects developed at JetBrains and compared its results to the results of the state-of-the-art tool by Avelino et al. against the ground truth collected in a survey of the engineers working on these projects. Our algorithm is slightly better in terms of both predicting the bus factor as well as key developers compared to the results of Avelino et al. Finally, we use the interviews and the surveys to derive a set of best practices to address the bus factor issue and proposals for the possible bus factor assessment tool.

References

[1]
2007. ISBSG repository release 10. URL: https://www.isbsg.org/.
[2]
Nuri Almarimi, Ali Ouni, Moataz Chouchen, and Mohamed Wiem Mkaouer. 2021. csDetector: an open source tool for community smells detection. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 1560--1564.
[3]
Nuri Almarimi, Ali Ouni, and Mohamed Wiem Mkaouer. 2020. Learning to detect community smells in open source software projects. Knowledge-Based Systems 204 (2020), 106201.
[4]
Guilherme Avelino, Eleni Constantinou, Marco Tulio Valente, and Alexander Serebrenik. 2019. On the abandonment and survival of open source projects: An empirical investigation. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). IEEE, 1--12.
[5]
Guilherme Avelino, Leonardo Passos, Andre Hora, and Marco Tulio Valente. 2016. A novel approach for estimating truck factors. In 2016 IEEE 24th International Conference on Program Comprehension (ICPC). IEEE, 1--10.
[6]
Christian Bird, Nachiappan Nagappan, Brendan Murphy, Harald Gall, and Premkumar Devanbu. 2011. Don't touch my code! Examining the effects of ownership on software quality. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering. 4--14.
[7]
Gemma Catolino, Fabio Palomba, Damian Andrew Tamburri, and Alexander Serebrenik. 2021. Understanding community smells variability: A statistical approach. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering in Society (ICSE-SEIS). IEEE, 77--86.
[8]
Gemma Catolino, Fabio Palomba, Damian A Tamburri, Alexander Serebrenik, and Filomena Ferrucci. 2020. Refactoring community smells in the wild: the practitioner's feld manual. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering in Society. 25--34.
[9]
James O Coplien and Neil B Harrison. 2004. Organizational patterns of agile software development. Prentice-Hall, Inc.
[10]
Valerio Cosentino, Javier Luis Cánovas Izquierdo, and Jordi Cabot. 2015. Assessing the bus factor of Git repositories. In 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 499--503.
[11]
Manuel De Stefano, Fabiano Pecorelli, Damian A Tamburri, Fabio Palomba, and Andrea De Lucia. 2020. Splicing community patterns and smells: A preliminary study. In Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops. 703--710.
[12]
Mívian Ferreira, Marco Tulio Valente, and Kecia Ferreira. 2017. A comparison of three algorithms for computing truck factors. In 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC). IEEE, 207--217.
[13]
Thomas Fritz, Gail C Murphy, Emerson Murphy-Hill, Jingwen Ou, and Emily Hill. 2014. Degree-of-knowledge: Modeling a developer's knowledge of code. ACM Transactions on Software Engineering and Methodology (TOSEM) 23, 2 (2014), 1--42.
[14]
Mik Kersten and Gail C Murphy. 2005. Mylar: a degree-of-interest model for IDEs. In Proceedings of the 4th international conference on Aspect-oriented software development. 159--168.
[15]
Mathieu Nassif and Martin P Robillard. 2017. Revisiting turnover-induced knowledge loss in software projects. In 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 261--272.
[16]
Fabio Palomba and Damian Andrew Tamburri. 2021. Predicting the emergence of community smells using socio-technical metrics: a machine-learning approach. Journal of Systems and Software 171 (2021), 110847.
[17]
Fabio Palomba, Damian Andrew Andrew Tamburri, Francesca Arcelli Fontana, Rocco Oliveto, Andy Zaidman, and Alexander Serebrenik. 2018. Beyond technical aspects: How do community smells influence the intensity of code smells? IEEE transactions on software engineering (2018).
[18]
Filippo Ricca, Alessandro Marchetto, and Marco Torchiano. 2011. On the difficulty of computing the truck factor. In International Conference on Product Focused Software Process Improvement. Springer, 337--351.
[19]
Peter C Rigby, Yue Cai Zhu, Samuel M Donadelli, and Audris Mockus. 2016. Quantifying and mitigating turnover-induced knowledge loss: case studies of Chrome and a project at Avaya. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). IEEE, 1006--1016.
[20]
Daniel Rodríguez, MA Sicilia, E García, and Rachel Harrison. 2012. Empirical findings on team size and productivity in software development. Journal of Systems and Software 85, 3 (2012), 562--570.
[21]
Damian A Tamburri, Rick Kazman, and Hamed Fahimi. 2016. The architect's role in community shepherding. IEEE Software 33, 6 (2016), 70--79.
[22]
Damian A Tamburri, Philippe Kruchten, Patricia Lago, and Hans Van Vliet. 2015. Social debt in software engineering: insights from industry. Journal of Internet Services and Applications 6, 1 (2015), 1--17.
[23]
Damian Andrew Andrew Tamburri, Fabio Palomba, and Rick Kazman. 2019. Exploring community smells in open-source: An automated approach. IEEE Transactions on software Engineering (2019).
[24]
Kazuhiro Yamashita, Shane McIntosh, Yasutaka Kamei, Ahmed E Hassan, and Naoyasu Ubayashi. 2015. Revisiting the applicability of the pareto principle to core development teams in open source software projects. In Proceedings of the 14th International Workshop on Principles of Software Evolution. 46--55.
[25]
Nico Zazworka, Kai Stapel, Eric Knauss, Forrest Shull, Victor R Basili, and Kurt Schneider. 2010. Are developers complying with the process: an xp study. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement. 1--10.

Cited By

View all
  • (2025)Evaluating and Improving Projects’ Bus-Factor: A Network Analytical FrameworkSocial Networks Analysis and Mining10.1007/978-3-031-78541-2_16(255-270)Online publication date: 24-Jan-2025
  • (2024)Requirements for Organizational Resilience: Engineering Developer HappinessIEEE Software10.1109/MS.2024.338603541:4(14-18)Online publication date: 4-Jun-2024
  • (2023)BFSig: Leveraging File Significance in Bus Factor EstimationProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613877(1926-1936)Online publication date: 30-Nov-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE-SEIP '22: Proceedings of the 44th International Conference on Software Engineering: Software Engineering in Practice
May 2022
371 pages
ISBN:9781450392266
DOI:10.1145/3510457
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 October 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. bus factor
  2. case study
  3. intelligent collaboration tools
  4. knowledge management
  5. truck factor

Qualifiers

  • Research-article

Conference

ICSE '22
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)497
  • Downloads (Last 6 weeks)40
Reflects downloads up to 21 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Evaluating and Improving Projects’ Bus-Factor: A Network Analytical FrameworkSocial Networks Analysis and Mining10.1007/978-3-031-78541-2_16(255-270)Online publication date: 24-Jan-2025
  • (2024)Requirements for Organizational Resilience: Engineering Developer HappinessIEEE Software10.1109/MS.2024.338603541:4(14-18)Online publication date: 4-Jun-2024
  • (2023)BFSig: Leveraging File Significance in Bus Factor EstimationProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613877(1926-1936)Online publication date: 30-Nov-2023
  • (2023)Contribution-Based Firing of Developers?Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613085(2062-2066)Online publication date: 30-Nov-2023

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media