You may remember singing There’s a Hole in Bucket when you were younger.  This is the song where boys sing the part of Henry, the poor guy who desperately needs to fix his bucket, and girls sing the part of Liza, his wife, who dreams up the fix. 

There’s a hole in the bucket, dear Liza, dear Liza,
There’s a hole in the bucket, dear Liza, a hole.

So fix it dear Henry, dear Henry, dear Henry,
So fix it dear Henry, dear Henry, fix it.

With what should I fix it, dear Liza, dear Liza,
With what should I fix it, dear Liza, with what?

 

The song begins with a simple problem. Unfortunately, in the process of patching the hole, Henry encounters issue after issue and, in the end, the hole is virtually impossible to fix.  Of course, we see the err of Henry’s ways.  He lost sight of the problem  because he was sidetracked by other problems which he introduced.  We may laugh at Henry, but we fall victim to this same mistake in software development all the time. 

A few years back, I spent a lot of time trying to speed up a query which was hitting a single table over a linked server connection.  I called in a number of people for help and, though we all learned a lot about SQL optimization in the process, we were working on the wrong problem.  I needed to pull data from a table. That’s it! The fact that my query was performing slowly was a completely different problem and a big distraction. I didn’t realize this, however, until someone was smart enough to step back and ask “What is the problem we are trying to solve again?”  Once our focus was back on the problem, we reassessed the solution and 30 minutes later we were hitting the table directly and the expected results were coming back quickly. 

Of course, we don’t only get off track when coding.  The same thing happens in meetings.  Though we may start off with the intension of addressing concerns that a primary server is running dangerously low on disk space, the conversation may take any number of twists and turns.  In this case, maybe focus shifts to how to get approval to work through a different hardware vendor, how can we speed up the company’s reimbursement program, or what can we do to make sure that the group responsible for maintaining the servers actually maintains the servers.  Whatever the case, let’s hope there is somebody in the room willing to ask “What is the problem we are trying to solve again?”  If you are lucky, you may actually walk out of the meeting with a fix to the disk space issue.

If you do find yourself down the wrong path, put your focus back on the problem and ask yourself Henry’s question (”With what should I fix it?”) again.  A better solution is more likely to come to you without the unnecessary distraction of other problems. 

I bet this advice would have helped out that poor old woman who swallowed a fly…