Oh the joy of maintaining old applications, and the side-effects of adding features (bugs). There's no excuse for this happening, and no reason why I didn't catch it earlier, but it did happen. I added the ability to checkout using Google Checkout, and broke the whole shopping cart. Well, maybe not the whole thing, but the part that allows you to remove items from your cart. Quite an important piece.
Of course, thats also the nice part is that about three seconds after the bug was reported, it was fixed, live.
I have to wonder, though, if the ease of fixing bugs is why there are so many of them. Certainly, there are plenty of bugs in a regular application as well, but this is one that could've been caught quite easily, had I not been so lazy and complacent.
One of my previous bosses, in his attempts to get us to produce better code, would regale us with stories of how his boss instilled this great fear of errors in his employees. In the print business, that is very understandable; you cant fix errors after the fact. The funny thing is, I've found errors in some of their publications. I guess their employees aren't sufficiently frightened.
The current conventional wisdom is that its better to be live with something slightly buggy, then to hold off until its perfect. I have to wonder if this hasn't reduced users confidence in online applications? Even if eventually it is perfected, by then its (usually) obsolete, the next (buggy) version is out and your users are using that one. so they never get to use perfected code.
Going live quickly allows companies to begin recouping their investment, even as the investment is ongoing. This means there will always be pressure on developers to rush things out. It is up to us to ensure that what is released is working correctly, and up to management to hold back on features not ready for the wild. Management will never hold back, so its up to us.
Item of the Day: Bathroom Above Counter Basin: Porcher Effusio 32330