GenAI Copilots Exacerbate Problems
Generative AI is by far the hottest topic in the industry right now. If the Gartner hype cycle would allow you to go off the charts,this topic would certainly stand a chance of achieving escape velocity. Unlike the last over-hyped technology, blockchain, this technology will have, and has had, a major impact on the industry. It can have a great impact on your company, if you’re ready for it.
I talked to a CTO recently who was lamenting the fact that a previous company was almost certainly taking advantage of this new area, where their current company was in no position to. But why not? According to GitHub, developers can code 55% faster with an AI Copilot. Isn’t it simple?
Challenges
For anyone who’s read Goldratt’s The Goal we know that the system can only deliver product as quickly as the slowest part of the system. In the book, they were able to enable more product to flow through the system by alleviating the slowest part of the system, the constraint (as in “Theory of Constraints”). What happens if our developers can write code 55% faster? It’s the same as asking ”what happens if more parts in the factory are backed up behind the constraint?” The system can only move as fast as the slowest link in the chain. Writing code faster may actually make the problem worse!
If my release pipelines have manual testing, if my release cadence is every two weeks, being able to generate code faster is not an advantage. The code will not be released faster, and when it is released, we will not have the small batch delivery we strive for. It will be delivered in an even bigger batch! This causes more unknown interactions, feedback that is more difficult to process, and less ability to run focused experiments.
Advantages
However, if we have a well functioning software delivery system, GenAI can help with many things that are not merely generating code faster. It is an opportunity to help pay down Technical Debt. The LLMs can explain code, write documentation, develop test cases, and suggest optimizations. For an organization that is able to take advantage of this, there is a real opportunity to go faster.
When Ward Cunningham first described the concept of Technical Debt, he described it as a drag on an organization. GenAI can help us to reduce drag! An organization that is less burdened with debt, that is able to onboard new developers to the company or to a codebase much more quickly, will be able to accomplish more in the same amount of time, because of this reduction in drag. That is, if they are able to take advantage of it.
Leverages
For our CTO who was lamenting their current company, they knew that they were not in a position to take advantage of this. GenAI will probably widen the gap between the DORA high performers and low performers. The low performers will be stuck with a multi-month release cycle, while the current high performers will take advantage of their ability to ship safely and often, and to eliminate technical debt, to move from high performer to elite performer.
The only way to catch these folks? Get good at delivering software.