Archive

Archive for August, 2014

A Bad Solution or No Solution?

August 26, 2014 Comments off

Solving problems can be hard. There’s always a temptation to do something about a problem, even if that something is less than ideal, to meet deadlines, appease stakeholders, or just avoid feeling helpless.

There’s certainly nothing inherently wrong with implementing a partial solution. Solving part of the problem is, all else being equal, better than not solving any of it. In programming, partial solutions are an industry standard: Nearly every methodology I know of is iterative to at least some extent, and at any rate, I’m pretty sure the waterfall approach is not a good fit for any project that takes more than five minutes to complete.

There are other cases, though, when it’s better to wait until you have a complete solution before implementing anything. Take politics for instance: Iteration is extremely slow, as you have to get solutions hashed out by one or more legislative bodies and then probably turned over to other parties for final approval. This all depends on your particular form of government, of course, but if your government lets officials make decisions quickly and without opposition, I’d suggest that you may have other problems. (That’s a discussion for another time, though, and probably another blog.) Depending on the situation, it may be prudent to design a solution that can be approved and implemented in pieces, but in other cases it may be better to wait and come up with a solution that works as a coherent whole, and then work on getting that approved.

With partial solutions, the most important thing is to ensure that everyone knows it’s a partial solution. Thinking that your partial solution has solved your entire problem is one of the many ways to create a bad solution.

A bad solution is one that doesn’t work, or worse, causes more problems. Often, they get implemented without anyone (or at least the decision-makers) knowing how bad they are. Even once you know you have a bad solution, it’s often more difficult or time-consuming to fix it than it would have been to come up with a good solution in the first place.

That, for me at least, is why no solution at all is better than a bad one. When you have one unsolved problem, you have one problem and you know it. When you implement a bad solution, now you have two problems and you may well not know it. In software development, this means increased deployment time and cost, and possibly re-training users. In politics, and probably most other fields as well, you’ll face additional opposition in implementing a good solution: You’ll probably have to work to convince people that the problem isn’t really solved yet, and it’s likely that people will be too afraid of losing face to admit that the previous solution was bad. Another example is the medical field, where the damage bad solutions can do should be obvious, but I’ll leave the gory details to your imagination.

I admit there may be cases in which even a solution that does some harm might help more than it hurts, so arguably a bad solution would be better than none, though I’d think that might qualify as a partial solution rather than a bad one. In general, however, I’m pretty confident in saying that a bad solution is worse than no solution at all. It’s better to put the time and effort into a good solution than to do something for the sake of having done something.

Categories: Uncategorized Tags: