aipackage/.specify/templates/spec-template.md

5.9 KiB

Feature Specification: [FEATURE NAME]

Feature Branch: [###-feature-name]

Created: [DATE]

Status: Draft

Input: User description: "$ARGUMENTS"

User Scenarios & Testing (mandatory)

User Story 1 - [Brief Title] (Priority: P1)

[Describe this user journey in plain language]

Why this priority: [Explain the value and why it has this priority level]

Independent Test: [Describe how this can be tested independently - e.g., "Can be fully tested by [specific action] and delivers [specific value]"]

Acceptance Scenarios:

  1. Given [initial state], When [action], Then [expected outcome]
  2. Given [initial state], When [action], Then [expected outcome]

User Story 2 - [Brief Title] (Priority: P2)

[Describe this user journey in plain language]

Why this priority: [Explain the value and why it has this priority level]

Independent Test: [Describe how this can be tested independently]

Acceptance Scenarios:

  1. Given [initial state], When [action], Then [expected outcome]

User Story 3 - [Brief Title] (Priority: P3)

[Describe this user journey in plain language]

Why this priority: [Explain the value and why it has this priority level]

Independent Test: [Describe how this can be tested independently]

Acceptance Scenarios:

  1. Given [initial state], When [action], Then [expected outcome]

[Add more user stories as needed, each with an assigned priority]

Edge Cases

  • What happens when [boundary condition]?
  • How does system handle [error scenario]?
  • What happens when installation, upgrade, or a dependent service is interrupted?
  • What can the customer or support engineer safely do to recover?
  • How do Workstation/Server tiers and entitlements change the journey?

Requirements (mandatory)

Functional Requirements

  • FR-001: System MUST [specific capability, e.g., "allow users to create accounts"]
  • FR-002: System MUST [specific capability, e.g., "validate email addresses"]
  • FR-003: Users MUST be able to [key interaction, e.g., "reset their password"]
  • FR-004: System MUST [data requirement, e.g., "persist user preferences"]
  • FR-005: System MUST [behavior, e.g., "log all security events"]

Enterprise Appliance Requirements (mandatory)

  • EA-001 Customer Experience: [Define complete primary journey, consistent terminology, and actionable empty/error/degraded states]
  • EA-002 Security & Audit: [Define authorization, secure defaults, sensitive-data boundaries, and required audit evidence]
  • EA-003 Lifecycle & Recovery: [Define install/upgrade/configuration impact, interruption behaviour, rollback, backup/restore, and support recovery path, or state N/A with rationale]
  • EA-004 Entitlement & Packaging: [Define Workstation/Server and tier behaviour plus every packaged/deployment surface that must remain aligned, or state N/A with rationale]
  • EA-005 Operability: [Define diagnostics, logs, health signals, offline/restricted-network assumptions, and support documentation]

Example of marking unclear requirements:

  • FR-006: System MUST authenticate users via [NEEDS CLARIFICATION: auth method not specified - email/password, SSO, OAuth?]
  • FR-007: System MUST retain user data for [NEEDS CLARIFICATION: retention period not specified]

Key Entities (include if feature involves data)

  • [Entity 1]: [What it represents, key attributes without implementation]
  • [Entity 2]: [What it represents, relationships to other entities]

Success Criteria (mandatory)

Measurable Outcomes

  • SC-001: [Measurable metric, e.g., "Users can complete account creation in under 2 minutes"]
  • SC-002: [Measurable metric, e.g., "System handles 1000 concurrent users without degradation"]
  • SC-003: [User satisfaction metric, e.g., "90% of users successfully complete primary task on first attempt"]
  • SC-004: [Business metric, e.g., "Reduce support tickets related to [X] by 50%"]

Verification Evidence (mandatory)

  • Static/local evidence: [Checks and automated tests required]
  • Deployment evidence: [Installed-environment checks required, or N/A with rationale]
  • Live-appliance evidence: [Customer-like journey and failure/recovery checks, or N/A with rationale]
  • Release artifact evidence: [Package/ISO provenance and content checks, or N/A with rationale]

Assumptions

  • [Assumption about target users, e.g., "Users have stable internet connectivity"]
  • [Assumption about scope boundaries, e.g., "Mobile support is out of scope for v1"]
  • [Assumption about data/environment, e.g., "Existing authentication system will be reused"]
  • [Dependency on existing system/service, e.g., "Requires access to the existing user profile API"]