Functional Requirement
Discussion
A Functional Requirement specifies a behavior that a system, component, service, actor, or process is required to perform.
The required behavior may include:
-
Creating information or an Artifact
-
Receiving or retrieving information
-
Processing information
-
Transforming information
-
Validating information
-
Comparing values or states
-
Selecting an applicable input
-
Producing a result
-
Recording an event or outcome
-
Applying a configuration
-
Performing a deployment
-
Enforcing a rule or constraint
-
Coordinating an interaction
-
Responding to an event
-
Changing a Lifecycle state
A Functional Requirement identifies what the responsible subject performs without prescribing unnecessary implementation detail.
A Functional Requirement should identify, as applicable:
-
The responsible subject
-
The input or triggering condition
-
The required operation
-
The object affected by the operation
-
The required result
-
The applicable conditions
-
The observable outcome
A Functional Requirement differs from an Operational Requirement:
-
A Functional Requirement specifies behavior that a subject performs
-
An Operational Requirement specifies an operational condition, capability, constraint, or interaction associated with operation of the system within its intended environment
A Functional Requirement differs from a Mission Objective:
-
A Mission Objective states a high-level result that the system achieves in furtherance of its mission
-
A Functional Requirement specifies behavior that realizes or contributes to that result
A Functional Requirement also differs from a quality requirement:
-
A Functional Requirement specifies what behavior occurs
-
A quality requirement specifies a measurable characteristic or constraint associated with the system or its behavior
A Functional Requirement may be constrained by performance, security, reliability, usability, maintainability, logging, data-management, and interoperability requirements.
Definition
requirement that specifies a behavior a subject is required to perform
Source
Dido Solutions, Inc. and Jackrabbit Consulting, Inc.
Note
A Functional Requirement should use a direct and testable verb.
Examples of direct functional verbs include:
-
Create
-
Retrieve
-
Compare
-
Validate
-
Produce
-
Record
-
Apply
-
Transform
-
Select
-
Reject
-
Preserve
-
Resolve
Weak verbs such as support, enable, provide, and broad uses of manage should be replaced when they do not identify the required behavior.
A Functional Requirement should remain atomic. A requirement is atomic when it states one primary required behavior or result that can be evaluated independently.
Verification criteria should evaluate only the behavior stated by the Functional Requirement and should not introduce additional normative obligations.
A Functional Requirement does not need to identify a particular algorithm, product, programming language, platform, interface technology, or implementation method unless the applicable architecture requires that constraint.
Example
A Functional Requirement states that Crucible SHALL produce a resolved Infrastructure Configuration by combining inherited configuration values with explicit child overrides.
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.