Day 6 – Ditch the Debugger

Like a fool I missed the obvious. Most of my day and some of the teams was spent trying to get to the bottom of a “Item not found in Dictionary” error on my install test site. During development I would have just attached a debugger and quickly discovered that the item wasn’t in the dictionary because I hadn’t got the latest database from source control this morning. We ended up on a wild goose chase involving thread synchronisation issues. Had we just raised a more useful error or added some trace information to our code we would have had it fixed in seconds.

So what was the root cause of this problem? Was it really my carelessness or was it our incomplete code that could have thrown a more meaningful error? Well I guess it was both but the danger of relying on debuggers is starting to become clear to me. You only have to add defensive code once and you won’t need to attach a debugger to solve the problem again (saving time in the long run).

If we say the code is incomplete we need to recognise that because the cost of this incompleteness is not immediate it is so much greater. These lessons just reinforce the principles of Scrum and Lean Software Development.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: