Skip to main content

Phase 1: Definition

The upstream work that keeps the Implementation Phase moving.


The Definition Phase turns broad product intent into targets precise enough that an AI coding agent can build them without guessing. Its output is a spec An evergreen description of how a part of the system or experience works. Kept current with actual behavior; when the team wants a change, the spec is updated first and implementation brings the system into alignment. : a description of the behavior to build, what counts as done, the constraints to preserve, and the questions or areas of discretion still open. Implementation works from those specs.

This set of work matters more now than it used to because building has gotten cheap and fast while Definition hasn't. A team used to fill the gaps in a spec with the shared context that never gets written down. An agent doesn't have that context. When Implementation and Definition fall out of step, the agent hits an ambiguous spec and fills the gap with a plausible guess that isn't what the team wanted. The resulting drift only surfaces an iteration later, as shipped work that misses the team’s intent.

The Definition Phase can begin as soon as the product has a rough shape: a working sense of who the users are, what constraints exist, and what the product first needs to do. That's enough to start asking which part to make buildable next, long before every product decision is settled. At Atomic Object, that early shape comes from a Research, Design, and Planning (RDP) engagement where teams run discovery and framing work. The output becomes the Product Backlog, where an item sits at the right level of specificity for sequencing but is still too broad to build. Definition starts there, by narrowing it.

Definition narrows Backlog Items through a repeating pipeline: gather information, synthesize it into the Knowledge Base, and write or revise the specs that agents execute against during the Implementation Phase. Definition stays at least an iteration ahead of the build so that the agents don’t get blocked waiting for new specs.

Most of the Definition Phase is judgment work: which inputs to trust, how much to validate before building versus after, and when to gather more signal instead of betting on what you already have. That judgment is what keeps the spec accurate enough to hand to an agent.


What happens in this phase

In the overall process, the team runs two iterations a week, each following the same pattern: 1 Planning, 2 Definition and Implementation work, then 3 Review. Everyone participates in the Planning and Review Phases as a full team. Definition-Phase work happens between those ceremonies, running concurrently with the Implementation Phase of the work defined in a previous iteration. At any given moment, the team is balancing Definition work across the current, next, and following iteration:

Current iteration

Answering questions, closing gaps surfaced during Implementation, reconciling findings at review.

Next iteration

Getting specs to "ready" so the next Planning Phase has a full load of committed work.

Following iteration

Gathering information and doing early synthesis for work two or more iterations out, keeping the Definition Pipeline full.

If all three horizons aren't getting attention, the system breaks. For example, if the team over-focuses on current-iteration support, the next Planning Phase goes underfed. If there’s too much focus on the future, the current Implementation-Phase questions go unanswered. Use the rhythm to keep those three horizons visible, whatever the exact meeting schedule becomes.

To pursue those horizons in a balanced way, each turn of the Definition pipeline runs the three activities below. Most Backlog Items take several turns before the specs are ready.

Information gathering Save raw context to repo handoff ↓ Synthesis Update knowledge base handoff ↓ Spec authoring Create or revise specs Ready for impl? yes Plan for iteration no need more context

Information gathering: Identify what context is needed, such as output from stakeholder sessions, design exploration, domain research, prototyping, and product evaluation, and source it. Save this context in a shared location the whole team can access.

Synthesis: Distill the raw material into durable decisions, facts, domain rules, and constraints, and record them in the Knowledge Base, the durable context store Definition and Implementation both draw from. Agents draft and cross-reference against what's already there while people make the calls that need judgment, like which source wins when two conflict, or whether a stakeholder’s aside is a real requirement or just thinking out loud.

Specification authoring: Create or revise specs to reflect what synthesis revealed. This is where work fans out: one synthesis pass can produce multiple independent spec tasks, each tracked and owned separately.

Each pass ends with the same question: Are the specs ready to implement? If they are, they go into an iteration. If not, the work loops back for more information gathering. The worked example at the end of this chapter shows how one team made that call.

The three activities also create natural handoff points. Work can move from one teammate to another, or one person can move through all three in a single pass. For example, a project manager captures a transcript in a stakeholder session on Tuesday. A tech lead synthesizes it into Knowledge Base updates on Wednesday. The designer updates the interaction spec on Thursday.

At any given moment, the team is making a judgment call: do they gather more information or process what they already have? Sometimes, the answer is driven by demand: Implementation needs specs for the next iteration, so the team synthesizes what it has and gets specs into shape. Other times, the answer is driven by supply: a stakeholder session is coming up, and the team prepares to gather information regardless of immediate downstream demand.

Information gathering activities
Stakeholder sessions
Close known gaps, get reactions, unblock decisions.
Design exploration
Visual mockups, interaction models, design system work.
Ideation and expansion
Expand sparse input into testable direction.
Technical spikes and specs
Developer-driven investigation and specification of architecture, data models, non-functional requirements.
Domain research
Map domain vocabulary, workflows, rules, and edge cases the product must preserve.
Prototyping
Working software to test assumptions, routine now that building is cheap.
Product evaluation
Hands-on use of the built product to surface gaps and divergence from intent.
Friction surfacing
Identifying where tooling or automation could amplify team performance.

The mix of definition work shifts based on what the team needs. In a typical week, expect a rough allocation like this:

Information gathering ~30%
Synthesis and spec authoring ~30%
Running shared ceremonies ~20%
Evaluating ~20%

Time allocations are approximate and vary by project, work type, and point in the project.

Two habits keep the rhythm on track. The team should synthesize stakeholder input while the context is still fresh, and they should review active specs often enough to catch stale, contradictory, or missing coverage before the Planning Phase. The point is to keep ready work flowing without letting current-iteration support consume every Definition hour.


Who picks up the work

The Definition pipeline is stable; the role assignments are not. The person closest to the uncertainty takes the next pass, and the work can move between people as the question changes.

A tech lead doing a technical investigation might gather information, synthesize it, and update a spec in a single pass. A project manager on a technically complex project might focus on stakeholder information gathering and hand off synthesis to someone closer to the technical domain. A designer might carry a visual improvement from product evaluation through UX spec updates, then guide an agent through the CSS and interaction changes.

Some responsibilities do stay with specific project roles.

The project manager takes point on business stewardship and information gathering from stakeholders. The designer leads information gathering through user research and design activities: product backbones, journey mapping, personas, UX design. The tech lead specifies data models, API contracts, and architectural decisions, and they get ahead of the structure upcoming work will need. When a feature will lean on a new subsystem or a key new module, that architecture-focused spec is written in the Definition Phase, ahead of the iteration that builds against it. The timing is a deliberate trade-off, since technical design that steers the system's structure is easy to get wrong under the build pressure of an iteration, where the pull is toward whatever unblocks the current feature.

Spec authoring lands with whoever owns the Definition work for that area, often the project manager or designer, sometimes a senior dev, often a pair. These are starting points. The type of work dictates which role picks up the next piece.

Those assignments show up in the working system. For example, a stakeholder session about seat limits might become a synthesis task to update seat-management context in the Knowledge Base, then split into spec-authoring tasks such as "write the feature spec Invite Members" and "draft the architecture spec Read-only Access." The Work Board makes the handoffs visible, and the Knowledge Base keeps the decisions available when questions arise during Implementation.

When the Knowledge Base is stale or disorganized, the system degrades subtly. Every stakeholder meeting, design decision, and review finding should be moved into the system quickly so that the team can use it confidently in the next iteration. The Knowledge Base needs to be structured so that agents and team members can find what's relevant when it matters, which means keeping less-relevant context out of it. When this problem shows up, work to improve synthesis workflows, spec health, decision tracking, or retrieval paths.

Whoever writes it, a ready spec pulls several perspectives into one place: product behavior, experience details, technical constraints, and the operating context around them. Some specs hold all four directly; others link out to a mockup, an API contract, a testing policy, or a deployment note. Specs must clear the same bar the rest of Definition aims at: an agent can build from it without inventing a product, design, or an architecture decision nobody made.

Pulling those perspectives together is the point, because each covers the others' blind spots. Product intent without technical constraints leaves gaps agents fill with guesses. Technical direction without product intent produces correct-looking software pointed at the wrong outcome.


Example: Defining the Seats & Membership Backlog Item

Acme's Anvil platform has the Backlog Item Seats & Membership on its Product Backlog, one that's too vague for Implementation. The team knows organizations need to invite teammates, control who holds a paid editor seat, and remove access when someone leaves. The team does not yet know how seat reservation should work, how the invite flow chooses viewer or editor, or how read-only access fits a product where every member can edit today. One pass through the Definition pipeline turns the next buildable target into the feature spec Invite Members, something the team can plan and build next iteration, and surfaces the foundational work around it.

1
Definition Pipeline

Gather information

The project manager runs a 40-minute stakeholder session with the product owner and other team members to clarify how organizations should use Anvil as they grow: who belongs in an org, who can edit, how seats are paid for, and what outside collaborators should be able to do.

The product owner describes the main flow. An admin enters an email, the invitee gets a link, signs up or logs in, and lands in the organization. The designer asks whether every invitee should be able to edit, or whether this is where Anvil needs read-only access. The tech lead follows with the seat question: if an admin invites someone as an editor, does that consume a paid seat immediately?

In a handful of exchanges, Invite Members now touches membership, access levels, seat limits, and email delivery. It depends on an editor/viewer distinction Anvil does not have yet, a seat counter the product does not enforce yet, and an automated email path the current system has not built.

Right after the session, the team members who were in the room take 10 minutes to make sense of the session and record what the product owner actually confirmed, what was just thinking out loud, and what the exchange means for the work. The session ends with two records: a transcript, and a short note on what decisions were captured. That second record is the context synthesis works from.

Gathering information happens outside of team meetings as well. The designer sketches the invite dialog in Figma, which turns the main flow into something concrete and also surfaces questions the conversation skipped: what fills the dialog before anyone has been invited, and what the admin sees at the seat limit. Those are added to an open-questions list.

2
Definition Pipeline

Synthesize

Synthesis is a separate, solo task. A team member works with an agent to fold the two records into the Knowledge Base, referencing the invite-dialog sketch as well so the interface decisions inform the entries, not just the transcript. The agent drafts entries and cross-references what's already there. The person makes the calls the agent can't: which source wins when two conflict, whether a stakeholder aside is a real rule or thinking out loud, where each decision belongs, and how much detail to keep.

Two facts dominate what lands: (1) Anvil is global-edit today, so inviting someone as a viewer has nothing to grant until read-only access exists, and (2) invite delivery also needs an automated email path, and the product does not have one yet.

Decision recorded

Editor invites reserve a seat when sent. Viewer invites are free and do not count against the purchased-seat limit.

Domain model revised

The invite model gets an asEditor flag, and used seats count active editors plus pending editor invites.

Open questions logged

What the admin sees at the seat limit and the resend and revoke flows go onto the next agenda. The rollout rule for existing all-editor orgs gets settled while the architecture spec Read-only Access is written.

Synthesis also surfaces two specification tasks on the Work Board: (1) architecture spec: Read-only Access, the foundation; and (2) technical spec: Email Delivery, the interface the invite flow will call.
3
Definition Pipeline

Author specifications

Synthesis fans out into four specifications: two foundation specs that Invite Members depends on, and two feature specs the team can plan against.

Architecture spec:Read-only Access

Defines editor and viewer behavior across the product, plus the rollout rule: existing members stay editors, even if that leaves the org over its purchased-seat count until an admin adds seats or demotes people.

Technical spec:Email Delivery

Defines a sender interface that works with any email provider, background delivery with retries, and a pretend sender the team can build and test against before production email wiring lands.

Feature spec:Invite Members

Admin enters an email, chooses viewer or editor, sends an invite, and sees a Pending row in the invite table with Resend and Revoke. Editor invites reserve a seat; viewer invites do not.

Feature spec:Seat Accounting

Adds purchased-versus-used seat accounting, the editor/viewer access column, and the rule that seat grants are blocked when no seats are available.

4
Decision point

Ready for implementation?

The team separates what is buildable now from what needs more clarity to begin.

Buildable now: Invite Members, covering the email field, viewer/editor toggle, invite table's Pending row, seat counter, and the send action wired to the email sender interface. Email Delivery is buildable too: a background queue, retry handling, and a pretend sender that records emails instead of sending them.

Foundational dependency: Granting viewer access only works once Read-only Access lands. The invite UI can build against a stub while that foundation is implemented in parallel.

Deferred behind the pretend sender: Real provider wiring for email delivery. The pretend sender lets the team build, demo, and test the invite flow now; production wiring can land behind the same interface later.

In the Planning Phase, the team can scope two connected efforts for the iteration: Invite Members as one developer's priority path, and Email Delivery as another's. The interface is explicit enough for both to move together. A developer asks whether pending editor invites should appear in the seat counter; the designer checks the spec, records "yes," and the work moves forward with the decision written down.

1 Stakeholder session
3 Knowledge Base updates
4 Specifications split by type
2 Specifications ready for Planning

The output is a set of repo artifacts used in the Planning and Implementation Phases: Knowledge Base decisions, explicit open questions, revised specs, and architecture tasks that make the dependencies visible. The remaining uncertainty is tracked, but it no longer hides implicitly inside the feature.