Saved in:
Bibliographic Details
Main Authors: Mockus, Audris, Rigby, Peter C, Abreu, Rui, Akkerman, Anatoly, Bhootada, Yogesh, Bhuptani, Payal, Ghardhora, Gurnit, Dao, Lan Hoang, Hawley, Chris, He, Renzhi, Krishnamoorthy, Sagar, Krauze, Sergei, Li, Jianmin, Lunov, Anton, Martac, Dragos, Morin, Francois, Mitchell, Neil, Montes, Venus, Saba, Maher, Steiner, Matt, Valori, Andrea, Wang, Shanchao, Nagappan, Nachiappan
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2504.12517
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916703374409728
author Mockus, Audris
Rigby, Peter C
Abreu, Rui
Akkerman, Anatoly
Bhootada, Yogesh
Bhuptani, Payal
Ghardhora, Gurnit
Dao, Lan Hoang
Hawley, Chris
He, Renzhi
Krishnamoorthy, Sagar
Krauze, Sergei
Li, Jianmin
Lunov, Anton
Martac, Dragos
Morin, Francois
Mitchell, Neil
Montes, Venus
Saba, Maher
Steiner, Matt
Valori, Andrea
Wang, Shanchao
Nagappan, Nachiappan
author_facet Mockus, Audris
Rigby, Peter C
Abreu, Rui
Akkerman, Anatoly
Bhootada, Yogesh
Bhuptani, Payal
Ghardhora, Gurnit
Dao, Lan Hoang
Hawley, Chris
He, Renzhi
Krishnamoorthy, Sagar
Krauze, Sergei
Li, Jianmin
Lunov, Anton
Martac, Dragos
Morin, Francois
Mitchell, Neil
Montes, Venus
Saba, Maher
Steiner, Matt
Valori, Andrea
Wang, Shanchao
Nagappan, Nachiappan
contents The focus on rapid software delivery inevitably results in the accumulation of technical debt, which, in turn, affects quality and slows future development. Yet, companies with a long history of rapid delivery exist. Our primary aim is to discover how such companies manage to keep their codebases maintainable. Method: we investigate Meta's practices by collaborating with engineers on code quality and by analyzing rich source code change history to reveal a range of practices used for continual improvement of the codebase. In addition, we replicate several aspects of previous industry cases studies investigating the impact of code reengineering. Results: Code improvements at Meta range from completely organic grass-roots done at the initiative of individual engineers, to regularly blocked time and engagement via gamification of Better Engineering (BE) work, to major explicit initiatives aimed at reengineering the complex parts of the codebase or deleting accumulations of dead code. Over 14% of changes are explicitly devoted to code improvement and the developers are given ``badges'' to acknowledge the type of work and the amount of effort. Our investigation to prioritize which parts of the codebase to improve lead to the development of metrics to guide this decision making. Our analysis of the impact of reengineering activities revealed substantial improvements in quality and speed as well as a reduction in code complexity. Overall, such continual improvement is an effective way to develop software with rapid releases, while maintaining high quality.
format Preprint
id arxiv_https___arxiv_org_abs_2504_12517
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Code Improvement Practices at Meta
Mockus, Audris
Rigby, Peter C
Abreu, Rui
Akkerman, Anatoly
Bhootada, Yogesh
Bhuptani, Payal
Ghardhora, Gurnit
Dao, Lan Hoang
Hawley, Chris
He, Renzhi
Krishnamoorthy, Sagar
Krauze, Sergei
Li, Jianmin
Lunov, Anton
Martac, Dragos
Morin, Francois
Mitchell, Neil
Montes, Venus
Saba, Maher
Steiner, Matt
Valori, Andrea
Wang, Shanchao
Nagappan, Nachiappan
Software Engineering
The focus on rapid software delivery inevitably results in the accumulation of technical debt, which, in turn, affects quality and slows future development. Yet, companies with a long history of rapid delivery exist. Our primary aim is to discover how such companies manage to keep their codebases maintainable. Method: we investigate Meta's practices by collaborating with engineers on code quality and by analyzing rich source code change history to reveal a range of practices used for continual improvement of the codebase. In addition, we replicate several aspects of previous industry cases studies investigating the impact of code reengineering. Results: Code improvements at Meta range from completely organic grass-roots done at the initiative of individual engineers, to regularly blocked time and engagement via gamification of Better Engineering (BE) work, to major explicit initiatives aimed at reengineering the complex parts of the codebase or deleting accumulations of dead code. Over 14% of changes are explicitly devoted to code improvement and the developers are given ``badges'' to acknowledge the type of work and the amount of effort. Our investigation to prioritize which parts of the codebase to improve lead to the development of metrics to guide this decision making. Our analysis of the impact of reengineering activities revealed substantial improvements in quality and speed as well as a reduction in code complexity. Overall, such continual improvement is an effective way to develop software with rapid releases, while maintaining high quality.
title Code Improvement Practices at Meta
topic Software Engineering
url https://arxiv.org/abs/2504.12517