Applications and Integration·Task 2.1·Bloom: understand·Difficulty 2/5·8 min read·Updated 2026-07-11

Functional Requirements for Claude Solutions on the Developer Exam

Understanding Requirements (3.4%): Functional and infrastructure requirements based on business requirements and solution architecture.

SUBy Solomon UdohReviewed by Solomon UdohAI-assisted · human-reviewed
In short
A functional requirement for a Claude solution states a behaviour the system must exhibit, expressed concretely enough to test: the inputs it accepts, the outputs it must produce, and the conditions under which each holds. Functional requirements are derived from business requirements and are written before any architecture, model, or tool is selected.

Functional requirements: what the system must do

A functional requirement answers one question about a Claude-powered system: what must it actually do? It names the behaviour the system has to exhibit, the inputs it accepts, and the outputs it must produce, in language concrete enough that someone else could confirm whether the built system meets it. On the Claude Certified Developer - Foundations (CCDV-F) exam, task statement 2.1 opens the Applications and Integration domain with exactly this idea, because everything downstream, from model choice to tool design, only makes sense once the required behaviour is pinned down.

The discipline is easy to state and easy to skip. A functional requirement is not "use Claude to help with support tickets." It is "given a customer email, the system must classify it into one of five queue categories and extract the order number when one is present." The first is a wish; the second is a behaviour you can build to and check against. This knowledge point sits at the understand level, so the exam asks you to recognise well-formed requirements and to see why the ordering, requirements first, matters.

Functional requirement
A statement of a behaviour the system must exhibit, expressed as the inputs it accepts and the outputs it must produce under stated conditions. It is derived from a business requirement and written concretely enough that an acceptance test or evaluation can decide whether the system satisfies it.

Requirements must be testable

The single property that separates a usable functional requirement from a slogan is testability. A requirement is testable when you can take a concrete input, run it through the intended behaviour, and check the output against a stated condition. That property is not a nicety on a Claude project; it is the bridge to evaluation. Because a well-written functional requirement already describes inputs and expected outputs, you can lift evaluation cases and acceptance checks straight out of it. The requirement and the eval are two views of the same statement.

This is why vague requirements are so damaging in AI work specifically. With a deterministic function you might get away with an underspecified requirement because the behaviour is obvious from the code. With a Claude solution the behaviour is probabilistic, so the only way to know whether it is good enough is to measure it against expected outputs. A requirement you cannot turn into a pass or fail check leaves you with nothing to measure, which is the second exam trap on this knowledge point: writing requirements so loose that no eval or acceptance test can be derived from them. When you write "the assistant should be helpful," ask what input and what checkable output would prove it; if you cannot answer, the requirement is not finished.

inputs + outputs
what a functional requirement names
testable
the property that lets an eval be derived from it
before architecture
when functional requirements are written

Business requirements come first, functional requirements next

Functional requirements do not appear from nowhere; they are the translation of business requirements into concrete system behaviour. A business owner says "we want to cut first-response time on support tickets." That is a goal, not a behaviour. Turning it into functional requirements means asking what the system must do to serve that goal: accept an inbound ticket, classify its topic, draft a suggested reply, and flag tickets that need a human. Each of those is a behaviour you can specify and test, and each traces back to the business need that justifies it.

Keeping that translation explicit is what disciplines scope later, which is why this knowledge point feeds directly into mapping business requirements to solution architecture. If a proposed behaviour cannot be traced to a business requirement, it is scope creep; if a business requirement has no functional requirement expressing it, there is a gap. The translation step is where both problems become visible, and it only works if it happens before anyone reaches for a model.

The ordering trap: requirements before model and tools

The defining mistake this knowledge point tests is inverting the order, reaching for a model, an SDK, or a tool integration before the functional requirements are written. It is a tempting mistake because model selection feels like progress. But choosing Opus, or deciding to use tool calling, or committing to a batch pipeline, is an architecture decision, and an architecture decision made before you know the required behaviour is a guess. The requirements decide what the system must do; the model and tools are merely how you will deliver it.

On the exam, a scenario that opens with "the team decided to use the largest model and then began listing what the feature should do" is describing this inversion directly. The correct move is always to define the functional requirements first, because they are what a model choice must later be justified against. This is also the natural boundary with the next knowledge point: once you know what the system must do, you capture the how well, the latency, cost, and availability targets, as infrastructure and non-functional requirements. Functional first, non-functional next, architecture last.

From business need to testable behaviour
Loading diagram...
Behaviour is specified and made testable before any model or tool is selected.

A worked translation

Worked example

A product team wants Claude to help triage inbound support email. A stakeholder says: 'Make the support inbox smarter.'

The stakeholder statement is a business aspiration with no behaviour in it, so nothing can be built or tested from it as written. The first job is to translate it into functional requirements that name inputs and outputs.

The team lands on four. First, given the raw text of an inbound email, the system must assign exactly one of five category labels. Second, when the email references an order, the system must extract the order identifier or return none. Third, for categories billing and technical, the system must produce a draft reply grounded only in the provided knowledge base. Fourth, any email the system labels low confidence must be routed to a human queue rather than auto-answered.

Each of those is testable. You can assemble a set of example emails with known correct categories and check the label; you can supply emails with and without order numbers and check extraction; you can review drafts for grounding. Because the requirements name inputs and outputs, the evaluation set almost writes itself. Notice what has not happened yet: no model has been named, no decision about streaming or batch, no tool schema. That comes next, and every one of those choices will now have a concrete requirement to answer to.

Common misreadings to avoid

Misconception

Choosing the right model is the first step in building a Claude solution.

What's actually true

Model selection is an architecture decision, and it comes after the functional requirements are defined. The requirements state what the system must do; the model is one means of delivering it. Picking the model first locks in a design before you know what it has to satisfy.

Misconception

A functional requirement like 'the assistant should be helpful' is good enough to start building.

What's actually true

That statement is not testable, so no eval or acceptance check can be derived from it. A usable functional requirement names a concrete input and a checkable output condition, which is exactly what lets you measure a probabilistic Claude system against expected behaviour.

How this is tested on the CCDV-F exam

Questions on this knowledge point are recognition questions. A scenario will present a mix of statements and ask which are well-formed functional requirements, or it will describe a team's process and ask what step was skipped or done out of order. The two things the exam trips candidates on are the ordering inversion, selecting a model or tool before requirements exist, and the untestable requirement that cannot become an eval. If you can spot both, you can answer this knowledge point reliably.

Hold onto the throughline: a functional requirement is a testable behaviour translated from a business need and written before any architecture is chosen. Everything else in task statement 2.1, the non-functional targets and the mapping to architecture, is built on top of getting these behaviours right first.

Check your understanding

A team is scoping a Claude feature to summarise legal contracts. Their first artefact reads: 'Use Claude Opus with tool calling to make contract review faster.' What is the most accurate critique?

People also ask

What is a functional requirement for a Claude application?
A statement of behaviour the system must exhibit, such as the inputs it accepts and the outputs it must produce, written concretely enough that an acceptance test or eval can check it.
Why should requirements be defined before choosing a model?
Requirements decide what the system must do; the model, tools, and API mode are how you deliver it. Choosing the model first is an architecture decision made before you know what it must satisfy.
How do you make an AI requirement testable?
Phrase it so a concrete input maps to a checkable output condition, then derive an eval case from it. If no pass/fail check can be written, the requirement is too vague to build against.

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.

References & primary sources

Adaptive study

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.

Start studying