90 Percent

Project management, productivity, change management, and more!


7 tips when estimating a project


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.

2 thoughts on “7 tips when estimating a project

  1. I would push your tip #2 a step further : estimate your task depending on WHO will be working on it. People estimate time and effort differently based on their expertise, experience and are even influenced by their mood of the day! Therefore, it can be quite significant to make a difference between 40 Bob the Programmer hours and 40 Bill the Programmer hours.

    Also, I like to keep in mind that estimates are always guesses of the future based on the present, no matter how much effort and planning are invested. That means there is value in updating them a few times through a project’s life cycle and comparing future revisions with the base estimate to evaluate what was guessed right and wrong on the first attempt.

    Finally, in my opinion, there are always risks to be considered. Customers can unexpectedly be late in their replies and milestone approvals; technical problems may arise anytime; a team member can be the unfortunate casualty of a city bus on his way to work… Obviously these cannot be reasonably predicted, but they can certainly be mitigated by adapting estimates and expectations to these events and by applying proper knowledge management.

    While I mention knowledge management… tasks like “Updating the project’s documentation” and “Transferring knowledge of new requirements to stakeholders” are often neglected in estimates. Surely these are short-term pains, but they can mitigate a lot of long-term risks!

    • Thanks for the added input. I pretty much agree with everything!

      You bring an interesting topic by mentioning who will work on the tasks. I absolutely agree that whoever will execute the task must be considered, but you must be careful: sometimes you have a fixed budget and estimate for resource assigning purposes, but if your estimate creates the final budget, that means that it will decide the cost for your client.

      Keeping in mind that many agencies use a fixed hourly rate, let’s say you think the junior programmer will work on the project since the project is simple, but he will take twice the time than your senior programmer would: Will you charge your client twice for development? You could, but it’s important to consider that if the cost is too high, you may lose the project to another agency.

      As for risks, there are always some in any project, which is why either a buffer in your budget or even a budget for your risks are great to have. Nevertheless, as mentioned above, it comes down to the overall final cost for your client; one “universal” risk for all projects is that the client may think your cost is too high, and decide to go with another agency. Therefore, although it may be a risk itself, you may want to reduce the buffer/risk budget or even remove it completely to reduce cost. Those types of decision require good judgement/experience, assumes the project/client can bring more to the agency, and depends of the risk tolerance of the agency.

      All in all, estimates are often underestimated (no pun intended), but they are very important, and they can show your project’s health right from the beginning.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s