PRDs and Design Docs
Purpose
This note clarifies what a Product Requirements Document (PRD) is, what a Design Document is, and when to use each in a project. It also outlines how both document types relate to Architecture Decision Records (ADRs) and provides a lightweight workflow and templates you can adapt inside the repository.
Product Requirements Document (PRD)
A PRD captures the what and why of a feature from the product or user‑value perspective.
- Audience: Anyone concerned with the problem, user outcomes, or business goals (including future collaborators).
- Focus: User needs, scope, success metrics, and high‑level constraints.
- Typical Sections:
- Objective / Problem Statement
- Target Users & Use Cases
- Success Metrics & KPIs
- Scope and Out‑of‑Scope Items
- Non‑Functional Requirements (performance, security, compliance)
- Acceptance Criteria
- References (links to design docs, issues, research)
Design Document
A Design Document (DD) describes the how—the technical approach for implementing a feature or system.
- Audience: Engineers and reviewers who need to understand implementation details.
- Focus: Architecture, data flows, APIs, trade‑offs, testing, and rollout plans.
- Typical Sections:
- Architecture Overview (with diagrams)
- Data Model & Schemas
- API / Interface Definitions
- Alternatives Considered & Trade‑offs
- Testing & Validation Strategy
- Rollout / Migration Plan
- Open Questions & Risks
- References (links to ADRs, code spikes, benchmarks)
Key Differences at a Glance
Aspect | PRD | Design Document |
---|---|---|
Primary Question | What are we building and why? | How are we going to build it? |
Perspective | User / product | Engineering |
Length | Short narrative + bullet lists | Medium‑length technical write‑up |
Outcome | Align on problem and success criteria | Align on technical approach and trade‑offs |
Changes Over Time | Rare (only if product scope shifts) | May evolve as implementation details change |
Relationship to ADRs
- ADRs capture single, high‑impact architectural decisions and their rationale.
- A PRD can reference one or more Design Docs for implementation details.
- A Design Doc should reference any ADRs that influenced its architecture choices.
Recommended Workflow
- Start with a PRD when a new feature idea surfaces and you need clarity on objectives and success metrics.
- Draft a Design Doc once the PRD is accepted (or for solo work, once you are satisfied with the PRD content).
- Create ADRs only when an irreversible or hard‑to‑reverse architectural choice arises during design.
- Keep all docs in Git:
docs/prd/
for PRDsdocs/design/
for Design Docsdocs/adrs/
for ADRs
- Review docs via Pull Requests, just like code.
AI Assistance: Consider using Four Modes of AI-Assisted Coding to match your documentation phase with the appropriate AI assistance approach—from throwaway brainstorming to surgical refinements.
Templates
- PRD Template
docs/prd/YYYY‑MM‑Feature‑Name.md
# Title
**Date:** YYYY‑MM‑DD
**Status:** Draft | Accepted
## Objective
...
## Users & Use Cases
...
## Success Metrics
...
## Scope / Out of Scope
...
## Acceptance Criteria
...
## References
...
- Design Doc Template
docs/design/YYYY‑MM‑Feature‑Name.md
# Title
**Date:** YYYY‑MM‑DD
**Status:** Draft | In Review | Accepted | Implemented
## Product Requirements (link to PRD)
...
## Architecture Overview
...
## Data Model
...
## Alternatives Considered
...
## Testing & Rollout
...
## Open Questions
...
## References
...
Tip: For small solo features you can combine PRD and Design sections in one file, but split them when the audience or complexity grows.
Related Notes
- Four Modes of AI-Assisted Coding - Core framework for AI assistance strategy applied above
- 10 Principles for Coding with AI - Context and iteration principles for documentation
- Agentic Programming with Claude Code - Advanced AI workflows for documentation automation