Code quality is an abstract concept that fails to get traction at the business level. Consequently, software companies keep trading code quality for new features. The resulting technical debt is estimated to waste up to 42% of developers' time, causing stress, uncertainty, as well as making our job less satisfactory than it should be. Without clear and quantifiable benefits, it's hard to build a business case for code quality. At the same time, the rise of machine learning and data science has taught us how to find patterns in complex phenomenons.
In this keynote, Adam takes on the challenge by turning the data analysis microscope the other way around to study how software evolves. We do that by combining novel quality metrics with analyses of how the engineering organization interacts with the code you are building. It's people + code. This combination lets you prioritize the parts of your system that benefit the most from improvements, communicate quantifiable costs of technical debt to the business side, and even use ML to suggest specific refactorings. All techniques are available and actionable today, and the case studies are from well-known open source Java codebases. This new perspective on software development will change how you view code.