Feature Specification Template
Template for Feature Specification. Customize this template for your specific needs.
For Informational Purposes
This document template is provided for informational purposes. Customize it for your specific needs.
Document: Feature Specification
Template Preview
Version 1 • Last updated 6/4/2026
Feature Specification: [Feature name]
Author: [Your name] Status: [Draft / In review / Approved] Date: [Date] Target release: [Version or date] Related PRD: [Link or "n/a"]
1. Summary and problem
[In two or three sentences, describe the feature and the user or business problem it solves. A reader should understand what is being built and why it matters before reading any further.]
2. Goals and non-goals
Goals
- [What this feature must achieve — the outcome that defines success.]
- [A second goal, if there is one.]
Non-goals
- [Something a reader might reasonably expect that this feature deliberately does NOT do.]
- [Another explicit exclusion that keeps scope honest.]
3. User stories
- As a [role], I want [capability] so that [benefit].
- As a [role], I want [capability] so that [benefit].
- As a [role], I want [capability] so that [benefit].
4. Functional requirements
[Number each requirement so it can be referenced in reviews and traced to a test. Describe behaviour, not implementation.]
- [The feature must ...]
- [The feature must ...]
- [The feature must ...]
- [The feature must ...]
5. Acceptance criteria
[Write each as a checkable condition, ideally Given / When / Then. These define "done."]
- Given [starting state], when [action], then [observable result].
- Given [starting state], when [action], then [observable result].
- Given [starting state], when [action], then [observable result].
6. Edge cases
[List the unusual, empty, error, and boundary conditions, and the expected behaviour for each.]
| Edge case | Expected behaviour |
|---|---|
| [Empty / no data] | [What the user sees] |
| [Invalid input] | [How it is handled] |
| [Limit reached / boundary] | [What happens] |
| [Action fails] | [Error behaviour and recovery] |
7. Dependencies
- [Other features, services, data, or teams this feature relies on.]
- [Anything that must exist or ship first.]
8. Out of scope
- [Related capability explicitly left for later.]
- [Another exclusion, parked rather than built.]
Open questions
- [Anything not yet decided that could change the spec — assign an owner and resolve before build.]
About this Template
Part of the Feature Specification document collection
Document Type
Feature Specification
A clear definition of a single feature — purpose, behaviour, and acceptance criteria.