Before sending an estimate for your next project, take some time and consider the following questions:
- How long will it take you to clarify all the requirements, document them, and prepare the backlog of the project?
- How long will it take to prioritize and size that backlog?
- If you need to put together an initial release plan, are you accounting for the time to do it?
- Are there any third-party integrations that will require further review and you aren't planning on it yet?
- Do you need to schedule any time to think about performance, scalability and the security of the project?
- Are you planning enough time to deploy the product?
- How much time do you need to transition the project to the client?
- Do you need to do any user training before handing over the project?
- Is there any data migration that you should include in your estimate?
- Is there any sort of warranty period that should be planned and estimated?
I keep this list handy, and it's very helpful every time I have to think about a new project. You can expand it to include additional activities (I removed some from the list above because they are unique to my company) and make sure you don't forget to account for that time again.