How to give a quick estimate of a software project
Here’s my hard and fast version of how to do estimates if someone needs a quick estimate and that is looking for a ballpark figure.
- Estimate what you think it’ll take to develop it
- Triple it.
- R&D of new or unproven technologies
- Proof of concept
- Debugging
- Project management
- meetings
- conference calls
- conflict resolution, law suits
- travel
- QA
- User acceptance
- Requirements ambiguity
- Complicated migrations of legacy data
- Uncooperative partners
- 3rd world offshore programmer electricity and internet outages, natural disasters
- Company politics
- User and/or developer documentation, training
- Unforseen regulatory compliance requirements
- Recalcitrant status-quo team members
- Undocumented or incomplete APIs/web services that you’re required to integrate with
- All the other stuff that can derail a project
- Then say the estimate has a degree of accuracy of +/- x% (usually 30-50%) and it’s not binding, a more precise estimate can be given with more details later.
If they don’t like it or think it’s too high then tell them they have to give you more details but with what little you have it’s too risky to shave an estimate with so little details and that you value an ongoing collaborative relationship more than a line drawn in the sand based on too little information. After all, you signed the Agile Manifesto, right?
“Customer collaboration over contract negotiation”



