Ask 'what was your reasoning?' not 'why did you do it this way?'
In code reviews or technical evaluations, frame feedback requests as requests for reasoning rather than requests for justification—ask 'What was your reasoning?' instead of 'Why did you do it this way?'—because the first activates analytical explanation while the second activates defensive explanation.
Why This Is a Rule
"Why did you do it this way?" and "What was your reasoning?" ask for the same information but activate different psychological responses. "Why did you do it this way?" implies the approach is wrong and demands justification. The word "why" combined with "this way" (emphasizing the specific choice over alternatives) puts the author on defense. Their explanation will be structured to protect the decision rather than to illuminate the thinking.
"What was your reasoning?" is neutral about the outcome and curious about the process. It frames the author as a thinker with reasons rather than a defendant with excuses. The resulting explanation is analytical — walking through tradeoffs, constraints, and considerations — rather than defensive — arguing why the choice was correct despite objections.
The difference is one word and a tiny shift in framing, but the downstream effect on code review culture is enormous. Teams where reviewers ask about reasoning produce richer technical discussions. Teams where reviewers demand justification produce defensive authors who pre-argue their code in comments rather than improving it.
When This Fires
- Writing code review comments that question a design decision
- Giving technical feedback in architecture reviews or design documents
- Asking about decisions in post-mortems or retrospectives
- Any technical evaluation where you want to understand before judging
Common Failure Mode
Using the "right" words while conveying the "wrong" tone. "What was your reasoning for this... interesting approach?" is sarcasm wearing curiosity's clothing. The author can tell the difference. Genuine curiosity requires genuine uncertainty — you have to actually wonder what the reasoning was, not just use the phrase as a polite wrapper for your judgment.
The Protocol
Before writing a code review comment that questions a decision: (1) Check your intent — are you asking because you're genuinely curious, or because you've already decided it's wrong? (2) If genuinely curious: "What was your reasoning for [specific choice]?" (3) If you have a concern: "I see [specific observation]. I'm wondering about [specific tradeoff]. What was your reasoning?" (4) Read the response looking for constraints or context you missed, not for weaknesses in their argument.