Nonfunctional requirement
A nonfunctional requirement specifies a quality attribute, constraint, or operating condition that a system must satisfy beyond the particular functions it performs.
Delivering Machine Learning Projects: From design to deployment
A nonfunctional property describes an operational characteristic of data, such as its scale, speed, history, or update frequency.
- How it is used
- Constrains whether an ML solution can serve its business purpose within practical operating limits.
- How deep it goes
- Defines the constraint, identifies properties to capture and test, and carries them into production without specifying a benchmark protocol.
- Examples
- Uses a recommendation priced below $0.0001 and delivered within 200 ms, plus cold starts and parallel execution.
- What you can do after
- Practice/perform requirements capture with discovery tickets and story cards, then test candidate models against operational constraints.
Software Design for Python Programmers
A nonfunctional requirement is a requirement specifying a quality, constraint, or condition on how an application operates rather than a specific capability.
- How it is used
- Defines operational constraints that guide application requirements, use cases, specifications, and validation.
- How deep it goes
- Explains definition, categories, wording, elicitation, use-case context, and black-box verification, without prescribing implementation designs.
- Examples
- Uses search latency, operating-system support, interface similarity, and multilingual messages in a book-catalogue application.
- What you can do after
- Evaluate application success by stating observable constraints and verifying them through external black-box tests.
Read how Software Design for Python Programmers explains nonfunctional requirement →
Object-Oriented Software Design in C++
A requirement that imposes a constraint on an application's qualities, operation, environment, or implementation-independent behavior rather than specifying a discrete feature.
- How it is used
- Guides requirements gathering and application planning by constraining performance, platforms, maintainability, and practical functionality.
- How deep it goes
- Defines constraints, gives book-catalogue examples, and links them to use cases and black-box tests, but stops short of implementation design.
- Examples
- Uses book-search latency, operating-system support, interface similarity, and multilingual messages as concrete constraints.
- What you can do after
- Evaluate/understand application constraints and express them as strong, implementation-independent requirements that can be tested.
Read how Object-Oriented Software Design in C++ explains nonfunctional requirement →
Kafka for Architects
A non-functional requirement specifies a quality attribute, constraint, or operational characteristic of a system rather than a business function.
- How it is used
- Guides Kafka platform selection, cluster sizing, client tuning, cost estimates, and performance validation.
- How deep it goes
- Develops a requirements-gathering checklist for message size, latency, and throughput, then connects those targets to load testing.
- Examples
- Uses average and maximum message sizes, distinct latency stages, and a throughput scenario with daily volume, bursts, and backlog clearance.
- What you can do after
- Practice defining measurable Kafka operating targets and evaluating a configuration against them with performance tests.
Read how Kafka for Architects explains nonfunctional requirement →
Functional Design and Architecture: Examples in Haskell
A nonfunctional requirement specifies general qualities or operational constraints of an application rather than specific functions.
- How it is used
- Frames application design around qualities and constraints beyond required functionality.
- How deep it goes
- Defines the category and distinguishes it from functional requirements through spacecraft properties and maintainability concerns.
- Examples
- Uses spacecraft reliability, fault tolerance, continuous operation, security, compatibility, capacity, and latency as examples.
- What you can do after
- Evaluate design goals by separating required behavior from qualities that constrain implementation and future maintenance.
Machine Learning System Design
A requirement that specifies qualities or operational constraints of a system, such as performance, security, or portability.
- How it is used
- Frames ML risks, system qualities, and operating constraints as requirements alongside feature functionality.
- How deep it goes
- Defines the functional distinction and applies it to risk modeling and operational concerns without detailing a complete requirements taxonomy.
- Examples
- Uses a real-time dynamic pricing system and concrete worst-case-risk questions to illustrate requirements.
- What you can do after
- Evaluate an ML system by identifying protections, operating connections, and constraints beyond its user-facing functionality.
Read how Machine Learning System Design explains nonfunctional requirement →
Related concepts
- requirementskind of · A requirement is a stated need, capability, quality, condition, or constraint that a system, product, solution, or project is expected to satisfy.
- functional requirementcontrasts with · A functional requirement specifies a behavior or capability that a system must provide or enable.
- scalabilityincludes · Scalability is the ability of a system, process, or method to accommodate increasing workload, size, or demand while maintaining acceptable operation.
- performanceincludes · Performance is the measurable effectiveness or operational behavior of a system under specified conditions, assessed through relevant qualities such as task results, speed, responsiveness, throughput, or resource use.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.





