Light bulb

In the industry, there’s this widespread joke. Whatever the question you ask a consultant, the answer will be:

It depends.

This joke is meant to highlight that consultants never give a straight answer to a simple question, because they don’t want to take any responsibility. While I understand the frustration of the business when faced with this situation, I’d like to write about the other side of the fence.

Let’s enlarge the scope: in the IT industry, it’s probably more about every developer rather than only consultants. But why is this answer so common? For one single reason: if the question - deemed simple by the person asking, doesn’t provide enough context - and they rarely do, then the answer cannot be any other.

Let’s highlight that with a simple question:

What’s the best transportation?

Guess what? There’s no right answer to that, because no context has been provided. For example, context parameters that could help refine the answer include:

  • the distance, do you expect to move 200 meters or 200 kilometers?
  • the nature of the terrain, road vs. land vs. water
  • the time constraint
  • the expected comfort level
  • the cost
  • the physical condition - it’s hard to consider running/biking when in bad shape
  • for some, the pollution
  • etc.

I hope this pretty down-to-earth example makes those who ask questions realize that the quality of the answer is heavily constrained by the quality of the question - garbage in, garbage out.

I could stop there and everyone would ponder how stupid the business is, but every coin has 2 sides. In general, developers don’t react in a constructive way to context-less questions: "It depends", "I don’t know", "I have no clue", "Nobody can answer that", or even "That’s a stupid question" are comments I’ve heard already. If you’re a developer and reading this post, know it’s your job to guide the business. What do they know about scalability, databases, and so on? Probably nothing because it’s not their job. So, pro-actively guide them through questions. With the example above, the following could be an actual dialog:

"What’s the best transportation?
- Where do you want to go?
- Munich
- Ok, what’s your starting point?
- Home
- Ah…​ Where’s you home located?
- Germany
- Which city in Germany?
- etc."

I’m very aware that most developers - including myself, don’t like to talk to the business so much. I mean, that’s the reason most of us chose to work in IT, because we are more comfortable talking to computers than people. But in essence, it changes nothing.

Be professional, ask for context instead of ditching the question.