How We Plan and Estimate

Breaking down work, setting milestones, and managing scope

How We Plan and Estimate

Estimation is hard. AI makes us faster, but not infinitely fast. This guide covers how we plan realistic timelines.

Core principle: Plan in outcomes, not hours. "Login works" is better than "8 hours on auth."

Why Estimation Matters

  • Sets expectations — stakeholders know when to expect results
  • Reveals scope — breaking down work exposes hidden complexity
  • Enables prioritization — can't fit everything? Cut the least important
  • Tracks progress — milestones show if we're on track

The Planning Process

PRD → Break into milestones → Define tasks → Estimate → Review → Commit

Step 1: Break Into Milestones

Milestones are meaningful checkpoints. Each should deliver something usable.

Good Milestones

MilestoneWhat's Deliverable
"Users can upload keywords"Upload flow works end-to-end
"Clustering runs and shows results"Core feature functional
"Admin can view all jobs"Admin dashboard works
"Deployed to production"Live and accessible

Bad Milestones

MilestoneWhy It's Bad
"Backend done"Not user-facing, hard to verify
"50% complete"Meaningless without context
"Database set up"Too small, not a checkpoint
"All features done"Too big, no intermediate checks

Example: Keyword Clustering Tool

Week 1 Milestones:
├── M1: User can upload CSV and see keywords parsed
├── M2: Clustering runs (even if slow)
└── M3: Results display with cluster labels

Week 2 Milestones:
├── M4: Progress indicator during clustering
├── M5: Export results to CSV
└── M6: Deployed to Railway

Step 2: Define Tasks

Each milestone breaks into tasks. Tasks should be completable in a few hours.

Task Format

- [ ] [Component/Area] Task description
      Estimate: S/M/L
      Dependencies: None | Task X

Size Guide

SizeMeaningRoughly
SStraightforward, done before1-2 hours
MSome complexity, clear approach2-4 hours
LUnknown elements, might need research4-8 hours
XLBreak it down furtherToo big

Example: Milestone Breakdown

M1: User can upload CSV and see keywords parsed

- [ ] [UI] Create upload component with drag-drop
      Size: M
      Dependencies: None

- [ ] [API] Create /api/upload endpoint
      Size: S
      Dependencies: None

- [ ] [Logic] Parse CSV, extract keywords
      Size: S
      Dependencies: API endpoint

- [ ] [DB] Save keywords to Supabase
      Size: S
      Dependencies: Parse logic

- [ ] [UI] Display parsed keywords in table
      Size: M
      Dependencies: DB save works

Step 3: Estimate Realistically

The Multiplier Rule

Your EstimateMultiply ByWhy
First time doing this2xUnknown unknowns
Done similar before1.5xIntegration surprises
Done exactly this1.2xContext switching, review

What Eats Time

FactorImpact
Environment setup+20% first week
External API integration+50% if new API
Authentication+30% if first time
AI/ML features+50% unpredictable
Polish and edge cases+30% always

AI Doesn't Eliminate All Work

Claude Code accelerates coding, but you still need time for:

  • Thinking about the right approach
  • Reviewing and testing AI output
  • Fixing edge cases AI missed
  • Integration and deployment
  • Communication and coordination

Rule of thumb: AI makes you 2-3x faster, not 10x.

Step 4: Create the Timeline

Timeline Template

## [Project Name] Timeline

### Week 1: [Theme]
**Goal**: [What's working by end of week]

Monday-Tuesday:
- [ ] Task 1
- [ ] Task 2

Wednesday-Thursday:
- [ ] Task 3
- [ ] Task 4

Friday:
- [ ] Task 5
- [ ] Buffer for overflow

**Milestone Check**: [What should work]

### Week 2: [Theme]
...

Example: AI Overviews Checker Timeline

## AI Overviews Checker Timeline

### Week 1: Core Functionality
**Goal**: Can check keywords and see results

Monday-Tuesday:
- [ ] Project setup, Supabase schema
- [ ] DataForSEO API client
- [ ] Keyword input form

Wednesday-Thursday:
- [ ] Batch keyword checking logic
- [ ] Results storage and display
- [ ] Basic error handling

Friday:
- [ ] Progress indicator
- [ ] Buffer

**Milestone Check**: Enter keywords, see AI Overview results

### Week 2: Polish & Deploy
**Goal**: Production-ready

Monday-Tuesday:
- [ ] Export functionality
- [ ] Rate limit handling
- [ ] Better error messages

Wednesday-Thursday:
- [ ] Loading states, empty states
- [ ] Mobile responsiveness
- [ ] Railway deployment

Friday:
- [ ] Documentation
- [ ] Team demo
- [ ] Handoff

**Milestone Check**: Live on production, team can use it

Managing Scope

When You're Behind

Priority 1: Cut scope      → Remove "nice to have" features
Priority 2: Reduce quality → Ship rougher edges, polish later
Priority 3: Extend time    → Only if stakeholder agrees

The MoSCoW Method

PriorityMeaningExample
MustWon't ship withoutCore keyword checking
ShouldImportant but workaround existsExport to CSV
CouldNice to haveDark mode
Won'tExplicitly not doingUser accounts

Scope Negotiation

When someone asks for more:

"We can add [feature], but that means either:
A) Pushing the deadline by X days, or
B) Removing [other feature] from this release

Which would you prefer?"

Never just say yes and absorb the extra work silently.

Common Mistakes

Estimating in "perfect conditions"

Signs: "If I just focus, I can do this in 2 days" (never happens).

Fix: Add buffer for meetings, context switching, bugs, and learning curves.

Not tracking against estimates

Signs: You estimate at the start, never look at it again.

Fix: Check progress against milestones weekly. Adjust early, not late.

Treating estimates as commitments

Signs: Stress when estimates prove wrong, hiding delays.

Fix: Estimates are guesses. Communicate when reality differs. Adjust plans.

Padding everything instead of being honest

Signs: Every task is "Large" because you're scared to commit.

Fix: Estimate honestly, then apply project-level buffer. Transparency builds trust.

Evaluation Checklist

Your planning is working if:

  • Milestones are clear and deliverable
  • Tasks are small enough to complete in a day
  • You know what "done" looks like
  • Stakeholders understand the timeline
  • You're checking progress weekly
  • Scope changes are negotiated, not absorbed

Your planning needs work if:

  • You're always "almost done"
  • Milestones keep moving
  • Tasks turn out to be 3x larger than expected
  • Nobody knows when things will be ready
  • You're surprised by how much is left

Quick Reference

Estimation Checklist

Before committing to a timeline:

  • Broken into milestones with deliverables?
  • Tasks sized (S/M/L) with dependencies?
  • Buffer added for unknowns?
  • Stakeholder aligned on scope and timeline?
  • Plan documented and shared?

Time Sinks to Remember

CategoryAdd Buffer
New API integration+50%
First time with technology+30%
Auth/permissions+30%
ML/AI unpredictability+50%
Deployment+20%
Polish and edge cases+30%

When Scope Creeps

  1. Document the new request
  2. Estimate the impact
  3. Present trade-offs to stakeholder
  4. Get explicit decision
  5. Adjust plan accordingly