mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-23 02:06:36 +00:00
109 lines
2.6 KiB
Markdown
109 lines
2.6 KiB
Markdown
# Feature Specification Template
|
|
|
|
Create a focused behavioral specification that describes **what** the system should do, not **how** it should be built.
|
|
Save as `TASKS_DIR/<topic>/[##]_[component_name]/[##].[##]_feature_[feature_name].md`.
|
|
|
|
---
|
|
|
|
```markdown
|
|
# [Feature Name]
|
|
|
|
**Status**: Draft | **Date**: [YYYY-MM-DD] | **Feature**: [Brief Feature Description]
|
|
**Complexity**: [1|2|3|5] points
|
|
**Dependencies**: [List dependent features or "None"]
|
|
**Component**: [##]_[component_name]
|
|
|
|
## Problem
|
|
|
|
Clear, concise statement of the problem users are facing.
|
|
|
|
## Outcome
|
|
|
|
- Measurable or observable goal 1
|
|
- Measurable or observable goal 2
|
|
|
|
## Scope
|
|
|
|
### Included
|
|
- What's in scope for this feature
|
|
|
|
### Excluded
|
|
- Explicitly what's NOT in scope
|
|
|
|
## Acceptance Criteria
|
|
|
|
**AC-1: [Title]**
|
|
Given [precondition]
|
|
When [action]
|
|
Then [expected result]
|
|
|
|
**AC-2: [Title]**
|
|
Given [precondition]
|
|
When [action]
|
|
Then [expected result]
|
|
|
|
## Non-Functional Requirements
|
|
|
|
**Performance**
|
|
- [requirement if relevant]
|
|
|
|
**Compatibility**
|
|
- [requirement if relevant]
|
|
|
|
**Reliability**
|
|
- [requirement if relevant]
|
|
|
|
## Unit Tests
|
|
|
|
| AC Ref | What to Test | Required Outcome |
|
|
|--------|-------------|-----------------|
|
|
| AC-1 | [test subject] | [expected result] |
|
|
|
|
## Integration Tests
|
|
|
|
| AC Ref | Initial Data/Conditions | What to Test | Expected Behavior | NFR References |
|
|
|--------|------------------------|-------------|-------------------|----------------|
|
|
| AC-1 | [setup] | [test subject] | [expected behavior] | [NFR if any] |
|
|
|
|
## Constraints
|
|
|
|
- [Architectural pattern constraint if critical]
|
|
- [Technical limitation]
|
|
- [Integration requirement]
|
|
|
|
## Risks & Mitigation
|
|
|
|
**Risk 1: [Title]**
|
|
- *Risk*: [Description]
|
|
- *Mitigation*: [Approach]
|
|
```
|
|
|
|
---
|
|
|
|
## Complexity Points Guide
|
|
|
|
- 1 point: Trivial, self-contained, no dependencies
|
|
- 2 points: Non-trivial, low complexity, minimal coordination
|
|
- 3 points: Multi-step, moderate complexity, potential alignment needed
|
|
- 5 points: Difficult, interconnected logic, medium-high risk
|
|
- 8 points: Too complex — split into smaller features
|
|
|
|
## Output Guidelines
|
|
|
|
**DO:**
|
|
- Focus on behavior and user experience
|
|
- Use clear, simple language
|
|
- Keep acceptance criteria testable (Gherkin format)
|
|
- Include realistic scope boundaries
|
|
- Write from the user's perspective
|
|
- Include complexity estimation
|
|
- Note dependencies on other features
|
|
|
|
**DON'T:**
|
|
- Include implementation details (file paths, classes, methods)
|
|
- Prescribe technical solutions or libraries
|
|
- Add architectural diagrams or code examples
|
|
- Specify exact API endpoints or data structures
|
|
- Include step-by-step implementation instructions
|
|
- Add "how to build" guidance
|