liveBook · Manning

Functional requirement

As explained in Kafka for Architects

A functional requirement specifies a capability or behavior that a system must provide.

A functional requirement specifies a capability or behavior that a system must provide. In Kafka architecture, it translates a business use case into explicit topic, producer, consumer, schema, and consumption decisions. It also helps determine whether Kafka fits the use case before teams commit to implementation. section 10.0 section 10.5

Formalize functional requirements for each Kafka topic by recording:

  • The related business events, preserving traceability from business intent to technical implementation. section 10.1.3
  • Producer and consumer service identifiers, including expected consumer groups. section 10.1.3
  • The consumer assignment strategy and consumption model, including whether partitions support one or multiple consumers within a group. section 10.1.3
  • Topic naming, replication factor, partition count, ordering, retention, and data sensitivity where these shape the topic design. section 10.1.3 section 10.5
  • Event correlation needs and schema behavior, including fixed or evolving fields and optional attributes. section 10.1.3

Functional requirements differ from nonfunctional requirements, although the two influence each other. Functional requirements describe what the event-driven solution must support; nonfunctional requirements inform infrastructure sizing, cost, service levels, latency, throughput, and message-size decisions. Capturing both prevents an initially successful prototype from becoming difficult to operate or govern. section 1.6.1 section 10.0

Correlating an approval workflow

An approval process may depend on both risk and compliance checks. Its functional requirements should identify the participating events, define a shared identifier such as applicationId or caseId, describe the event schema, and record which services consume the resulting topic. section 10.1.3

How Kafka for Architects covers it

How deep it goes
Enumerates topic-level fields and design decisions, but leaves infrastructure sizing and tuning to nonfunctional requirements.
Examples
Uses approval workflows, risk and compliance checks, shared identifiers, event schemas, consumer groups, and topic definitions.
What it assumes
Assumes a defined business event or use case, while requiring explicit documentation of producers, consumers, schemas, and topic behavior.
What you can do after
Apply it via AsyncAPI or organizational data-definition systems to document topics, clients, schemas, and consumption behavior.
How it connects
Connects business events, event correlation, event schemas, consumer groups, topic design, data contracts, and nonfunctional requirements.

Also explained in

Compare how 6 books explain functional requirement →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kafka for Architects. The section links point to the parts of the book it draws on.