Software delivery rarely begins with a complete and internally consistent specification. It begins with a need, obligation, problem, opportunity, defect, risk, or requested change. Some requirements are precise; others are clear only at the level of a desired outcome. Most must be interpreted against product and organizational context, including existing behavior, constraints, architecture, domain meaning, dependencies, decision history, business processes, and shared terminology.
Specification-First Delivery treats that interpretation as part of engineering delivery. A requirement must be understood in the context of the existing Shared Knowledge System, and material questions must be resolved by the appropriate accountable roles. In the usual delivery path, the requirement opens an increment and structured discussion is the first substantive activity within that iteration.
Structured discussion can also establish durable knowledge, such as product terminology, an architecture position, or a competitor analysis, without proposing an immediate software change. That discussion still requires evidence, review, and clear authority, while its direct outcome is an addition to the Knowledge System that can guide later decisions and delivery.
This paper defines those two uses and then concentrates on the more common one: using structured discussion to shape a delivery increment, prepare any applicable specialized specifications, and establish the inputs for technical specifications. Trusted Increments and Acceptance Evidence develops the final part of that lifecycle, where verification, conformance review, and accountable acceptance establish the resulting product state.
Start an increment
A feature, bug fix, operational change, or other delivery need opens an increment. Structured discussion shapes its intent, scope, decisions, dependencies, specialized specification needs, technical specification inputs, and acceptance basis.
1. Requirements: Definition, Sources, and Authority
A requirement expresses a desired condition, obligation, constraint, or change that is relevant to the product. It can describe behavior that users need, a rule the product must satisfy, an operational property that must be preserved, a defect that must be corrected, or a technical condition that must change so the product can continue to meet its obligations. At this stage, it normally stays at the level of the originating function's need and avoids implementation decisions that are not part of that obligation.
Requirements can originate from many functions and events:
a Product Owner defines a new user outcome;
a domain specialist identifies a business rule or exception;
an architect identifies a structural change needed to support a product direction;
a security professional introduces a control required by a newly identified threat or policy;
a reliability specialist defines failure behavior after an operational incident;
a quality professional exposes behavior that cannot be accepted consistently under the current requirement;
an engineer discovers a compatibility problem or technical limitation that requires an explicit product decision;
a regulator, contract, provider, or organizational policy creates an external obligation; or
users and production behavior reveal a defect or unmet need.
Specification-First Delivery treats each requirement as a cross-functional delivery input. Its source provides context and identifies who can establish the originating need. Structured discussion, any applicable specialized specifications, and the technical specifications that follow then determine how that need affects the product and is carried into implementation. A security requirement may change user behavior, for example by requiring multifactor authentication. A functional requirement may require architectural work. A technical constraint may expose a product decision. Because several functions may contribute judgment to the same change, the function that identified the requirement does not own every downstream decision.
Within this model, a requirement becomes authoritative when the role with the relevant decision rights establishes or confirms it against applicable knowledge. A ticket, backlog, meeting note, prompt, or AI conversation can record and communicate the requirement, but its presence there does not confer authority. The organization must also determine whether the requirement conflicts with another authoritative source.
This is especially important because the Shared Knowledge System already contains requirements that apply across many increments. A standing product requirement, such as a retention obligation, compatibility rule, authentication constraint, or reliability objective, remains authoritative within its scope until an accountable decision changes it. Future increments can apply that requirement directly instead of rediscovering it for each change.
A new requirement therefore enters a product that already has requirements.
2. Requirement Context and Applicability
A requirement acquires delivery meaning through its relationship to applicable knowledge. Requirements engineering has long treated interpretation as contextual. Nuseibeh and Easterbrook describe requirements engineering as interpreting stakeholder terminology, concepts, viewpoints, and goals, and argue that requirements modeling and analysis cannot be performed adequately in isolation from the organizational and social context in which a system will operate.1 Specification-First Delivery makes that context durable through the Shared Knowledge System and applies the relevant parts to the current increment.
The knowledge needed for that interpretation may be distributed across the organization. In a field study of 17 large software projects, Curtis, Krasner, and Iscoe identified thinly distributed application-domain knowledge, fluctuating or conflicting requirements, and communication bottlenecks as interacting problems in large-system design.2 Structured discussion brings the relevant knowledge and decision owners together around the current requirement.
The Shared Knowledge System may already contain product intent, personas, stable use cases, domain semantics, existing specifications, architecture, interfaces, governing instructions, current code, prior decisions, and evidence from earlier delivery. A requirement can be reasonable in general and still conflict with the product's established context.
Consider a request to let a user change an existing record after it has been submitted. Several pieces of current knowledge may affect what that request means:
product intent may distinguish draft correction from post-submission amendment;
a business invariant may prohibit direct modification after a defined state transition;
an audit requirement may require a new version rather than mutation of the existing record;
an external interface may treat the submitted identifier as immutable;
current code may permit editing only because an old UI control was never removed;
an earlier decision may have rejected direct editing because downstream systems cannot reconcile it safely.
These inputs determine which product decision is actually being proposed and what implementation can legitimately follow from it.
A useful requirement context therefore identifies:
Product intent
Whether the requested outcome is consistent with the purpose and priorities of the product.
Progressive Context Loading keeps this review proportionate. Participants begin with the product knowledge normally relevant to the change and retrieve broader organizational or specialist knowledge when the requirement reaches those concerns.
The requirement should therefore be interpreted with the material knowledge that changes its meaning before downstream specifications rely on it.
This relationship also prevents one source from silently overriding another. If a new requirement conflicts with an authoritative architecture decision, the appropriate authority may decide to change the architecture. If it conflicts with a standing security requirement, the security requirement may need review. In either case, the conflict becomes an explicit decision before implementation establishes a new product state.
3. Structured Discussion: Definition, Uses, and Authority
Structured discussion is the controlled activity through which people and AI examine a delivery need or knowledge question against applicable knowledge, surface materially different interpretations, and place each resulting decision under the appropriate human authority.
Structured discussion may happen in a meeting, asynchronously in a document, through an issue or review workflow, with an AI system, or through several of these mechanisms. Its structure comes from making material questions visible, allowing evidence and alternatives to be challenged, and recording reviewed outcomes with clear status and ownership. The framework does not require one meeting format or document template.
Making materially different interpretations visible addresses a recurring requirements-specification problem. In an interview study of 24 practitioners across 12 companies, ambiguity, incompleteness, and inconsistency were the most frequently reported specification challenges; participants also described clarification during later iterations as one way ambiguity was resolved.3 Specification-First Delivery makes that clarification part of the increment and records the reviewed result before downstream work relies on one interpretation.
3.1. Increment-starting discussion
Most structured discussions begin or shape a delivery increment. A feature request, bug report, operational problem, or technical need identifies a change worth considering. The team opens the increment, examines the requirement against the Knowledge System and codebase, and decides what the iteration must include, exclude, preserve, specify, verify, and deliver.
Consider a feature that allows rendering Markdown documents on a website. The initial request sounds like one feature, but discussion reveals several connected responsibilities: source ownership and localization, metadata and validation, Markdown compilation, accessible reader behavior, browser routes, static HTML and Markdown publication, discovery files, and manifest-based server delivery. Those decisions establish one coherent increment. The team can then divide implementation into coordinated jobs for the shared content model, compiler, reader, routing, publication, and server without mistaking those jobs for separate increments.
A bug fix follows the same pattern at a smaller scale. A report that a language selector sends readers to an unavailable translation may open an increment whose discussion establishes the intended fallback route, behavior to preserve, affected navigation contract, and evidence required for the fix. The discussion can be brief, but it still starts the delivery iteration.
3.2. Knowledge-establishing discussion
Some structured discussions establish durable knowledge without proposing an immediate software change. The subject may be product terminology, a domain interpretation, a standing requirement, an architecture position, a market question, or another matter that future delivery needs to understand consistently.
A competitor analysis for a customer relationship management (CRM) system specialized in business-to-business (B2B) food sales is one example. The discussion starts by identifying competing products and comparing how they support account structures, product catalogs, customer-specific pricing, sales and order workflows, food traceability, and integrations. Participants gather current sources, separate verified facts from strategic interpretation, record the implications for product direction, and assign a review cadence. The reviewed analysis becomes durable organizational knowledge. It may later influence product strategy, delivery priorities, partnerships, or a new increment while remaining useful even when no implementation follows immediately.
These two uses can share techniques and even the same discussion-document format, but they have different direct outcomes. Increment-starting discussion produces a shaped increment, reviewed inputs for any applicable specialized specifications, and the basis for later technical specifications. Knowledge-establishing discussion produces reviewed knowledge that remains available to many future decisions and increments.
Cross-functional participation depends on bringing the right expertise to the specific question. Faraj and Sproull describe expertise coordination as knowing where expertise is located, knowing where it is needed, and bringing needed expertise to bear.4 In structured discussion, a Product Owner may define the intended outcome while an architect identifies consequences for system responsibilities. Security may determine that one apparently simple path requires additional authorization. Reliability may require a different failure mode. Engineering may show that the requested behavior conflicts with an interface or invariant. Each function contributes directly to the definition of the change within its professional responsibility.
Structured discussion commonly addresses several classes of question.
Intent
Establish the desired outcome, affected user or system responsibility, and the reason the change matters.
- Desired condition or product-state change
- Relevant user, system, or operational outcome
- Source and accountable decision owner
Applicability
Determine which existing product knowledge, specifications, dependencies, and organizational obligations are relevant to the increment.
- Applicable Shared Knowledge System sources
- Conflicting or superseded knowledge
- Required specialist context
Scope
Define what the proposed change includes, what remains outside it, and which existing behavior must be preserved.
- Included outcomes and affected responsibilities
- Non-goals
- Protected behavior and compatibility obligations
Interpretation
Identify materially different meanings, normal and exceptional conditions, and assumptions that could lead to different delivery outcomes.
- Ambiguous terms or scenarios
- Exception and invalid states
- Assumptions that require confirmation
Consequence
Identify dependencies, risks, interfaces, data meaning, operational effects, and other responsibilities changed by the requirement.
- Upstream and downstream effects
- Security, reliability, data, and operational consequences
- Prerequisite capabilities or decisions
Authority
Determine which questions must be decided now, which belong to a specialized or technical specification, and which may remain within delegated implementation authority.
- Decision owner
- Escalation condition
- Explicitly delegated professional judgment
The purpose is to make the decision structure visible enough that later participants know what has been established, what remains open, and who has authority to resolve it. Questions can move to a specialized or technical specification, or remain outside the increment, when their ownership and effect are explicit.
AI can participate extensively in either path. It can inspect relevant knowledge, identify missing scenarios, compare interpretations, find inconsistencies, summarize alternatives, capture material meeting findings, maintain a discussion record, and organize reviewed decisions. For an increment, it can prepare candidate inputs for specialized specifications and the technical specifications that follow them. For a knowledge-focused discussion, it can help compare sources and maintain the resulting analysis. These are valuable reasoning and information-management functions.
AI can propose an answer, while organizational decision authority remains with the accountable role. A question that changes product behavior, architecture, security, reliability, domain meaning, acceptance conditions, or another reserved matter must be decided by the role that owns that decision.
4. Delivery Increment Model
In delivery work with Specification-First Delivery, structured discussion begins and shapes the delivery iteration.
In Specification-First Delivery, a delivery increment (or increment) is one complete delivery iteration for a coherent product change. It takes the change from its initial requirement through structured discussion, any applicable specialized specifications, technical specifications, implementation, verification, acceptance, and shipment as a single reviewed result. The increment includes the software change together with any Knowledge System updates needed to understand, operate, and continue that change. A feature may establish new durable product knowledge, while a small bug fix may only record a specific lesson or require no additional durable documentation when existing knowledge remains accurate.
An increment may be represented by a Scrum Product Backlog Item, a Kanban card, or a connected group of work items. An epic may organize several increments. These planning artifacts identify and coordinate work. The increment itself is the full delivery cycle and its integrated outcome.
Increment cycle
From requirement to shipped change
- 1
Start the increment
Record the feature, bug fix, operational need, or other proposed change together with its source and initial decision ownership.
- 2
Conduct structured discussion
Examine the requirement against the Knowledge System and codebase, surface assumptions and alternatives, and shape the intended outcome, scope, non-goals, dependencies, behavior to preserve, and acceptance basis.
- 3
Develop specialized specifications and confirm readiness
When the change requires them, produce the functional, architecture, security, reliability, data, integration, test, or other specialized specifications, with each responsible function contributing its judgment.
- 4
Develop technical specifications and confirm readiness
Translate the shaped increment and its reviewed specialized specifications into executable technical work with explicit scope, authority, constraints, dependencies, and acceptance evidence.
- 5
Implement and verify
Execute within the confirmed scope and authority, produce the agreed evidence, and return newly discovered questions to discussion instead of allowing silent interpretation.
- 6
Accept and ship
Use the agreed evidence to make the acceptance and release decisions, then deliver the implementation, tests, specifications, decisions, and required current-state knowledge as one coherent result.
Line-by-line confirmation is a readiness gate for specifications. The relevant human decision owners first confirm the applicable specialized specifications. During that confirmation, the decision owners work with other humans or AI coding agents to resolve contradictions and material questions and establish a shared implementation-ready interpretation.
Engineers then confirm that the technical specifications preserve those decisions and define executable work. AI coding agents state how they interpret the technical instructions and expose ambiguity or conflict before they write code. Implementation begins when the required specification path has no unresolved material question. If implementation reveals a new material question, the team reopens discussion and updates the affected specifications before proceeding.
Not every increment that begins discussion proceeds to implementation. The team may reject, defer, split, or merge the proposed change when discussion shows that another outcome better fits the product, authority, dependencies, or available evidence. The delivery record preserves that outcome as part of the decision history.
The depth of the cycle should remain proportionate to the change. A small, familiar bug fix may move from a compact discussion record directly to one technical specification because no separate specialized specification is needed. For a very small fix, engineers may even work from a direct prompt without a separate specification because the existing Knowledge System already constrains the work. In contrast, a cross-system feature may require several specialized specifications followed by several technical specifications. In both cases, implementation begins after the required specification path has converged.
AI coding tools increase the amount of change that can be attempted within a single backlog item or epic. A misunderstood requirement can therefore spread quickly through code, tests, configuration, and documentation. Increment scope should be based on what the team can discuss, specify, review, verify, and accept coherently, rather than on the amount of code an AI tool can generate in one pass.
A technical specification often delivers one part of an increment. A small increment may require three technical specifications, while a large one may require twenty or more. The increment is the level at which the organization completes one delivery iteration and decides, from the specifications and evidence, whether it is prepared to own the resulting product-state change.
5. Discussion Records and Decision State
A discussion is temporary unless its material outcome becomes durable knowledge. Meetings and AI conversations are naturally exploratory. They contain tentative ideas, repeated questions, abandoned interpretations, examples, partial answers, and alternatives considered to expose their consequences. That material supports reasoning while the discussion is active. Future participants need a reviewed record that separates proposals, assumptions, rejected alternatives, and open questions from decisions that have acquired authority.
Specification-First Delivery uses a discussion document when material reasoning needs a durable record. It is a reviewed account of the request or question, relevant context, evidence, options, assumptions, decisions, and unresolved issues. It can consolidate material meeting notes and AI work while preserving the status of each outcome. A compact discussion document may be sufficient; the framework does not require a transcript or fixed form.
Discussion records preserve provenance that may disappear before a formal specification exists. Gotel and Finkelstein distinguish pre-requirements-specification traceability, concerned with requirements production and refinement, from post-specification traceability, and identify inadequate pre-specification traceability as a major source of practical traceability problems.5 Within Specification-First Delivery, the discussion document preserves the requirement's origins and development together with the context and decision state that later specifications need to interpret correctly.
For an increment, the discussion document records how the change was shaped and organizes confirmed outcomes, constraints, and assigned questions as inputs to any applicable specialized specifications. Those reviewed specifications then become sources for the technical specifications. For knowledge-establishing work, the document may become the durable output itself. A competitor analysis, for example, can preserve its source basis, evaluation dimensions, verified findings, strategic interpretation, review date, and monitoring conditions without leading directly to code.
A discussion record may contain the following information when it is relevant:
Confirmed requirement
A required condition or outcome has been established by the appropriate decision owner.
Decision
An accountable role has selected or confirmed an interpretation, option, or constraint.
Specification input
A reviewed outcome, constraint, or assigned question that a named specialized or technical specification must express without reinterpreting its established meaning.
Assumption
Work is currently relying on a proposition that has not been established as authoritative.
Non-goal
A plausible adjacent outcome has been explicitly excluded from the current change.
Rejected alternative
An option was considered and intentionally not selected.
Open question
A material question remains unresolved and must not be treated as decided.
Delegated question
A decision is intentionally left to a named specialized or technical specification, or to implementation judgment within defined authority.
Dependency
Another decision, capability, interface, or increment must exist before the affected work can proceed.
The categories describe states that later participants must be able to distinguish. A specification input may be confirmed, assigned for resolution in a named specialized or technical specification, or visibly conditional. A knowledge conclusion may be verified, interpretive, provisional, or scheduled for review. Its apparent authority should match its actual decision or evidence status.
For example, security discussion may establish that a particular integration must use OpenID Connect (OIDC) together with a client certificate. That reviewed outcome becomes a specification input. The functional specification records the required protected connection behavior, including the OIDC and client-certificate condition, while the security specification states the control, threat considerations, and required evidence. The technical specification can then define the authorized implementation work, such as a class that retrieves the client certificate from the approved vault and a secure connection utility that uses it. Each artifact carries the decision at the level appropriate to its responsibility.
The record prevents plausible content from acquiring false authority. An AI conversation may contain an early suggestion that direct mutation is acceptable, followed later by a decision to use versioned amendments. A reviewed record makes the accepted position and the status of earlier alternatives clear for future retrieval.
The same treatment applies to assumptions. Teams inevitably make some assumptions, including ones they have not yet recognized. Structured discussion with the delivery team and AI can expose them earlier. The record should keep an assumption visibly different from a confirmed requirement or verified fact, identify what would invalidate it, and name who decides the consequence.
Discussion records also support decision history. Some rejected alternatives need no durable explanation because they were trivial. Others matter because a future participant is likely to propose the same option again. Recording a material decision, its owner, rationale, alternatives, and conditions for review prevents the organization from repeatedly reconstructing the same analysis. Governing instructions may require product-wide material decisions to update a maintained decision-history record such as docs/decision-history.md.
The level of detail should remain proportionate. A compact record may be enough for a familiar bug fix or a narrow knowledge question. A consequential feature or strategic analysis may need a fuller account of evidence, alternatives, decisions, uncertainty, and review conditions. The purpose is to preserve material reasoning, not every sentence produced by people or AI.
6. How Requirements Shape an Increment
An increment is the delivery iteration for one coherent product change. It begins with an initial scope, which structured discussion refines against the relevant requirements and existing knowledge. The discussion may confirm the proposed change as one increment, divide it across several delivery iterations, combine it with related requirements, or stop it before implementation. Requirements and increments therefore have a many-to-many relationship.
One requirement can require several increments when the desired outcome depends on prerequisite capability, staged migration, risk reduction, or independently acceptable states. Several requirements can belong to one increment when they jointly define one coherent product change. A proposed requirement can also be rejected, deferred, or absorbed into an existing increment after discussion.
Several relationship patterns are common.
6.1. One requirement forming one increment
A local defect with clear behavior, limited dependencies, and a stable acceptance condition may correspond directly to one increment. Structured discussion can be brief because the requirement already identifies a coherent change. The same can apply to a clearly scoped feature in a relatively simple product with few standing requirements.
6.2. One requirement forming several increments
A requirement to replace an authentication mechanism may require a prerequisite increment that introduces the new identity integration, a migration increment that supports both mechanisms temporarily, and a later increment that removes the old path. Several acceptable product states can therefore realize one requirement in sequence while keeping verification, rollback, and acceptance manageable.
Standing requirements such as reliability, security, or supportability requirements can also contribute to several increments because the same obligation applies across multiple product changes.
6.3. Several requirements forming one increment
Several requirements may describe different aspects of the same product-state change. A new transaction workflow may combine functional behavior, an audit obligation, a reliability condition, and a compatibility requirement. One coherent increment keeps those requirements connected to the product state that accountable roles will accept together.
This pattern is common in mature products where standing requirements apply alongside feature-specific requirements.
6.4. Requirement rejected or deferred
Structured discussion may show that a proposed requirement conflicts with product intent, duplicates existing capability, lacks authority, depends on evidence that is not yet available, or should be reconsidered after another change. In those cases, the team can close or defer the opened increment before implementation begins.
A requirement can therefore be a valid input to discussion without becoming accepted software. The discussion record preserves why the team stopped, so a later participant does not have to reconstruct the same decision.
6.5. Requirement changing standing knowledge
Some requirements expose a need to change standing product knowledge as well as software. A new regulatory obligation may revise a product-wide retention requirement. An architecture decision may change which interface is authoritative for future increments. The accountable owner should update that wider knowledge before the current or later increments rely on it.
This relationship is important because an implementation job should not silently establish product-wide precedent simply because it was the first place where the new requirement became visible.
Knowledge-establishing discussion can also begin independently of a delivery requirement. A research or terminology review may end with durable knowledge only. If that knowledge later creates a feature, policy change, or technical obligation, the organization can open a separate increment and use the reviewed outcome as applicable context.
6.6. Cohesion, scope, and dependencies
A delivery increment should be large enough to represent a meaningful change and small enough that its intent, dependencies, specifications, and acceptance can remain coherent.
Specification-First Delivery sizes an increment by whether it represents a product-state change that can be understood and accepted as one unit. The appropriate size therefore varies with the change. Lines of code, story points, ticket count, and calendar duration do not determine whether an increment is well formed.
An increment generally has strong cohesion when:
its intended outcome can be stated without combining unrelated purposes;
the contributing requirements constrain the same change or acceptance decision;
material dependencies are identifiable;
any specialized specifications can converge on one compatible intended state before technical specifications define the implementation work;
verification can establish whether the change satisfies the applicable requirements; and
acceptance would leave the product in a meaningful state rather than an arbitrary organizational midpoint.
A proposed increment may need to be split when it contains independently acceptable outcomes, materially different dependency chains, a prerequisite capability that should be established before dependent behavior, or uncertainty that is better resolved through an earlier change. Different risk or rollout conditions can also justify separate increments even when the long-term product outcome is related.
Conversely, splitting work can reduce coherence when the pieces only make sense together. A backend change, frontend change, security control, and test update are not automatically separate increments simply because different teams or functions perform them. If they jointly create one behavior that can only be accepted when all four are present, they belong to the same increment even if implementation is divided into many jobs.
Dependencies are part of the increment model because they determine whether the intended change can be specified and delivered from the current product state. A dependency may be another increment, an external interface, an organizational approval, a shared schema, a migration state, or a material decision that has not yet been made.
The delivery system records whether each dependency is already satisfied, belongs in the current increment, or requires separate work first. The current increment only needs to resolve dependencies that affect its own readiness or acceptance.
Dependency visibility becomes especially important when several increments are planned in parallel. Two increments may be independently coherent but still depend on the same shared interface or decision. The detailed coordination of executable jobs belongs to later implementation mechanisms. At the increment-definition level, the obligation is to make the dependency visible before specifications assume incompatible states.
7. Specification Readiness, Decision Authority, and Feedback
An increment exists while its understanding is still developing. Structured discussion resolves ambiguity that would otherwise become accidental delegated authority while preserving professional discretion for implementation choices that remain compatible with the reviewed specifications.
7.1. Decision placement and readiness gates
Some questions define the identity and shape of the increment. Whether a capability is in scope, whether a user may perform an action, whether an existing behavior must be preserved, or whether two outcomes must ship together determines what change the organization is considering. The team should resolve those questions during discussion before it treats the increment as coherent.
Other questions belong to a specialized specification. A requirement may establish that data must remain encrypted while a security specification decides the control and an architecture specification decides the responsible system components. Those questions may remain open while the increment is being shaped, provided each one has a named specification and decision owner. The specialized specifications must resolve them before technical specifications translate the reviewed decisions into implementation work.
Technical specifications may reveal further engineering questions. Any answer that could materially change behavior, risk, interfaces, constraints, execution authority, or acceptance must be resolved before implementation. Local choices that remain compatible with every source specification may stay within delegated implementation authority.
Engineers and AI coding agents can exercise delegated authority over algorithms, helper structures, internal names, and implementation techniques when the reasonable options remain compatible with the reviewed specifications and acceptance conditions.
| Decision treatment | Condition |
|---|---|
| Resolve during increment discussion | The answer materially changes the intended outcome, scope, non-goals, dependencies, behavior to preserve, or accountable commitment |
| Assign to a specialized specification and decision owner | The question requires cross-functional or specialist judgment before technical work can be defined |
| Resolve in the technical specifications | The question concerns executable engineering work but must be decided before implementation begins |
| Delegate to implementation | Several reasonable answers remain compatible with the confirmed specifications and execution authority |
| Defer outside the increment | The question matters but does not affect the current change and must not become accidental precedent |
The classification can change as knowledge improves. An apparently local implementation question can reveal a shared architectural consequence, and a technical constraint can expose a product choice. The question should then move to the level of authority appropriate to its consequence.
This is the same principle that governs knowledge convergence across the increment lifecycle. Discovering a question gives the participant responsibility to surface it; the appropriate decision owner determines whether its answer becomes authoritative beyond the participant's execution scope.
7.2. Interface with Specialized and Technical Specifications
Structured discussion has shaped the increment enough for specialized specification work when the organization can identify the intended change, applicable requirements and knowledge, decisions already established, questions assigned to named owners, and professional concerns that still need explicit treatment. When no specialized specification is applicable, the increment can move directly from reviewed discussion into technical specifications. This remains progress within the increment.
The Specification-First Delivery framework treats the Specification Set as the connected specifications relevant to an increment. Functional, architecture, security, reliability, data, integration, test, and other specialized specifications express the required professional judgments when those concerns apply. They may develop concurrently, constrain one another, or reopen discussion when they expose a material conflict.
Once the required specialized specifications are reviewed, engineers translate them into one or more technical specifications. A technical specification defines executable work, including implementation scope, authority, constraints, dependencies, protected behavior, and the evidence needed to demonstrate conformance. It preserves the meaning and authority of the reviewed specialized decisions it implements.
One reviewed discussion result can inform several specialized specifications and then constrain the technical specifications. For example, an agreed requirement to use OpenID Connect together with a client certificate can shape functional connection behavior, security controls and evidence, and architecture responsibilities. The technical specifications then define the implementation work that realizes those reviewed decisions.
The separation of responsibility remains explicit:
requirements establish or constrain what the product needs;
structured discussion shapes the increment, reconciles it with existing knowledge, and identifies the specialized specifications that apply;
specialized specifications make the required cross-functional and specialist judgments explicit and mutually consistent;
technical specifications translate the reviewed requirements and specialized decisions into executable work;
accountable participants confirm that no material implementation question remains open; and
implementation executes the confirmed technical specifications within their scope, authority, constraints, and acceptance conditions.
Readiness requires upstream product and specialist decisions to be established before a technical specification depends on them. Specialized specifications should also leave local implementation choices available when several options remain compatible with their decisions.
7.3. Feedback within the increment
The lifecycle is recursive. Specification work can expose an assumption that changes the increment. Architecture may show that two outcomes cannot be delivered independently. Security may make a proposed workflow unacceptable. Reliability analysis may reveal a prerequisite capability. Implementation may show that an apparently local change affects a shared interface.
When a discovery materially changes the intended change, the team returns to structured discussion and updates the requirement, increment scope, or affected specifications. The revised upstream decision then becomes the basis for downstream work.
This feedback keeps specifications connected to professional learning and gives material discoveries a reviewed path back into the increment.
8. Proportionality of Discussion and Specification Depth
Specification-First Delivery applies proportionality to structured discussion, its durable record, and the specifications that follow from it.
A local change may already have clear intent, obvious applicability, limited dependencies, established authority, and straightforward acceptance. In that case, the increment's structured discussion may move directly to one compact technical specification without creating a separate specialized specification.
A material cross-system change may have several possible interpretations, specialist obligations, external dependencies, migration states, and consequences for existing users. It may require several specialized specifications, followed by several technical specifications, before implementation is ready.
The same principle applies to knowledge-establishing work. Confirming one product term may require a short record and an update to an authoritative glossary. A strategic analysis may require source review, a stable comparison framework, separation of fact from interpretation, accountable conclusions, and a defined review cadence.
The appropriate depth should reflect the same factors used in the framework:
ambiguity, because materially different interpretations require explicit resolution;
novelty, because new behavior or architecture contains fewer established precedents;
dependency, because more affected systems and responsibilities create more interactions to reconcile;
risk, because incorrect interpretation may create security, operational, financial, regulatory, or product harm; and
consequence, because changes with broader or longer-lived effects justify more durable reasoning and review.
Under-structuring moves unresolved material decisions downstream. The executor or AI coding agent then has to decide what the requirement meant, whether an adjacent behavior is in scope, which existing constraint can be ignored, or which exception is acceptable.
Over-structuring attempts to settle questions that could safely remain within delegated professional judgment. It creates unnecessary maintenance work, slows learning, and can make the discussion record larger without making the increment more reliable.
The result should be the minimum decision structure needed for trustworthy specification or durable knowledge.
9. Operating Outcomes
A healthy structured discussion produces a clear outcome in one of two scopes.
Shaped delivery increment
The discussion shapes the active increment for any applicable specialized specifications, technical specifications, and delivery, or records why the proposed change was split, merged, deferred, or closed.
Established durable knowledge
The reviewed conclusion has a clear subject, source basis, authority, uncertainty, maintenance owner, and place in the Knowledge System, even when no implementation follows.
For an increment that continues, the organization should be able to determine:
which requirements establish or constrain the proposed change;
which existing product knowledge applies and whether any authoritative source must change;
which material questions were decided, rejected, assumed, delegated, or assigned to a specialized or technical specification;
who owns the decisions that define the increment and any questions that remain during specification work;
whether the work forms one coherent delivery increment or several;
what the increment includes, excludes, depends on, and must preserve;
which reviewed discussion outcomes must be carried into each applicable specialized specification;
how those reviewed specialized specifications constrain the technical specifications before implementation; and
how the resulting specifications can remain traceable to the requirements and discussion that established them.
For knowledge-establishing work, the organization should be able to distinguish verified findings from interpretation, identify who reviewed the conclusion, state where it applies, and know when or why it must be revisited. A future increment can then use that knowledge as context without replaying the original discussion.
In the primary path, a requirement opens the increment. Structured discussion applies knowledge and accountable judgment and shapes the change. Specialized specifications make the applicable functional, architecture, security, reliability, data, integration, test, or other professional judgments explicit. Technical specifications then translate the confirmed requirements into executable work. Implementation follows those technical specifications, accountable participants decide acceptance and release from the resulting evidence, and the software and required knowledge updates are shipped together.
In the secondary path, a knowledge question opens the discussion. The reviewed result becomes durable knowledge and remains available to any future decision or increment that needs it. Both paths keep rapid analysis and execution connected to reviewed interpretation and authority.
References
- Nuseibeh, B., & Easterbrook, S. (2000). Requirements Engineering: A Roadmap. Proceedings of the Conference on the Future of Software Engineering, 35–46. DOI.
- Curtis, B., Krasner, H., & Iscoe, N. (1988). A Field Study of the Software Design Process for Large Systems. Communications of the ACM, 31(11), 1268–1287. DOI.
- Franch, X., Palomares, C., Quer, C., Chatzipetrou, P., & Gorschek, T. (2023). The State-of-Practice in Requirements Specification: An Extended Interview Study at 12 Companies. Requirements Engineering, 28, 377–409. DOI.
- Faraj, S., & Sproull, L. (2000). Coordinating Expertise in Software Development Teams. Management Science, 46(12), 1554–1568. DOI.
- Gotel, O. C. Z., & Finkelstein, A. C. W. (1994). An Analysis of the Requirements Traceability Problem. Proceedings of the IEEE International Conference on Requirements Engineering, 94–101. DOI.