Pattern 2: Plan-First Development

Creating Detailed Implementation Plans and Breaking Them Into Commit-Sized Tasks

Overview

Plan-first development means creating a detailed plan before writing code, then executing that plan in reviewable chunks.

Why plan with AI?

  • AI won’t assume things you don’t want
  • You avoid unnecessary complexity
  • You can inject your knowledge into the plan
  • You get feedback before investing time
  • You create a record of decisions

This pattern works best for complex features that touch multiple parts of a codebase. Planning ensures each piece builds toward your final vision.

Plan First Project Examples

Tny.dev product

Tny.dev is a link shortening service. It contains all the features you might expect, URL shortening, analytics, bulk shortening, and custom slugs and domains.

This product was built fully agentically using spec driven agentic development.

Ruler CLI Library

Ruler is a CLI tool for managing context across many coding Agents. Eleanor Berger created this to enable teams to co-manage context while experimenting and preventing lockin to a particular coding too.

The Product Requirements Document

A PRD is the most common planning document in plan-first development. Use PRDs for an entire product, a feature, a release, or part of a feature.

Ryan Carson of Amp demonstrated PRD-first development during Build Crew kickoff. He voice-dictated a product idea, then used AI to turn the transcript into a PRD for implementation.

Structure of a PRD

Here’s what a PRD looks like:

# Product Requirements (PRD) — [Feature or Release Title]

Status: Draft / Review / Approved

## 1. Summary
Short paragraph describing the feature and the user problem it solves.

## 2. Goals
- Primary goal 1
- Secondary goal 2

## 3. Success metrics
- Metric A (e.g. deliverability > 95%)
- Metric B (e.g. signups/day +10%)

## 4. User personas & stories
- Persona: description
- Stories:
  - "As a <persona>, I want <action> so that <benefit>" — Acceptance criteria

## 5. Scope
- In scope
- Out of scope

## 6. UX / Mockups
- Link to sketches or paste core screenshots.

## 7. Data & API impact
- Database tables changed
- New API endpoints

## 8. Security & Privacy considerations

## 9. Timeline & milestones
- Week 1: design
- Week 2: implementation

## 10. Stakeholders
- Product: name
- Engineering: name
- Design: name

## 11. Open questions
- Q1 — owner

## 12. Acceptance criteria
- Bullet list of testable acceptance criteria

## 13. Links
- Related issues / PRs / decision log entries

Exercise: Plan New Features for PlantAutopsy

Let’s use plan-first development to add substantial features to the PlantAutopsy landing page from Chapter 1.

  1. Voice-dictate feature ideas for PlantAutopsy. Include details about:

    • Plant health timeline tracker (upload photos over time)
    • Integration with google maps to find places for replacement plants Save your transcript as plantautopsy-features.md.
  2. Create a PRD using an AI agent. Tell it: “Create a PRD from plantautopsy-features.md for adding these features to PlantAutopsy.”

  3. Review the PRD against the template above. Does it have clear success metrics? User stories? Acceptance criteria?

  4. Edit the PRD to ensure it includes:

    • Specific metrics (e.g., “Users upload 3+ photos per plant lifecycle”)
    • Clear scope boundaries (e.g., “V1 excludes outdoor plants”)
    • Technical requirements (e.g., “Need image storage solution”)
  5. Get architectural feedback. Tell AI: “Act as a software architect and critique this PRD. Focus on technical feasibility and potential scaling issues.”

  6. Minimize scope. Tell AI: “Address all feedback and create an MVP version that could ship in 2 weeks.”

  7. Edit. Read and heavily edit to what you think makes sense throughout this process

Transcription Detail

Voice transcriptions should be complete and thorough. Mine run 5-10 minutes or longer!