Estimating a project is a very important part of your project, and can often be taken lightly. Truth is, if you avoid having good estimates, you will likely have a hard time staying on budget, and during your project (or after), it may be hard to analyze why you are outside your budget.
There are some key tips that can help you with that:
1. List what is being estimated
Seems obvious at first glance, but bear with me. Listing what is being estimated is more than simply writing: Programming = 40h. If you review your estimate 6 months later, you will have absolutely no idea what was included inside that 40h.
It is important to list each specific item of your project (home page, contact form, shopping cart, login,etc.).
How detailed must you go? Detailed enough for you to be able to understand it in 6 months, but also, detailed enough to be able to estimate each item easily. It will be more accurate to estimate separately “Contact form, Google maps, description of each team members” than just “Contact page“.
It will also become very useful when you are managing changes inside your project because it will be clear what was included in your estimate.
2. Estimate hours depending of type of resource
Once your items are listed, you must make sure you estimate the resources needed separately. Here I mean people, although expenses should be separated too. For example, avoid something like this: Home page: 40h.
Make sure you can plan your different resources during your project. It would be wiser to separate like this: Home page: Design 15h, Front-end 15h, Back-end 10h.
3. Include the accuracy of the estimate
This one is important and can actually save you some trouble in the future. An estimate can be accurate or it can be a general idea. It is important that your estimate includes that information.
For example, someone could ask you for a quick estimate and you tell them around 30K. There is a chance that this amount will become your final budget. When the project starts, you will estimate more in detail and may have to flag that the budget makes more or less sense, and that’s when you will be told that it came from your estimate, and now it is too late. Sounds familiar?
Include the accuracy in your estimate, if it was a quick estimate to give your colleague an idea, then 50%-75% might be the range of the estimate, and instead of simply 30K, you will tell your colleague 15-45K. A more accurate estimate might have a 5-10% range instead.
4. Include assumptions
An assumption is considered a “fact” at the time it’s being identified. Thus, it justifies the estimate of the particular item and it’s important to include it.
For example, if you estimate a registration form, you assume there will be 12-15 fields. Generally those assumptions should also be listed in your company’s offer to the client so you can control scope easily if the form ends up with 30 fields.
Remember that you may review this later in your projects, you want to make sure what was estimated is clear.
5. Do not forget time for project management
You wouldn’t dare forget that right? 🙂
Generally, it’s calculated using a percentage of the rest of the estimate. It could range around 10-20% or higher depending of type of client, type of project, type of team, etc. You may also want to list all project management tasks, and estimate each of them separately if you prefer. However, it will take more time, and I doubt you know exactly how much time you are going to “talk” during the project.
If you use a percentage, it is important to take outsourcing into consideration. If you estimate 200h of work and 20 000$ of outsourcing for development, you want to make sure you include time to manage the external resources too and not only add 20% to the 200h.
Note that depending of the company’s maturity towards project management, they may challenge the time estimated for project management. In other words, it may not be understood. If that is your case, then listing/estimating each task separately may be a good idea to explain your point of view.
6. Plan a buffer
If you are lucky, you may be able to include a small budget for unexpected events, or small changes, or errors, etc. If so, a 5-10% percentage could be applied to your overall estimate.
If it is a small simple project, then a buffer may not be justified, you want to avoid costing too much too.
7. Plan risks
This applies to project that have a large risk potential. You may have to manage closely the risks, create prototypes, or execute any other mitigation plans.
If that is the case, having a budget to manage/execute all this can easily be justified and should be included.
Note that it should be avoided for standard projects that show no real risks, or where your buffer could do the job.