I write code for a living, so the bug list is part of my daily life. Every day, I have a list that stares me in the face, reminding me of things that just aren't right. It's kind of like having a list of all your flaws in front of you every day. Some people might find that motivating, but the longer the list gets, the less motivating it seems.
The list tends to get very long when you're most of the way through coding a software release. It swells like a stream in late spring, full of the runoff of coding new features before you've had the opportunity to work out the bugs yet. Then the features are complete, and it's time to start hacking away at that list.
Of course, there are bugs and there are bugs. Most bugs are too important to allow the release to go out while they're still present. However, all software of any significance has bugs. To think otherwise would be like expecting gymnasts never to stumble. And sometimes you know about a minor issue, but for one reason or another the decision is made to release anyway. Usually, it's because the bug only inconveniences ourselves, not our customers, and the benefit of releasing outweighs the problems caused by the bug. But the bug sits on the list, waiting to be fixed.
The end of the release, when the bugs are supposed to get fixed, is often the time that someone decides to say, “Hey, did you guys know that Customer X needs Feature Y?” And so I get tasked on a new feature instead, and those annoying minor bugs continue to sit at the bottom of my list.
Not today, though! After weeks of hard work, today I can look at my list and see... no bugs! Of course, we're about to go into another round of testing, so we'll see how long that lasts.
Making some changes on the blog, trying out a different template and hosting options. Please excuse any template weirdness while I work it out.