The complexity of simplicity
Problems are hard to solve, and very hard problems are very hard to solve. But what if someone comes to you demanding that something complicated needs to be made simple? You might think it’s impossible, until you realize that you and the other person may not completely understand the problem. How for example do you reconcile a request for seven perpendicular lines?
In this video the “expert” is seen as the down-trodden hero. But very frequently, those of us who are developers are proud and foolish, and conflicts are our fault for not being able to properly communicate our concerns.
In the past I would have responded to the seven perpendicular lines problem by quietly going away and creating a complex seven-dimensional matrix, with two-dimensional cross sections. This would provide a solution to the problem mentioned, but not the problem the user actually had. Nowadays I would realize that when they said perpendicular lines they likely just meant joined lines. I would even ask questions like “why exactly seven lines?” Perhaps they chose seven because they thought they would be charged per line.
“… It is a lovely language, but it takes a very long time saying anything in it, because we do not say anything in it, unless it is worth taking a long time to say, and to listen to.”
― Treebeard, J.R.R. Tolkien, The Two Towers
Nowadays I try and follow these four rules to make sure we get to the best solution to a problem.
1. Always address the problem.
Usually when people are fixated on the viability of solutions, conflict arises. Instead, always bring the discussion back to the problem.
- “What are we trying to solve here?”
- “Is that the root problem?”
- “Can we think of this another way?”
2. Always validate the good first, then invalidate the bad.
People are sensitive; soften the blow of constructive criticism by highlighting any good parts of an idea first. It is extremely important to invalidate the bad parts of an idea if you see problems.
- “That’s a good idea, but what about …”
- “That addresses that part of the problem well, but not the other part.”
- “I like your train of thought; lets try it out on a few scenarios.”
3. Always pause
Silence is awkward, but it’s also golden. People need time to think. Furthermore you’ll just be seen as obnoxious if you are continually talking. Very rarely do you need to rush into a decision within a split second.
- “This is complicated; can we come back to it later?”
- “Can we take time to think about this?”
- “Let’s all think about it overnight and see what we can come up with.”
4. Always listen
Maybe–just maybe–your idea isn’t the best idea. Or you misunderstood the problem or solution. Assume you can be wrong.
- “Could you explain in more detail?”
- “What did you mean when you said…?”
- “So to paraphrase the problem is…?”
“The plans of the diligent lead surely to abundance, but everyone who is hasty comes only to poverty.” – Book of Proverbs