Posted 07.27.2010 by Jack
- look at other similar projects, how long those took, what problems you ran into on those
- hourly estimates, number of days
- write out a narrative of the expected timeline
- add a lot of padding to initial estimates
- your estimate builds your client's expectations; don't inflate them artificially
- if you're really honest, some clients might come back and say no; have to accept that possibility
- if you do a high-end hourly estimate, you might come in under budget and the client might get a better deal
- keep your old proposals for similar kinds of projects; you can reuse them
- trickier with R&D work where there's no clear answer of what it'll take to do solve a problem before you get deep into it
- migration is a very tricky process, difficult to accurately estimate, though you can still use past experience to anticipate how long it will take
- get it in the client's mind that estimates will have to be revisited after looking at the data
- Use formulas like if x is the amount of time you estimate, add 1/3 or 20% project management + 10% quality assurance or some other padding margin
- train clients to take responsibility for these things
- wireframe or explain exactly how you're going to tackle a problem up front for the client
- you can give warranties on Drupal sites, though it's not mandatory; a warranty can say "I'll fix whatever is wrong for the three week period of this warranty"
- don't underbid to make the sale unless you want to get burned
- your rate needs to cover your unbillable business costs
- specifically say that requesting additional estimates for additional work is paid work
- some people charge for change orders on contracts
- maintenance contracts - some people offer annual packages for basic maintenance and changes, some monthly packages, but certain requests constitute entirely new projects
- you can create those contracts with clauses that deal with if other people get involved in the projects in the interim so you aren't expected to fix other people's problems
- maintenance agreements = an important source of recurring revenue
- include requirements around hosting in your contracts, charge more for annoying/atypical/unfamiliar hosting situations