That’s the Reason Not the Solution
I have seen this come up a lot in in my lifetime, long before I got into computers and software development. Often times someone will present a problem, and other people will comment or explain the reasons for the problem instead of trying to find a solution. It reminds me of the phrase “Excuses excuses excuses”, which is one of my pet peeves when someone says that.
When I was younger the situation presented itself in a scenario like the following:
Me: I want to go over to Billy’s house.
Mother: You can’t go over to Billy’s house because it is dark and raining outside, so it isn't safe.
What my mother said is perfectly valid, either me walking or riding my bike wouldn’t be safe, thus I can’t visit my friend. But really, those are just reasons for me not to go over to friend’s house. That doesn't really help me. A solution to problem might be to get a ride from my mother over to my friend’s house.
So how does this manifest itself in software?
I was in a meeting a while ago and the conversation when like this:
John: We need to improve the performance of website Foo.
Jim: Well, the website has to authenticate with service Bar. Then we have to query service Baz. And finally we have to use algorithm X to compile the data into a presentable form for the user. And our servers are running program Y in the background while this is happening.
Then a very long discussion about those actions took place, and there was no real outcome.
I fall prey to this problem a lot. I start thinking about the problem but the only thing that comes to mind is the reasons it is happening. I noticed that more I am about avoid thinking about the reasons, and able to focus on solving the problem, I am able to come up with better and more creative ideas. One tactic I have noticed helps to accomplish this is to present the problem to someone who doesn’t know anything about the reasons for the problem. Then try to get them to give you a solution, and you never know, it might be something so obvious you never saw it yourself.
Comments
- Anonymous
August 25, 2008
PingBack from http://housesfunnywallpaper.cn/?p=2371 - Anonymous
August 29, 2008
While I agree that getting an outside uninformed opinion is an often good last resort, I think it's better off being just that: a last resort. In order to come up with a good solution to a problem people need to know the reasons the problem could be arising from.For example if you say "my sandwich doesn't taste good" ... that's a prefectly valid problem. You could get uninformed solutions like "use different bread" or "check the expiration date." But if you don't know that the sandwich is of type 'grilled cheese' and that the cook time was '45 minutes', you would never come up with correct solution of "cook it for less time."Another way you could look at it is problem size. If you present someone with a problem and they cannot come up with an immediate answer, a very effective way to try to solve it is to break it down into smaller problems. In order to break the original problem down, you need to know specific factors that could play into the problem (i.e. the reasons).