Solving The Wrong Problem Is Better Than Doing Nothing

Some people call it analysis paralysis, some call it over thinking.  The fear of doing the wrong thing often causes us to do nothing at all.  Sometimes we know what the desired end result should be, but we just aren't sure what the right way to get there is.  Sometimes we don't even know what we're trying to build, but management wants it finished ASAP!  

I run into this a lot with my personal projects; I have a general idea for a cool new webapp or feature for an existing project, but I don't have the details nailed down in my head, and when I sit down to code I end up just sitting there trying to figure out what needs to be done.  

This isn't just a side effect of working alone, it can happen in groups too. In fact I would almost argue that it can be worse when there are more people involved, because there are more people to come up with ideas, and the more ideas there are the longer it takes to actually do something.  When you're trying to be creative, more ideas are better, but once it's time to build something, those ideas need to be consolidated down into actual decisions, and that can be hard to do when you're dealing with a group.  Somebody has to take responsibility, someone has to say "this is what we're going to do, lets move on."

The fear of building the wrong thing, of wasting effort, it can easily keep you from accomplishing anything.  So the question is, is it better to build the wrong thing than to build nothing at all?  

My very first Django project was a little bartering tool called I've Got What You Need (http://www.igwyn.com).  I tried to spread the word for a while, added a lot of features I thought would be helpful, and posted a lot of my own skills and surplus belongings on there as being available for barter.  After a while I moved on to other projects, figuring CraigsList had the local barter market pretty much wrapped up.  Fast forward two years and I needed a quick fix for determining geolocation between two zip codes.  Hey, I did that for IGWYN!  And it worked!  A little code reuse later and I had a fix for my current project, saving myself hours of trying to implement this feature from scratch.  If I had ever considered that first project to be a waste (which I didn't, but if I had) then it surely would have paid for itself in terms of time spent with this one event.

A fork in the road shouldn't be a stop sign, it's a chance to make a decision, or to take a guess, or to close your eyes, spin around, and start walking.  Just don't stop moving.


Next entry

Previous entry

Similar entries