| name | estimation |
| description | Estimate software project effort, complexity, uncertainty, capacity, cost, and delivery ranges using scoped work, decomposed tasks, dependencies, and implementation risk. |
Purpose
This skill helps forecast the effort, time, cost, capacity, and uncertainty
associated with software project work.
Use this skill when:
- Sizing tasks or milestones
- Forecasting delivery ranges
- Planning capacity
- Comparing implementation options
- Evaluating complexity
- Preparing for scheduling
Inputs
Expected inputs:
- Decomposed tasks
- Scope boundaries
- Acceptance criteria
- Dependencies
- Architecture assumptions
- Team capacity
- Known risks
- Target confidence level
Inputs usually come from decomposition, dependency-analysis, and
architecture. If the work cannot be sized, use decomposition and
dependency-analysis first.
Estimation Principles
Always optimize for:
- Explicit assumptions
- Range-based estimates
- Visible uncertainty
- Complexity awareness
- Capacity realism
Avoid optimizing solely for:
- False precision
- Best-case timelines
- Deadline appeasement
- Ignoring review and testing
- Treating all engineers as interchangeable
Process
Step 1: Clarify Estimation Unit
Determine whether estimating:
- Task effort
- Milestone duration
- Team capacity
- Calendar time
- Cost
- Delivery confidence
Flag estimates requested without enough scope or acceptance criteria.
Step 2: Size Work Items
Evaluate each item by:
- Implementation complexity
- Unknowns
- Dependencies
- Testing effort
- Review effort
- Rollout effort
Use ranges when uncertainty is meaningful.
Step 3: Account for Risk and Capacity
Consider:
| Factor | Questions |
|---|
| Uncertainty | What is not yet known? |
| Dependency Risk | What could block progress? |
| Team Capacity | Who is available and when? |
| Review Load | What reviews or approvals are needed? |
| Operational Work | What support, rollout, or migration work exists? |
Add buffers based on actual uncertainty, not arbitrary padding.
Step 4: Produce Estimate
Generate:
- Effort estimate
- Calendar estimate
- Confidence level
- Assumptions
- Risks
- Work that should be spiked before committing
Anti-Patterns
Avoid:
- Estimating unscoped work
- Providing a single precise date when uncertainty is high
- Ignoring dependencies
- Excluding testing and review
- Letting deadlines define estimates
- Hiding low confidence
Reviewer Checklist
Before finalizing estimates:
- Are assumptions explicit?
- Are ranges used where appropriate?
- Are dependencies included?
- Is capacity realistic?
- Can
scheduling use the estimate?
Escalation Guidance
Escalate when:
- Required confidence is higher than evidence supports
- Deadlines conflict with estimated effort
- Capacity is insufficient
- Dependencies make estimates unreliable
- Scope must change to meet timing
Example
Input:
- Tasks: database fields, checklist API, frontend checklist, analytics event
- Capacity: one backend engineer and one frontend engineer
Expected estimate:
- Backend: 3-5 engineering days
- Frontend: 4-6 engineering days
- Analytics and QA: 2-3 engineering days
- Overall calendar range: 2-3 weeks depending on review load
Recommended next skill:
- Use
scheduling to turn the estimate into an execution plan.