About code economics...

time to read 5 min | 833 words

Some time ago Eric Sink posted about people who complained about the bugs in VS 2005.

The six billion people of the world can be divided into two groups:

  1. People who know why every good software company ships products with known bugs.
  2. People who don't.

It goes on in the same vein for another four thousands words, giving some good examples form Eric's own product, SourceGear Vault. I agree with Eric in pricipal. Hell, my software has bugs that I said I Wont Fix. Although I do try never to release with known bugs, I've done so in the past, and will probably do it again.

I was very surprised by the reaction that a couple of blog posts had. Hell, there was even a comment about it in DotNetRocks, citing "obscure problems". What I think Eric and a many others are missing is the cause for all the noise. It wasn't the bugs themselves. The list of people who complained include people who worked with software for many years. They*certainly had to make the same decisions in the past.

The issue here was support. And that issue was painful. It's okay to have bugs in your software. I may not agree with Microsoft on the items they decided to go to RTM with, but I understand that they have to triage those bugs with an eye to other factors than what-will-make-Ayende-happy**. What really bothered me and many othes is that there was the very real possibility of living with those bugs for ~2 years or more.

I still struggle with the slow refactoring in web projects. I'm using a pre-beta product because it's better than VS 2005 has. I just run into a very nasty edge case, where a random control gets the values of another control. I can assure you that the level of frustration that I had dealing with this bug is unprecedented on .Net 2.0. I currently have another problem where code that should work doesn't, and I'm not really sure what the hell is going on there that muck this up. Can you imagine this going on for two years or more?

As soon as Microsoft made the anouncement about releasing a service pack for VS 2k5, all the blogger just let the subject drop. It's not interesting anymore. Sure there are bugs, but it's a fact of life, and they will be fixed.  The above mentioned problems? The edge case I run into is a change in the way ASP.Net 2.0 handle the view state, it's actually documented and there is a way to fix it. The current bug will probably turn out to be something similar.

The main difference is that I no longer feel as if someone threw a lot of code at me and told me that they will be back in a couple of years to see if something is wrong. That made all the difference. Nothing much has changed, but knowing that we aren't abandoned until Orcas ship is a huge difference. As soon as the anouncement was made, all the complaints had died down. The bugs will be dealts with, not all, and not by next week, but they will be.

That said, I'm still holding Microsoft to a higher standard than I'm holding the rest of the industry. They consistently manage to put good products out, and they do it under very different constraints than most developers need to meet. When you're so big, you've got to take more care.

[Via Larry Osterman Blog] In the words of Gordon Letwin:

“In our business, one in a million is next Tuesday”.

* I'm not sure if I should include myself in the list. I don't have much of a professional experiance.

** If anyone wants to use this metric, I'll be happy to deliver the Methodology of Making Ayende Happy.