The Apropos show with Alex Miller was great. I love talking with him. This week, we have another Alex, Alex Engelberg. Please join us on YouTube on Tuesday. You can ask us questions in the chat.
Have you seen Grokking Simplicity, my book for beginners to functional programming? Please check it out or recommend it to a friend. You can also get it from Manning.
Beyond “It depends”
"It depends." It's so common as an answer that it has become a joke. Programmers, architects, and consultants throw around "it depends" to evoke the complexity of every decision they make.
The Problem with "It Depends"
I've worked with many business people who want certainty. For them, certainty signals they've hired the right person. It means they can relax about this part of the business and go handle other pressing matters. "It depends" attempts to communicate that "certainty is not an option yet," but it falls short in three critical ways:
It comes across as socially dismissive. When I'm on the receiving end, it feels like I'm being told they have an answer but I can't understand it.
It creates an awkward conversation dynamic. "Depends on what?" becomes the obvious next response, putting the burden back on the questioner.
It falsely suggests that complexity is under control—just tell me the dependencies and we'll solve it. Complex situations rarely work that way.
Complexity in Real Questions
Let's make this concrete with a specific example:
> "For our new system, should we use synchronous or asynchronous communication?"
This is a complex question that definitely depends on context. However, simply listing dependencies isn't enough. What's required is an active discovery phase where you're uncovering the context together. Context isn't something predetermined—it's what you discover through exploration.
To answer the sync/async question properly, we need to investigate:
Message volume and maximum rates
Necessary synchronous calls (like HTTP API requirements)
Response time requirements
System resilience needs
Development team expertise
Future scalability considerations
A Better Alternative
We need a phrase that:
Involves the person seeking answers in the discovery process
Validates them for asking the question
Acknowledges shared uncertainty
Provides confidence that progress will be made
The phrase I propose to replace “it depends” is: "That's the right question."
The choice between synchronous and asynchronous communication is important. It should remain top of mind while uncovering context. All the information discovered should inform this fundamental question. It is, indeed, the right question to be asking.
Why This Works Better
As a response, “That's the right question” is socially stronger. It validates the person who asked it: "Yes! You're looking at the right things." It includes them in the search for answers. And it conveys confidence by showing certainty that their question is valuable and that you're equipped to help find the answer.
What do you think about "that's the right question" as an alternative? Do you have experience using this phrase? Are there other expressions you've found effective when navigating complexity with clients or colleagues?
I think "that's the right question" has some problems as well:
- It gives the impression that I know what the right question is
- It conveys nothing about my ability to give any meaningful input
- Is there only one right question?
Personally, I use "It depends" only in the context where I'm pretty sure my opposite understands that I am using it as a kind of joke (and that an answer might take longer than expected and will involve participation). As such, I think the phrase is doing all right.