Guide to Project Management
Discover why companies like Amazon, Netflix, and Nike manage their projects with TeamGantt.
Create your free project plan
Free forever. No credit card required.
An image of the TeamGantt gantt chart.
Chapter 4

How to Estimate Project Time and Cost

No matter the size or budget, project estimation can be a daunting task. To create a workable estimate, you need to know your team, deliverables, tasks, and process like the back of your hand. You also have to be comfortable asking questions to figure out the things you don’t know.

Download this guide
Redirecting to your PDF
Oops! Something went wrong while submitting the form.

This chapter touches on best practices for estimating projects and being prepared for inevitable change requests. Get ready to learn a whole new set of project estimation techniques because you’re about to become the best project estimator in the business.

What is project estimation?

Project estimation is the process of forecasting the time, cost, and resources needed to deliver a project. It typically happens during project initiation and/or planning and takes the project’s scope, deadlines, and potential risks into account.

Why is cost estimation important in project management?

Every business has a budget and wants to know if a project is worth the costs before they invest in it. 

A project estimate gives you and your stakeholders a general idea of how much time, effort, and money it’ll take to get the job done. That makes it easier to build a feasible project budget and plan so you can set your team and organization up for success.

How to estimate project cost and time in 7 easy steps:

  1. Know your team’s expertise & job responsibilities
  2. Understand how your company's PM process works
  3. Study project estimation techniques and trends
  4. Use historical data to create better project estimates
  5. Ask detailed project questions to improve cost estimation
  6. Break your project down into smaller parts for estimating accuracy
  7. Assign hourly estimates to tasks and people in TeamGantt

Step 1: Know your team's expertise & job responsibilities

Sometimes project managers focus too much on the numbers and not enough on the people. Good project estimation techniques are built on solid working relationships. That’s because, the more you know about someone’s work and process, the easier it is to estimate their work. 

Want to be even better at estimating projects? Invite your team to be a part of the estimation process. A stronger understanding of—and collaboration with—your team will help your projects come in closer to your project budgets.

Here’s the thing: To estimate projects successfully, you MUST engage in the work. Having a solid understanding of what each and every team member actually does on a daily basis can help you avoid problems down the road.

How to get to know your team's tasks & skill sets

So how are you supposed to understand Jim’s role on the team and how his work will impact an estimate? You have to talk to Jim.

As a project manager, one of the best things you can do is be genuine and honest about what you don’t know. If you really want to know how or why someone does their job, just ask them! It might sound silly, but most project managers feel like they’re supposed to know everything. You don’t, and that’s okay.

Remember: It’s better to admit what you don’t know and ask questions from the get-go. This not only gives you an opportunity to connect with your team on an individual level. It also helps you understand the inner workings of different types of projects—and their appropriate budgets. After all, figuring out the steps one person takes to create a deliverable will work wonders in helping you calculate a true and accurate project estimate.

Step 2: Understand how your company's PM process works

Once you’ve got a good grasp on who does what and how, you need to figure out how all of your project’s moving parts fit together—or could fit together.

You may work for a company that abides by a singular method like Agile or Waterfall. In that case, you should study that process, know all your dependencies, and run with your estimates. 

If you work in a place that uses a hybrid approach and likes to experiment, make it your mission to understand how things are done and what might happen to your project schedule if you shift things around.

For instance, if you work in construction project management, will there be a huge impact if you plan for your baseboards to be painted before the carpet is installed? Sure, you can do it, but will it affect the quality of the work or the time needed to get the work done?

Do everything you can to understand your process, but don’t just read a book or a manual. Have conversations with the people who have a stake in your project, and feel free to ask how, why, and when things are done. The more you know, the better you can strategize with your team or clients to find alternate ways to make project estimates work and save on effort.

It’s always important to include your team in any discussions related to project estimation. Be sure to talk about the process you’d envision taking on when estimating projects, as it will impact how you think about effort and scope. You never want to sign on for a project your team isn’t invested in.

Step 3: Study project estimation techniques and trends

No matter where you work, things will change. A career in project management means you have to always stay on top of trends, changes, and deliverables in your industry. It isn’t easy, but it’s worth it because it will directly affect your success as a project manager.

So how can you improve your project estimation process? Approach your job as though it’s continuing education. Read relevant trade publications, websites, and blogs. Attend training and networking events. There are growing numbers of local meetups and conferences on project management and estimation.

It’s also important to understand different ways to estimate projects so you can find an approach that works best for you. Here are just a few project estimation techniques you may want to learn more about:

  • Top-down estimating: This estimation technique takes a broad look at the project as a whole, then breaks the total estimate down into major phases of work. It’s typically used when you have limited information about the project to work from.
  • Bottom-up estimating: The bottom-up approach is considered more accurate than top-down estimation because it starts with a detailed list of tasks and estimates each step. Individual task estimates are then combined to create an overall project estimate.
  • Analogous estimating: This top-down technique compares the current project to similar past projects to quickly produce a general project estimate. 
  • Parametric model estimation: Parametric modeling also uses past projects to inform new project estimates. It takes forecasting a step further by applying past data to current project specs for more accurate cost estimation.
  • Three-point estimating: This approach estimates a project based on 3 different scenarios: best-case (or optimistic), worst-case (or pessimistic), and most likely. Estimates for all 3 scenarios are then added up and divided by 3 to generate a simple average.

Step 4: Use historical data to create better project estimates

Without a doubt, historical data can help you with new projects. When history’s documented, you can analyze the information to help you create better estimates. 

A great place to start is by asking your team to track their time on tasks. This will give you a better sense of a project’s overall level of effort. It’s not about playing big brother to make sure people are doing their work. It’s being honest about what it takes to get the job done while also being profitable.

Of course, every project is unique.  But seeing how long your team spent on a certain task or deliverable will give you a sense for estimating a similar task on a new project.

As project managers, we tend to underestimate project tasks, thinking we’re doing our clients and team a favor. But underestimating a project does everyone a disservice and causes stress when budgets and timelines go over their estimates. 

Check your tracked time, and use it to create a realistic project estimate. If nothing else, review your project history to make sure you’re not habitually underestimating project costs or hours.

TeamGantt tip: Use the project baseline feature in TeamGantt to check your actuals. You can mark your originally planned schedule, compare it against your actual work as the project progresses, and note where there might have been issues and how those issues might have impacted your level of effort. This will help you determine where you have room to improve your estimation of certain project tasks.

Step 5: Ask detailed project questions to improve cost estimation

Whether you’re estimating a project based on a Request for Proposal (RFP), a discussion, or a brief written message, you need to know every possible detail of the project before you can provide a realistic estimate. This often means that you have to ask more questions.

Asking the right questions enables you to create a project estimate based on what your clients need—not what you think they need. So take time to understand the triple constraints that could cause your project to go over budget: time, cost, and scope. If you keep track of these 3 things, you’ll be a better project estimator. You can use our online gantt chart software to help estimate your RFP.

Here are some things to think about when estimating project time and budget accurately:

  • What’s the goal of the project?
  • How will you and your client determine if the project is successful?
  • What returns will you and your clients see as a result of the project?
  • Who will participate from the client side?
  • What range of services does the project require?
  • What’s your client’s budget for the project?
  • Is there technology involved? If yes, what is the technology?
  • Does your client employ anyone with expertise on the topic?
  • What is the timeline for the project, and will your client require your services after your work is complete?

This list could go on and on depending on the level of information you’re provided. Be persistent and get the answers you need. 

And if your client isn’t inclined to answer every question, take it as a sign. If answering important questions now is too much to help you form a good estimate, will being a good partner when the project is underway be too much for them too? 

Use your judgment in this respect. Not every estimate becomes a real project, so not every request needs to become a real estimate.

Step 6: Break your project down into smaller parts for estimating accuracy

If you think about a project, you can naturally break it down into phases, tasks, and subtasks. If you can map it all out and apply a time estimate to each element, you should be able to create a solid project estimate. There's a project planning and estimation technique called the work breakdown structure (WBS) that makes it easy.

What is a WBS?

A WBS is a deliverable-oriented breakdown of a project into smaller components. It provides a framework for detailed cost estimation, as well as guidance for schedule development and control.

Learn how to create a work breakdown structure for your projects, and download a free WBS template.

Why use a WBS for planning and estimation?

Creating a WBS for any plan or set of tasks helps you get granular about the work that needs to be done on any given project. Below is a basic WBS for a common deliverable—moving to a new house! Notice the tasks and subtasks we’ve taken into consideration. Is anything missing?

If you estimate your projects based on units—whether it be weeks, days, or hours—using a WBS will help you quickly understand if your project estimate will exceed the intended budget. 

Let's take this project estimation example further and assign estimated hours to each step. Just remember, it could change when you dig into the actual work. (These time estimates should be based on a combination of experience and hypotheses.)

Pack current house: 8.5 days total

Sum of tasks includes wrapping objects, packing boxes, and prepping for movers. Here’s how the estimated timing breaks down by room:

  • Kitchen: 1 day
  • Bathroom: Half day
  • Bedroom 1: Half day
  • Bedroom 2: Half day
  • Living Room: 1 day
  • Dining Room: 1 day
  • Basement: 2 days
  • Garage: 2 days

This type of exercise can be extremely helpful during the sales process when a client tells you they have X dollars to spend. Based on your estimates, you can easily map a set of tasks or deliverables to something that works for both the dollar amount and the client’s goals. 

And if a potential client comes back and says that’s more than they want to spend, you can lean on your WBS to negotiate the cost down based on what's included in your scope.

For instance, I could likely remove the cleaning step from my moving WBS to cut down the cost/time (though someone might be unhappy about that). Using the WBS to your advantage like this enables you to  create a project estimate that maps to a specific budget, while also working out a solid set of project requirements.

Using these project estimation techniques as a foundation for your project will help you with the next step: turning it into a project plan. (Hint: Using TeamGantt to list out tasks for your WBS can help you streamline project estimation and save time planning!)

Step 7: Assign hourly estimates to tasks and people in TeamGantt

TeamGantt makes it easy to set up and estimate a potential project. In fact, it gives you a more formalized way to outline your WBS and calculate a project’s time and effort.

You can estimate project timelines based on effort and assign resources to tasks in your gantt chart. From there, you can schedule people and tasks against other project work. 

Let’s take a closer look at how hourly estimation works in TeamGantt. 

How to add Estimated Hours to a task in TeamGantt

First, make sure Estimated Hours is enabled on your project by going to Menu > Project Settings > Enable Hours and selecting Yes. (Note: Hourly estimation is only available on Advanced plans.)

Enable estimated hours in project settings in TeamGantt

Once you’ve confirmed hourly estimation is enabled on your project, you’re ready to add estimates to tasks in your gantt chart. To assign hours to a task, simply click into the text field in the Estimated Hours column, and enter your estimate:

Assigning hourly estimates to tasks in TeamGantt

Don’t see the Estimated Hours column for your project? Click View > Estimated Hours to enable this column on your gantt chart.

Enable estimated hours on the gantt chart in TeamGantt

How to assign estimated hours to your team

One of the biggest benefits of using hourly estimation in TeamGantt is being able to determine your team's workload more accurately. To do this, you’ll need to take project estimation one step further by adding estimated hours to the people assigned to the tasks. 

There are 3 different ways to add hourly estimates to people or labels. It all depends on your particular project scenario.

Option 1: Assign both users and estimated hours to a task at the same time.

  1. Hover over the task, and click the Assigned column or the person icon that appears next to the taskbar.
  2. Next, select the resources you'd like to assign to the task, and enter either the Avg Hours/Day or Total Hours. (The other field will populate automatically.)
Assigning hours to team members and tasks at the same time in TeamGantt

Option 2: Add estimated hours after users have already been assigned to a task.

  1. Hover over the Estimated Hours column, then click into the text field to enter the total estimated hours for the task.
  2. A pop-up window will appear, asking if you'd like to adjust the hours for the users/labels assigned the task. If you select the checkbox before clicking Yes or No, your preference will be noted for all future instances. (You can adjust this preference anytime by going to My Preferences.)
Adjusting hours on a task after assigning it to a user in TeamGantt

Option 3: Assign people to tasks after estimated hours have already been added.

  1. First, hover over the task, and click the Assigned column or the person icon that appears next to the  taskbar.
  2. Next, click either the Fix button at the bottom of the user assignment window or simply select users to assign hours to.
Select users to assign hours to in TeamGantt when estimating tasks

Note: When a task's length is changed—for instance, a 2-day task is extended to a 4-day task or vice versa—you'll be prompted to choose between increasing/decreasing users' assigned hours accordingly or leaving the daily assigned hours as-is. Learn how to set your hourly scheduling preferences.

How to use Estimated Hours to determine team availability

Now that you’ve assigned estimated hours to your team, you'll have an even better understanding of how busy everyone is. Just click the Availability tab found at the bottom of your project's gantt chart, and toggle to Hours Per Day:

View team workloads by hours per day in TeamGantt

Any day that includes over 8 hours of work will automatically be highlighted in red to indicate a potential overload. 

Sign up for a 30-day trial, and try TeamGantt with hourly estimation for free.

Build your project estimation confidence with practice

Ready to dig in and estimate a project of your own? Start with some practice so you’ll feel confident in your estimating skills.

Create an example project of your own, and list out all the steps that go into completing it. Then run it by one of your team members to see what they think. Did you miss anything? Did you underestimate the hours? Doing a test run will help you prepare for your first real estimate or hone your project estimation skills for your next one.

There’s no right or wrong way to create a project estimate. Your approach to estimating projects will include a mixture of project knowledge, historical review, client inquisition, and a ton of gut instinct.

Estimate your project in minutes

Learn how easy project estimation and planning can be with TeamGantt. Try TeamGantt’s Advanced plan free for 30 days!