liveBook · Manning

Requirements

A requirement is a stated need, capability, quality, condition, or constraint that a system, product, solution, or project is expected to satisfy.

How 13 Manning books explain it

Lead Developer Career Guide

A specified capability, behavior, or constraint that a software product or feature must satisfy.

How it is used
Guides feature development and aligns technical work with business needs before design and estimation.
How deep it goes
Develops practical clarification and documentation tactics before implementation and QA, without prescribing a formal specification template.
Examples
Uses vague feature requests and a client presentation that overlooked the client’s technical ideas.
What you can do after
Practice/perform clarifying requirements before work begins, then using them to support estimates, budgets, and QA checks.

Read how Lead Developer Career Guide explains requirements →

BDD in Action, Second Edition

A requirement is a stated capability, condition, or constraint that a software system is expected to satisfy.

How it is used
Guides collaborative discovery of needed behavior, then connects that behavior to implementation and evidence of business value.
How deep it goes
Traces requirements from uncertain goals through examples, executable criteria, changes, and coverage; does not treat initial specifications as complete.
Examples
Uses a train-departure change and an authentication feature with pending single sign-on examples.
What you can do after
Practice/perform collaborative refinement, update acceptance criteria when needs change, and assess which defined requirements remain unimplemented.

Read how BDD in Action, Second Edition explains requirements →

Architecting an Apache Iceberg Lakehouse

A storage requirement is an explicit, testable condition that a storage system or architecture must satisfy.

How it is used
Guides lakehouse architecture and tool evaluation by converting organizational needs into testable decision filters.
How deep it goes
Explains an audit-to-requirements process across five lakehouse layers but stops short of selecting specific tools or vendors.
Examples
Uses residency, encryption, archival, low-latency ingestion, regulatory extracts, shared semantics, and dashboard scenarios as requirement examples.
What you can do after
Apply requirements to compare architectures and tools against business value, constraints, implementation effort, and operational tradeoffs.

Read how Architecting an Apache Iceberg Lakehouse explains requirements →

Delivering Machine Learning Projects: From design to deployment

A requirement is a stated need, capability, quality attribute, constraint, or operational condition that a system or project must address.

How it is used
Turns business objectives into feasibility questions before an ML project commits to delivery.
How deep it goes
Distinguishes functional, nonfunctional, and system requirements, then calls for iterative clarification rather than a fixed upfront specification.
Examples
Uses a large model on a slow processor and an organizational chart marking stakeholder and user touchpoints.
What you can do after
Evaluate/understand whether requested model behavior and operating constraints make an ML project practical before committing resources.

Read how Delivering Machine Learning Projects: From design to deployment explains requirements →

Object-Oriented Software Design in C++

A software requirement is a capability, constraint, or condition that a software system must satisfy.

How it is used
Guides discovery and analysis so developers build the application clients need before refining its internal design.
How deep it goes
Covers quality criteria, elicitation, stated and implied requirements, and initial class analysis, while deferring broader software engineering detail.
Examples
Uses a library card-catalogue automation case involving interviews, observation, customer searches, and prototypes.
What you can do after
Apply interviews, observation, prototypes, validation, and analysis to derive an initial set of application classes.

Read how Object-Oriented Software Design in C++ explains requirements →

Software Design for Python Programmers

A software requirement is a specified capability, constraint, or quality that a software application must satisfy.

How it is used
Guides teams toward building the application clients need before applying techniques to build it well.
How deep it goes
Covers gathering, validation, functional analysis, and initial classes, while deferring detailed requirements engineering.
Examples
Uses client interviews, workplace observation, and a book catalogue with flexible, case-insensitive, wildcard searches.
What you can do after
Apply requirements gathering and analysis to define behavior, identify initial classes, and accommodate later changes.

Read how Software Design for Python Programmers explains requirements →

Build Python Web Apps with Streamlit

Software requirements are stated needs, capabilities, goals, and constraints that a software system is expected to satisfy.

How it is used
Turns an app concept into an agreed scope before user-experience design and implementation.
How deep it goes
Defines capabilities, stakeholders, implementation independence, and exclusions, then stops short of prescribing technical solutions.
Examples
Uses unit-converter and daily to-do-list capabilities alongside explicit exclusions such as currency conversion, logging, export, and persistence.
What you can do after
Apply via a six-step development process to define capabilities, set boundaries, and guide implementation choices.

Read how Build Python Web Apps with Streamlit explains requirements →

Everyday Data Visualization

A stated need, capability, constraint, or condition that a project, product, or system is expected to satisfy.

How it is used
Frames research and planning by identifying what a dashboard must provide before design and development begin.
How deep it goes
Develops requirements through stakeholder interviews into metrics, interactions, audience, time-window, and device constraints.
Examples
Uses a housekeeping scheduling dashboard with occupancy metrics, a movable 30-day view, and desktop-only use.
What you can do after
Apply it to specify dashboard metrics, interaction needs, audience scope, and device constraints with users.

Read how Everyday Data Visualization explains requirements →

Functional Design and Architecture: Examples in Haskell

A requirement is a stated capability, constraint, or goal that a software system must satisfy.

How it is used
Guides software design and testing by stating required capabilities and system properties.
How deep it goes
Defines functional and nonfunctional categories with examples, then applies them to contracts and testing.
Examples
Uses spacecraft manual and automatic control, fault tolerance, security, compatibility, and testing contracts as concrete examples.
What you can do after
Evaluate software against functional and nonfunctional expectations through contracts, tests, and design decisions.

Read how Functional Design and Architecture: Examples in Haskell explains requirements →

Coding with AI

Software requirements are specified capabilities, constraints, and qualities that a software system must satisfy.

How it is used
Guides design-document analysis, AI prompting, user-story creation, and application scaffolding.
How deep it goes
Explains extraction steps, structured prompts, user stories, stubs, and validation, but stops short of formal requirements specification.
Examples
Uses a HAM radio test-preparation application, question-pool requirements, random question selection, UI needs, and email-validation prompts.
What you can do after
Apply it via ChatGPT or Gemini to extract, structure, validate, and transform design details into implementation-ready stories and stubs.

Read how Coding with AI explains requirements →

"Looks Good to Me"

A requested capability, behavior, or constraint that software is expected to satisfy.

How it is used
Aligns implementation with business requests and acceptance criteria during feature development and code review.
How deep it goes
Connects requirements to feature discussion and acceptance criteria, but does not prescribe a formal requirements method.
Examples
Uses incomplete pull requests and implementations that solve the wrong problem as failure examples.
What you can do after
Diagnose whether implementation addresses business requests and agreed acceptance criteria.

Read how "Looks Good to Me" explains requirements →

Collaborative Software Design: How to facilitate domain modeling decisions

A requirement is a stated need, constraint, or capability that a software system is expected to satisfy.

How it is used
Guides software design by expressing user needs before implementation and coordinating stakeholders with developers.
How deep it goes
Contrasts user requirements with implementation details and explains handoff failures, but stops short of a detailed elicitation procedure.
Examples
Uses BigScreen’s back-office reporting, movie-run extensions, database queries, Excel exports, and inaccurate performance metrics.
What you can do after
Diagnose requirements failures by tracing incomplete handoffs, implementation-led stories, and developer assumptions back to the design process.

Read how Collaborative Software Design: How to facilitate domain modeling decisions explains requirements →

Design for Developers

A business need or constraint is a product or project outcome that an organization expects to satisfy.

How it is used
Guides content grouping, wireframing, design approval, testing, and iterative development.
How deep it goes
Defines requirements within a four-phase user-centered process but does not detail formal requirements documentation.
Examples
Uses buying products, booking appointments, comparing hotels, content layouts, wireframes, and approved MVPs.
What you can do after
Apply it via user-centered design to decide when a design is ready for testing and iteration.

Read how Design for Developers explains requirements →

Related concepts

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.