March 15th, 2004



weather: cloudy
outside: 9°C
mood: meh
This kind of thing happens All. The. Time. In software development.

So, the non-technical Project Manager on the client side was freaking out at the end of last week. We vaguely had the idea that he was very concerned about our bug count, but we couldn't really understand why he was all of a sudden so distraught over issues we had known about that we were making good headway in fixing. None of them were show-stoppers or anything.

It turns out they had run a code diagnostic tool on all the components of this project, ours and theirs. This is the type of tool that goes through the source code and detects potential memory leaks, potential problems caused by unhandled cases, unhandled states, etc. It's generally a good thing to have done on your source code, I don't deny that.

The tool generated a whole pile of things and logged each one as a separate bug. So, now our bug count has gone through the roof and that's why their PM was shitting bricks.

These are under-the-hood engineering issues. Most of these "issues" are actually quite harmless in that the chances of them happening is slim to none. We're not checking for this state? Well, no, because we'd never get to that state, the world would end before it gets there. We, as humans, know that; but the diagnostic tool that is not a human, is set to flag those as "OMGWTF". To fix it and check for the extra state is fine and dandy, makes for cleaner code, but it would make absolutely no difference in the way the application runs.

It's not that we're balking at having to do piddly cleanup work. It's that there are a lot of these and to fix them all would mean carving out time in our already compressed schedule to fix something that is not visible and won't matter. It would also mean doing a full regression pass because it touches so much stuff. Historically, they've been jumpy about being able to see results from us.

It would have been wonderful if these bugs had come in during a Bug Fix Phase of development earlier this year, not at the home stretch of Major Feature Implementation Phase. <sarcasm>But, that would have, like, made sense and we just don't do that.</sarcasm>

It's not a big deal. It's going to take time and PR to placate the non-technical Project Manager. And, really, if this is the worst thing that he's shitting bricks over, we're doing really well.