Joy & Curiosity #97

Interesting & joyful things from the previous week

Open on Substack · Markdown

How many bugs are you willing to tolerate in your codebase?

Don’t tell me it’s zero, because we both know it’s not zero. It’s also not a four-digit number. That’d be too much. But there is a number, or a range of numbers.

Because we all know that it’s theoretically possible to get to zero bugs, but so far the cost-to-benefit ratio made it not worthwhile. And, on the other end, if the number is too high then your software becomes unusable and you lose customers. (It’s worth mentioning, though, that how high that number can go also depends a lot on context: no one drops their banking app because of five bugs they ran into, as long as the money’s where it’s supposed to be.)

Now here’s my question to you: when was the last time you adjusted that number?

With agents, bugs are faster to find and to fix. You can start bug investigations asynchronously and in parallel. You can find and fix bugs in areas of the codebase you never would’ve debugged before. You can throw an infinite number of agents on the same bug.

Imagine it’s 2018 and in your engineering department’s office a genie appears and says: “Nice to meet you. Usually there’s this whole thing we do now, but we can skip that. I anticipated your biggest wish and here it is: a team of ten world-class engineers that have specialized in debugging and can find and fix bugs in any language, any framework, any platform. They don’t sleep. They don’t grow frustrated. They don’t want to build features. They live to fix bugs.”

You’d of course look around and wonder whether anyone else is seeing this, but then you’d say: “Wow, okay. I didn’t even know I had that wish. But… I’ll take it, I suppose? Can I even refuse?” The genie disappears before you say that last word.

And then you consider what you can do now, with that team available, and you realize: we can, no: we must go faster now. We need to recalibrate what fast even means.

There’s going slow and playing it safe, where no known bug goes into production, and there’s being fast and reckless, where you know that some bugs might make it through.

We need to find the spot right in the middle, where speed and defects are in balance, where we go so fast that, yes, some bugs might make it through, but their lifetime has been shortened substantially by our new team and no one will even know about these bugs before they’re fixed.

Time to recalibrate.