Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Requirements & Specifications

Overview

Requirements documentation bridges the gap between product strategy and engineering execution. Good requirements clearly communicate what to build and why, while leaving how to the engineering team.

Types of Requirements Documents

Product Requirements Document (PRD)

A comprehensive document describing a feature, product, or initiative.

Best for: Major features, new products, complex initiatives

Key Sections:

  1. Overview and context
  2. Problem statement
  3. Goals and success metrics
  4. User stories or use cases
  5. Functional requirements
  6. Non-functional requirements
  7. Design considerations
  8. Out of scope
  9. Open questions
  10. Timeline and milestones

See: PRD Template


User Stories

Short, simple descriptions of features from the user’s perspective.

Format:

As a [user type], I want to [action] so that [benefit/goal].

Examples:

As a nonprofit fundraiser, I want to filter audiences by giving history so that I can target donors likely to give again.

As an agency account manager, I want to download audience lists in CSV format so that I can import them into my client’s CRM.

Components:

  • Title: Brief descriptive name
  • Story: The as/want/so that statement
  • Acceptance Criteria: Conditions that must be true for the story to be complete
  • Context: Background information and constraints

See: User Story Template


Acceptance Criteria

Specific, testable conditions that define when a user story is complete.

Good Acceptance Criteria Are:

  • Specific: Clear and unambiguous
  • Testable: Can be verified as pass/fail
  • Outcome-focused: Describe results, not implementation
  • Independent: Don’t assume other stories

Format Options:

Scenario-based (Given/When/Then):

Given I am logged in as an agency user
When I select an audience and click "Download"
Then a CSV file downloads containing all audience records with columns: Name, Address, City, State, Zip, Score

Checklist format:

- [ ] Download button appears for all audience types
- [ ] CSV includes all required columns
- [ ] File name includes audience name and date
- [ ] Download completes within 30 seconds for audiences up to 100K records
- [ ] Error message displays if download fails

Epic

A large body of work that can be broken down into multiple user stories.

Format:

Enable [user type] to [achieve goal] through [capability area].

Example:

Enable nonprofit fundraisers to discover high-potential donors through predictive audience modeling.

Epic Components:

  • Summary and goals
  • User persona
  • Success metrics
  • Child stories
  • Dependencies
  • Timeline

Writing Effective Requirements

The INVEST Criteria (for User Stories)

LetterMeaningDescription
IIndependentCan be developed separately from other stories
NNegotiableDetails can be discussed and refined
VValuableDelivers value to user or business
EEstimableTeam can estimate the effort
SSmallCan be completed in one sprint
TTestableClear criteria for done

Levels of Detail

Requirements should be detailed enough to:

  • Enable accurate estimation
  • Prevent major misunderstandings
  • Allow testing and verification

But not so detailed that they:

  • Constrain engineering creativity
  • Become outdated quickly
  • Take longer to write than build

Rule of thumb: If the team is asking clarifying questions, add more detail. If they’re implementing exactly what’s written without thinking, you may be over-specifying.

Common Pitfalls

PitfallProblemBetter Approach
Solution masquerading as problem“We need a dropdown”“Users need to select from options”
Vague acceptance criteria“Should be fast”“Response time < 2 seconds”
Missing edge casesHappy path onlyInclude error states, empty states
No success metricsCan’t measure valueDefine measurable outcomes
Too much detailOver-constrains solutionFocus on what, not how

Functional vs Non-Functional Requirements

Functional Requirements

What the system should do.

Examples:

  • User can filter audiences by date range
  • System sends email notification when export completes
  • API returns audience count before download

Non-Functional Requirements (NFRs)

How the system should perform.

Categories:

CategoryExamples
PerformanceResponse time < 500ms, handle 1000 concurrent users
ScalabilitySupport 10x data growth over 3 years
Reliability99.9% uptime, graceful degradation
SecurityData encryption, access controls, audit logging
UsabilityAccessible (WCAG 2.1), mobile-responsive
CompatibilityBrowser support, API versioning
ComplianceGDPR, CCPA, SOC 2 requirements

Path2Response NFRs to Consider:

  • Data freshness (within X hours)
  • Match rate accuracy
  • Privacy compliance
  • Integration compatibility
  • Processing throughput

Requirements at Different Scales

For Small Features (1-2 Sprints)

  • User story with acceptance criteria
  • Verbal discussion with team
  • Minimal documentation

For Medium Features (1-2 Months)

  • Brief PRD (1-2 pages)
  • Multiple user stories
  • Design mockups
  • Technical review

For Large Initiatives (Quarter+)

  • Full PRD
  • Epic with many stories
  • Architecture review
  • Cross-team coordination
  • Phased rollout plan

The Requirements Process

1. Draft

PM writes initial requirements based on discovery.

2. Review with Engineering

  • Validate technical feasibility
  • Identify dependencies
  • Surface concerns and questions
  • Rough effort estimation

3. Review with Design

  • UX feasibility
  • Design patterns
  • User flow considerations

4. Refine

Incorporate feedback, add detail, resolve questions.

5. Approve

Stakeholder sign-off on scope and priorities.

6. Groom

Break into sprint-sized stories, refine acceptance criteria.

7. Iterate

Continue refining as work progresses and questions arise.


Path2Response Requirements Context

Jira Structure

  • PROD Project: Product requirements and stories
  • PATH Project: Engineering implementation tickets
  • Epics: Link related stories together
  • Custom Fields: Acceptance Criteria, Test Plan

Story Format Standards

Based on existing P2R practices:

Description Structure:

**Persona Statement**
As a [user type], I need to [action] so that [benefit].

**Current Context / Situation**
[What exists today and why it's a problem]

**Desired Situation / Behavior**
[What should happen after this story is complete]

Custom Fields:

  • Acceptance Criteria: Checklist of testable conditions
  • Test Plan: Steps to verify the story works

Grooming Scores

P2R uses grooming scores to measure ticket quality:

  • Acceptance criteria completeness
  • Test plan presence
  • Context clarity
  • Technical readiness