Comparisons

Pairs engineers genuinely confuse — goal and implementation, MVP and bad prototype, prototype and spike, reversible and irreversible. Neither column wins; what decides is the problem. Each record leads with the confusion, because the confusion is what it costs.

Goal vs implementation

What people get wrong about this pair

Requests arrive as implementations — "add a Redis cache to the product page", "build a dashboard", "we need a queue" — and get built as asked, so the team delivers the implementation and nobody checks whether the goal moved. The requester is not wrong to phrase it that way; they are describing the only solution they can picture. The cost is that the goal is never written down, so it cannot be tested against, and a cheaper solution — an index instead of a cache, a weekly email instead of a dashboard — is never on the table. The strongest form of the other side is that an experienced requester often has good reasons for the implementation they named, and treating every request as a framing exercise is condescending and slow; the honest move is to ask for the goal in one sentence and then take the named implementation seriously as the first candidate.

Goal — what would be different for the requester if this existed
Use it when

At the start of every request, and again whenever a ticket arrives already naming a technology. The goal is the thing you can check the finished work against.

Implementation — a particular way of making that difference
Use it when

Once the goal is written and the constraints are known — then implementations can be compared, and one chosen, against the goal.

AspectGoal — what would be different for the requester if this existedImplementation — a particular way of making that difference
How it is phrased"Product pages should load fast enough that people do not leave""Add a Redis cache to the product page"
Can be checked againstA measurement of the outcomeWhether the thing exists
Number of solutionsSeveral, to be comparedOne, already chosen
Who supplies itThe person with the problemOften the same person, describing the only solution they can picture
When it is knownBefore any designAfter the goal and the constraints
Typical mistakeGoal so vague it cannot be missed — "make it better"Built exactly as asked; goal untouched