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
| Milestone | What'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
| Milestone | Why 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
| Size | Meaning | Roughly |
|---|---|---|
| S | Straightforward, done before | 1-2 hours |
| M | Some complexity, clear approach | 2-4 hours |
| L | Unknown elements, might need research | 4-8 hours |
| XL | Break it down further | Too 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 Estimate | Multiply By | Why |
|---|---|---|
| First time doing this | 2x | Unknown unknowns |
| Done similar before | 1.5x | Integration surprises |
| Done exactly this | 1.2x | Context switching, review |
What Eats Time
| Factor | Impact |
|---|---|
| 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
| Priority | Meaning | Example |
|---|---|---|
| Must | Won't ship without | Core keyword checking |
| Should | Important but workaround exists | Export to CSV |
| Could | Nice to have | Dark mode |
| Won't | Explicitly not doing | User 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
| Category | Add 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
- Document the new request
- Estimate the impact
- Present trade-offs to stakeholder
- Get explicit decision
- Adjust plan accordingly