Project estimation is part science, part judgement, part hedging.
Approach:
1. Decompose into work units. Don't estimate "implement Sales Cloud"; break into objects, page layouts, validation rules, flows, integrations, reports, dashboards, training modules.
2. Estimate per unit using past benchmarks. Most consultancies maintain effort tables:
- Custom field with validation: 2 hours.
- New custom object with full security: 8 hours.
- Standard flow with 5 elements: 4-8 hours.
- Complex integration with auth + transformation + retry: 80-160 hours.
- Lightning Record Page redesign: 8-16 hours per page.
3. Add time for non-build work: Discovery (15-25% of total), Test (15-20%), Project Management (10-15%), Training (5-10%), UAT support (10%), Hypercare (5%).
4. Add buffer for unknowns. Junior estimators forget to add buffer; seniors always do. Typical buffer: 20-30% on top of the bottom-up estimate.
5. Validate top-down. Compare to similar past projects. If your bottom-up says 200 days but past similar work was 400, something's missing.
6. Document assumptions explicitly. "Estimate assumes 1 sandbox, 5 user profiles, no Field Service, single-org, English-only data." Each assumption is a future change-order trigger if violated.
Common pitfalls:
- Underestimating data migration — always 2-3x what you think.
- Underestimating integrations — third-party systems are unpredictable.
- Underestimating change management — if not planned, surprises with delivery.
- Estimating in "perfect-world" mode — assumes nobody is sick, nothing changes, no surprises. Real projects don't run that way.
- Anchoring on what the client wants to hear — sales pressure to fit a number, leading to under-estimation.
Tools:
- T-shirt sizing (S/M/L/XL) for early-phase estimates.
- Story points for in-sprint estimation.
- Three-point estimation (best/most-likely/worst case) for risk-aware estimates.
A senior consultant defends estimates with documented logic. "Trust me" doesn't survive a budget overrun review.
