- In short
- Translation is the core discovery move: an experience-level preference such as seamless, fast, or intuitive describes an outcome, not a buildable requirement. The follow-up question -- what would break that experience -- reveals the real constraints, and one vague preference can decompose into several concrete ones such as a latency budget, an integration rule, and a failure-handling rule. A requirement is only usable once it is testable and bounded.
The gap between what stakeholders say and what you can build
Stakeholders speak in preferences; designs are made against constraints. That gap is the whole reason discovery needs a translation step, and the CCAR-P exam treats bridging it as an understand-level skill. When a stakeholder says "we want this to feel seamless," writing down "seamless" as the requirement captures nothing you can design. You have the stakeholder's summary of the experience they want, not the constraint the architecture must satisfy.
This is the core move inside the structured discovery filter: translation. A preference sits on the surface, and one or more constraints sit underneath it. The skill is recognising the preference as a signal to keep digging rather than an item to record and move past.
- Translating preferences into constraints
- The discovery act of treating an experience-level preference (seamless, fast, intuitive) as a signal that more questions are needed, then asking what would break that experience to surface the concrete, testable, bounded constraints hiding underneath it. One preference can decompose into several distinct constraints.
The question that does the translation
The work starts with the next question after the preference: what would make it feel not seamless? That inversion is where hidden constraints begin to appear. Maybe the user should never wait more than a second or two for the next step. Maybe they should not have to re-enter information that already exists upstream. Maybe exceptions should move quietly to a human reviewer instead of surfacing a raw technical error. Maybe the whole workflow must stay inside one application so the user never has to jump between tools.
Each answer sharpens the design, and together they transform one soft word into a set of requirements the architecture must support: a latency target, an integration requirement, a handoff rule, and a safe failure path. The stakeholder names the outcome in business language, and you turn it into something the system can be built against and measured on. When a stakeholder hands you an experience word, treat it as a prompt to ask what would break that experience, what the user must never notice, what has to happen behind the scenes, and what must still be true when something goes wrong.
One preference, several constraints
A crucial subtlety is that a single preference rarely maps to a single constraint. "Seamless" can simultaneously mean a latency budget the user should not notice, a handoff that does not interrupt the flow, and a failure state that must not expose system internals. If you ask one follow-up, get one answer, and stop, you will capture one constraint and silently drop the others. The discipline is to keep probing the same preference from different angles until you are confident the hidden constraints are all on the table.
This is why translation is understand-level rather than mechanical. You are decomposing a fuzzy human goal into its component obligations, and the number of components is not given to you in advance. The stakeholder preference tells you where to investigate; the follow-up questions produce the constraints themselves.
What makes a constraint usable
A constraint is only usable once it is testable and bounded. "Feels fast" fails both tests: there is nothing to measure and no line that separates pass from fail. "P95 response under two seconds at expected production volume" passes both: it names a metric and a boundary, so the design can be built against it and the result can be checked. The endpoint of translation is not just any restatement of the preference; it is a bounded, checkable requirement.
That bar is what keeps translation honest. If your translated requirement still cannot be tested, you have not finished translating, you have only paraphrased. Push each surfaced constraint until it names a number, a rule, or a condition that a later reviewer could verify.
What the exam trips candidates on
The first trap is recording the stakeholder's exact adjective as the requirement. An option that writes "must feel seamless" into the requirements set looks faithful to the stakeholder but is actually a failure of translation, because it captures the preference and none of the constraints underneath. The credited move always replaces the adjective with the bounded constraints it implies.
The second trap is assuming a single follow-up question is enough. A scenario may show an architect asking one clarifying question, getting one answer, and treating the preference as fully translated, while a second distinct constraint hiding in the same word goes uncaptured. The exam rewards recognising that one preference can hide more than one constraint and that translation is not done until they are all surfaced.
Worked example
During discovery for an internal HR assistant, a stakeholder says: 'It should be really simple for employees to use.' The architect asks 'so, minimal clicks?', the stakeholder says yes, and the architect records the requirement as 'UI must be simple, minimal clicks.' What is wrong, and how should this be translated?
Two things are wrong. First, "simple, minimal clicks" is still barely a constraint: it names no boundary and nothing testable. Second, and more importantly, the architect asked one follow-up, got one answer, and stopped, so any other constraint hiding inside "simple" was never surfaced.
Translate properly by asking what would make it feel not simple, from several angles. Maybe employees should never have to re-enter data the HR system already holds, which is an integration constraint. Maybe the assistant must answer from approved policy only and route anything outside that to a human, which is a scope-and-handoff constraint. Maybe a failed lookup must show a helpful fallback rather than an error, which is a failure-path constraint. Maybe a response should return within a couple of seconds, which is a latency constraint.
"Simple" was hiding at least four distinct constraints, and the single-question version captured none of them in testable form. The corrected record has multiple bounded rows, each of which the design can be built against and checked. That is the difference between translating a preference and merely rephrasing it.
Common misreadings to avoid
Misconception
Recording the stakeholder's own words, like 'must feel seamless,' is the most faithful way to capture the requirement.
What's actually true
Misconception
Once you ask a follow-up question and get an answer, the preference has been translated.
What's actually true
How this shows up on the exam
Questions give you a stakeholder statement full of experience words and ask which requirement correctly captures it, or ask you to spot the weakest translation. The dependable reading is that the credited requirement is testable and bounded and replaces the adjective with concrete constraints, and that a preference can decompose into more than one, so an answer that captures only a single constraint or that records the raw adjective is incomplete.
This skill sits between discovery as structured elicitation, which frames why translation is necessary, and the four requirement categories, which give you the buckets to sort translated constraints into. The output of translation becomes the rows of a discovery translation table.
A stakeholder says a document-intake tool 'needs to feel effortless for staff.' Which response best reflects translating this preference into constraints?
People also ask
Why is "seamless" not a usable requirement?
How do you translate a preference into a constraint?
Can one preference hide more than one constraint?
Watch and learn
Official Anthropic Academy lessons first, then hand-picked walkthroughs. Videos load only when you press play.
No videos curated for this concept yet
We are still curating the best official and community videos for this topic.
Official prep for this domain
Anthropic's own free prep module for this part of the syllabus, on the official prep course. Free with an Anthropic Academy sign-in.
References & primary sources
Master this concept with Archie
Practice it inside an adaptive study session. Archie, your Socratic AI tutor, tracks your mastery with Bayesian Knowledge Tracing and schedules the perfect next review.