Hard-assed Bug Fixin’

Hard-assed Bug Fixin’

“Fixing bugs is only important when the value of having the bug fixed exceeds the cost of the fixing it.” – Joel Spolsky

True, but even harder than it appears at first blush.

“Make Sure You Find Out About The Bugs.” – Joel Spolsky

We’d rigged our web app to squawk whenever there was an error. Some days it was quiet, others it was a damn chatterbox. We were running lean, too lean really. So this was really our last and only line of defense to detect key system errors before they killed the company. You see, our web app was connected to over 80 other external systems, of varying quality (read REALLY REALLY LOW,) so we this was our way of finding out that things were going wrong really quickly. Just to give you a sense, ever other week, one of those systems would break their API intentionally in a non-backward compatible way. And that was just one of the things our partners did to us on purpose. The bugs… They were legion.

So we did the best we could on a shoestring budget and pushed around millions of dollars a year doing it. We were able to because every engineer had a gut level understanding of the current state of the live system and ownership over their pieces.

Along comes a newly hired engineering manager who took over that team from me.

One of his first acts was to immediately undo the ownership link between engineers and live integrations and then followed that up with obfuscating the current state of the live system.

Should have had him fired before he even got to the send step. But I wasn’t the one who hired him, so…

You can’t fix your bugs if you willfully ignore that you have them.

“You may not be able to figure out exactly how much it’s worth to fix each bug, but there’s something you can do: charge the “cost” of tech support back to the business unit.”

“DOS games were a terrible business… to get them to look good and run fast, you usually  needed strange video drivers, and a single tech support call about the video drivers would blow away the profit you could make from 20 copies of your product” – Joel Spolsky

I had not thought of this approach before. It’s interesting because it takes at least some of the divining rod aspect of the determination of these numbers out of the equation. That a nice way to prevent it from rapidly devolving into a political firestorm.

“Figure Out What It’s Worth To You To Fix Them All.”

“Can you charge more for a less buggy product?” – Joel Spolsky

That’s the rub. Just about every organization I’ve been a part of is biased to try to increase revenues over cost efficiency. Yet fixing bugs is nearly always a cost efficiency argument. Joel even acknowledges as much by not being able to provide a “packaged” software example to the contrary.

In today’s mobile environment, many developers have taken the route of limiting customer support entry points to nearly impossible to find. In internal discussions, they argue that it’s the best way to save costs. It’s not. It’s flip side of the same neophyte mistake made by the new manager (and by me for not finding a path to sending him away.)