What are Product Artifacts?
Product Artifacts are structured documents that capture the essential elements of your product, from high-level strategy to detailed acceptance criteria. Unlike traditional documents, artifacts are designed to be:- Structured: Consistent format that makes information easy to find and parse
- Connected: Clear relationships provide context and let you drill deeper
- AI-Ready: AI agents can read and use your requirements directly
- Versioned: Track changes and maintain history of your product decisions
The Artifact Hierarchy
Product Graph follows a clear hierarchy that flows from strategy to implementation: Product → Capability → Feature → Requirement → Acceptance Criterion This hierarchy ensures traceability from high-level product goals down to testable conditions, making it easy for teams and AI agents to understand how each piece connects to the whole.Core Artifacts
These artifacts form the primary hierarchy of your product model. They’re long-lived and represent the stable structure of what you’re building.Product
The top-level artifact that defines the boundaries, vision, and scope of what you’re building. A Product represents your entire offering and serves as the root of the product specification hierarchy. It contains all the Capabilities, User Types, and Core Entities for that product. The Product document captures the strategic overview: the “why” and “what” at the highest level. It includes an overview, vision, guiding principles, problem statement, and value proposition. Products serve as the foundational anchor for all product specifications:- Define the overall vision, purpose, and value proposition
- Establish boundaries for what is and isn’t part of the product
- Provide strategic context that all child artifacts inherit
- Serve as the entry point for stakeholders to understand the offering
Capability
A high-level ability that the product provides, expressed in problem or outcome terms rather than implementation details. Capabilities represent the stable, enduring pillars of what the product can do, focusing on what ability users gain rather than which specific features exist. Capabilities remain relatively constant across many releases while the Features beneath them evolve. Think of Capabilities as answering “What can users accomplish?” while Features answer “What can users do specifically?” Capabilities provide the strategic structure for organizing product functionality:- Frame product abilities in terms of user outcomes and problems solved
- Create stable organizational pillars that persist across releases
- Group related features under a common theme or goal
- Communicate product value at a level executives and stakeholders understand
Feature
A concrete, user-facing behavior or functionality that realizes part of a Capability. Features represent specific, releasable units of work that users can interact with and that deliver tangible value. Unlike Capabilities, which describe high-level abilities in outcome terms, Features describe the specific behaviors and interactions that make those abilities possible. Features serve as the primary unit of product development, bridging the gap between strategic Capabilities and detailed Requirements:- Break down abstract Capabilities into concrete, deliverable functionality
- Define clear scope for development teams
- Describe what the product does from a user’s perspective
- Enable release planning and roadmap management
- Track progress within Capabilities as they deepen
Capability vs Feature
| Capability | Feature |
|---|---|
| Stable, lasts for years | Ships in release cycles |
| Described in outcome terms | Concrete, specific functionality |
| ”What ability does the product have?" | "What can users do specifically?” |
| Example: “Inbox Organization” | Example: “Smart Categories Panel” |
Requirement
A formal statement of a single, atomic system behavior or constraint that must be satisfied. Requirements bridge the gap between user-facing Features and testable Acceptance Criteria by specifying exactly what the system must do, or how it must perform, without describing implementation details. Each Requirement describes one behavior and is validated by multiple Acceptance Criteria. Requirements translate Features into precise, testable specifications:- Define exactly what the system must do to deliver a Feature
- Create unambiguous specifications that development can implement
- Establish clear boundaries between different behaviors
- Link to Projects for execution tracking
Requirement Types
| Type | Focus | Example |
|---|---|---|
| Functional | What the system does | ”The system must send email notifications when order status changes” |
| Non-functional | How well it performs | ”The inbox must load within 200ms for up to 1000 messages” |
| Constraint | What it must not do | ”The system must not store user passwords in plain text” |
| Business rule | Domain invariants | ”Order totals must include tax calculated per shipping destination” |
Acceptance Criterion
A single, testable condition that proves a Requirement is satisfied. Written in Given-When-Then format, each AC defines one specific, observable, and measurable check with a clear pass/fail outcome. ACs are the most granular level of the product specification hierarchy and serve as the bridge between Requirements and executable test cases. Acceptance Criteria transform abstract Requirements into verifiable conditions:- Define exactly what “done” means for a Requirement
- Provide unambiguous test cases for QA and development
- Cover happy paths, edge cases, error states, and non-functional constraints
- Create a contract between product, development, and QA teams
- Eliminate subjective interpretation of Requirements
| Avoid | Use instead |
|---|---|
| ”loads quickly" | "completes within 200ms" |
| "short message" | "maximum 50 characters" |
| "clearly visible" | "contrast ratio 4.5:1 per WCAG AA” |
Supporting Artifacts
These artifacts provide essential context and structure but sit outside the core hierarchy.User Type
Long-lived archetypes representing who uses your product: their goals,
behaviors, needs, and pain points.
Core Entity
Fundamental domain concepts (the “nouns”) your system manages. These form
your shared vocabulary.
Project
Temporary execution containers with start and end dates for tracking work.
User Type
A long-lived archetype representing a category of people who use the product. User Types capture who the users are, their goals, behaviors, workflows, constraints, and pain points, without being tied to demographic details. They serve as personas that inform feature design, requirement writing, and acceptance criteria by providing a shared understanding of the humans the product serves. A User Type document includes:- Who they are: The role and context of this user type (situation, not demographics)
- Goals and motivations: What they’re trying to accomplish and what drives their decisions
- Behaviors and workflows: How they typically interact with the product
- Constraints and limitations: Barriers they face (time, technical skill, device, accessibility needs)
- Pain points: Frustrations or problems the product should address
Core Entity
A fundamental domain concept (the “nouns”) that a product manipulates, displays, stores, or reasons about. These essential conceptual objects form the shared vocabulary and structural backbone of the product’s domain model. Core Entities establish clear definitions that the entire team and system can reference consistently. Core Entities provide:- A shared vocabulary for discussing the product domain across teams (product, engineering, design)
- Clear conceptual boundaries that inform how features are designed and built
- Domain documentation that remains stable even as features evolve
- A foundation for understanding relationships between concepts in the system
- Reference definitions that Acceptance Criteria and Requirements can point to
Project
A temporary execution container that tracks a bounded scope of work to be delivered. Unlike the core artifacts, Projects are time-bound initiatives that link to existing artifacts for tracking, prioritization, and delivery management. Projects do not own artifacts; they reference them to define what is in scope for a particular initiative. Projects bridge the gap between product specification and execution:- Scope which artifacts are included in a specific release, sprint, or initiative
- Track progress against a defined set of deliverables
- Define goals, timelines, and success criteria for bounded work
- Coordinate across multiple Capabilities, Features, and Requirements
- Archive completed initiatives while preserving the underlying artifacts