Click here to Skip to main content
15,881,687 members
Articles / All Topics

Leaving Solution Land

Rate me:
Please Sign up or sign in to vote.
5.00/5 (2 votes)
25 Mar 2012CPOL3 min read 8.4K   2   2
There is a big difference between figuring out what to do and why to do something.

Most devs I know are problem solvers by nature. We’re naturally inclined to start finding solutions as soon as we hear a problem stated.

Yet no matter how satisfying it may be to immediately board the bus to Solution Land, it is always worth it to take a moment and ask ourselves a simple question: “Do I actually understand the problem?“. Allow me to illustrate with a humorous anecdote.

“Make My Screen Transparent”

A few years ago, a development team for an “enterpris-y” desktop application got a request from a power user to make the screen optionally transparent. Not only that, this user wanted the ability to control which portion of the screen would be transparent.

Almost immediately, the team started brain storming:

  • “Ok, transparency should be simple enough if there aren’t a lot of controls on the screen”
  • “What happens if the user is trying to interact with the transparent part?”
  • “Is the transparency a binary setting or can you vary it?”
  • “What would the UI for this look like? How about a slider on one side of the page that he can use to control opacity?”

After some time had passed, someone finally said:

  • “You know, this is going to be pretty difficult to get done, right. Also, I’m not sure exactly why we need to do this in the first place. Should we talk to this guy first?”

And so they did. After asking why he needed this functionality, the user said that he had to work in multiple applications and really wanted to see one of them while working in the other. Making the screen transparent was in his mind the obvious solution.

Hearing this, one of the devs said:

  • “Is there a reason why dual monitors won’t work for you?”.
  • “Dual monitors?” answered the user. “Wait, are you telling me I can connect more than one monitor to my computer?”

But What About Paralysis by Analysis?

Having the discipline to define the problem first is really hard. Moreover, defining the problem correctly is even harder. It’s easy to get antsy and start trying to “do something”.

In fact, a mistake I used to make frequently is confusing inaction with indecision. “Why aren’t we doing something already?” I’d say, “Isn’t this paralysis by analysis?“.

Well, there is a big difference between figuring out what to do and why to do something. If you understand why you have to do something but are struggling to decide what to do, you should just pick a direction and go for it. After all, the reason you’re struggling is likely because the right choice isn’t obvious and no amount of hand-wringing will change that.

However, if the why isn’t clear or well understood, picking a solution won’t help. Unless you want to make the screen transparent.

You May Also Like


This article was originally posted at http://tatiyants.com?p=1809

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy vote of 5 Pin
pietvredeveld25-Mar-12 10:40
pietvredeveld25-Mar-12 10:40 
GeneralMy vote of 5 Pin
Dave Cross25-Mar-12 9:39
professionalDave Cross25-Mar-12 9:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.