Code Quality in the Age of AI ✅
How to create a process for quality throughout the whole SDLC.
Last month, the 2024 DORA report came out, and as always it was full of interesting insights.
A good part of it explored the impact of AI on engineering teams, and reported a surprising finding:
Despite AI’s potential benefits, our research revealed [that] AI adoption may negatively impact software delivery performance. As AI adoption increased, it was accompanied by an estimated decrease in delivery throughput by 1.5%, and an estimated reduction in delivery stability by 7.2%.
So, in many cases, the gains in pure coding throughput do not translate into general software delivery improvements.
Why is that?
The answer is unclear — I guess it will take years to figure out all the downstream effects of AI in coding. The key tradeoff, though, looks simple: AI allows to write more code, faster, in exchange for it being less under our control.
It is easy to see how bad things can happen from this: faster and sloppier coding leads to bigger batches, which equals more risk, and leads to more regressions and maintenance down the line.
This is not inevitable. I am sure the best teams will be able to constrain the use of AI under their own good practices, and make it a huge net positive — but it will take work.
In particular, I believe it will require a new, intentional approach to code quality.
Quoting Joel Chippindale, our coach-in-residence:
"High quality code is easy to keep changing"
But how do we ensure this when more and more of our code is written by AI?
This is what we are going to explore today. To do this, I am partnering with Cèdric Teyton, CTO of Packmind. Cédric works at the forefront of this transition, building tools that help enforce quality through AI. So, we put together our respective experiences to create the best guide we are capable of.
Here is the agenda for today:
📖 What makes code easy to change — let’s explore the fundamentals of maintainable code, from readability to testing, and why they matter more than ever.
🤖 Coding in the Age of AI — how AI is changing the way we write and maintain code, and why this makes quality even more crucial.
🔄 The Lifecycle of Quality — a practical framework for building systems that consistently produce good code, from early practices to final reviews.
Let’s dive in!