Skip to main content

Lesson 3: What is Specification-Driven Development?

Anatomy of a Specification

A production-ready specification has four components:

1. Intent

What you're building and why it matters

2. Success Criteria

Testable outcomes that define "done"

3. Constraints

Non-negotiable rules (security, performance, etc.)

4. Non-Goals

What the feature explicitly does NOT do

Example: User Login

Intent: Allow users to access their accounts securely

Success Criteria:

  • User can log in with email and password
  • Invalid credentials show clear error
  • Successful login redirects to dashboard

Constraints:

  • Passwords must be hashed (bcrypt)
  • Rate limiting: 5 attempts per 15 minutes
  • Response time < 200ms

Non-Goals:

  • Social login (OAuth)
  • Password reset (separate feature)
  • Multi-factor authentication (future)

Key Takeaway

Four components make specs complete
Testable criteria ensure quality
Non-Goals prevent scope creep

Continue to Lesson 4 →