One of the engineering leaders at work attended a conference where he could see a trend or theme among the speakers and their research. It showed that delivery was not increasing, small iterations in software are down, quality is down relative to defect rates, etc. In other words, it feels like we're all doing more stuff, and what a time to be alive and spend money on AI compute.
We're suddenly boomeranging back to outcomes, I think, and a lot of folks (including me), are asking how it is that we're spending all of this money and not actually getting better results. Meanwhile, the AI bros, if they were ever humans in the first place, have almost entirely disappeared from LinkedIn. No one has told me I'm doing it wrong in like a month! But I still haven't been more excited about making software, and that's after two-plus decades. What's going on?
For better or worse, I think about almost everything in terms of time to delivery. I built my reputation at my last job as leading the team that delivered fast at the highest quality possible, and had the stats to back it up. We did this by ruthlessly cutting scope, validating the work against real usage, and continuous iteration. That's not exactly innovative, and I didn't invent any of that. If it gets in the way, ask if it's even worth having around. That goes for process especially. Got something greenfield to build? What's stopping you from getting some minimal thing out in two weeks or less?
Toward the end, when we had access to agentic coding, the coding part got faster. Delivery got a little faster, but what I observed was that we spent more time deliberating and debating stuff, while using more time to reduce tech debt. AI wasn't making us that much faster, but it was making our outcomes, and software, better.
That, in my opinion, is the problem. AI bros had everyone obsessing over one-shot, throw-it-over-the-wall development, as if the machines without wisdom and judgment were going to get there faster. But remember when you trusted that one alpha-dev to go off and build something? When he came back with the thing, it was never the right thing. Many of the assumptions about requirements were wrong once you got them in front of real users. Why did anyone think that the you'd get a different outcome with the robots?
Agentic coding has given us the gift of time, and we're squandering it by giving away our attention. We're obsessed with things that have nothing to do with delivery, and worse, do not improve quality. Our attention could be directed at figuring out how to make software better, in a world where frankly most of it sucks. Instead, attention is spent on token usage and parallelization of work. There is little evidence that suggests this makes software better.
Let's fix our attention.
No comments yet.