If you’ve been in the field of project management, you’ve likely come across this term: ‘Gantt chart’.
Gantt charts are one of the most widely used charting techniques in project management. You can use them to create project status reports, plan projects, and manage resources. They’re easy to create, visual, and flexible enough for projects of any size or complexity.
How exactly do Gantt charts work? Where can you use them? How do you create them?
I’ll answer some of these questions, and more in this in-depth guide to Gantt charts.
What is a Gantt Chart?
A Gantt chart is a visual representation of project’s progress along a specified time frame. It tracks the tasks in the project as well as their dependencies.
In simpler language, a Gantt chart is a bar graph of a project’s tasks.
A typical Gantt chart has the name of individual tasks or group of tasks in the project on the Y-axis. The X-axis has a timeline divided into days or weeks.
Color bars indicate when a task is expected to start. Different colors indicate how much of an activity has been completed and how much remains unfinished.
These charts are also interactive. As the project progresses, the chart changes as well, tracking the completion of one task or indicating the start of another.
For example, here’s a sample Gantt chart:
A simple Gantt chart with multiple activities and their respective dependencies
The timeline in this case (on the X-axis) is ‘weeks’. If the project is shorter of if you want a more granular view, you can change this to ‘days’ as well.
The Y-axis has a group of activities and their constituent tasks. These would be borrowed from your work breakdown structure.
The bars next to each task show three things:
- The scheduled start and end-dates for each task
- How much of the task has been finished, shown visually.
- The relationship between different tasks.
In the above example, Activity A has been “75% completed”, as shown in the bar graph. Activity D is a “Finish-to-Finish” task, i.e. it can’t end before the preceding task ends. Hence, it is “0% completed”.
I’ll discuss the relationship between tasks in more detail below.
For now, here’s what you should know:
Gantt charts help you track the progress of a project’s tasks in an easy to read, visual manner. They help you track task dependencies. And they show you your pace of progress and deadlines visually.
A Brief History of Gantt Charts
In terms of project management tactics, the Gantt chart is a relatively ancient development. The first person to use something similar was Polish economist and management consultant, Karol Adamiecki, who called his invention a 'harmonogram'.
Although Adamiecki developed the harmonogram in 1896, it wasn't formally described until 1903 when he published a series of articles on it in a Polish magazine (Przeglad Techniczny). The results from his invention were spectacular: he reported a 100% to 400% increase in output in metal rolling mills, chemical plants, etc. that used this method.
While Adamiecki was developing the harmonogram, another management consultant - Henry Gantt - created a similar charting method in the 1910s. Gantt called his invention the 'Gantt chart'.
Early iterations of this chart focused on 'balancing' two things:
- What a worker must do (Gantt called it "man's record")
- How much of a worker's work was done, how much remained ("daily balance of work")
Later, Gantt added a process for assigning work to each worker and recording their progress. He called it "production cards" - a concept still in use today.
There were few differences between the harmonogram and the Gantt chart. The former was less visual but more flexible. However, since Gantt's work was in English and in the west, the Gantt chart was adopted much more rapidly than the harmonogram.
This, in a nutshell, is the history of the Gantt chart and its development. Despite its age - the invention is over a century old - the charting process has remained largely the same. The only thing that has changed today is the way the charts are created (through software).
Where are Gantt Charts Used?
When they were first developed, Gantt charts were almost exclusively used in industrial processes. The "workers" Henry Gantt originally described referred to blue-collar factory workers.
That's not the case anymore. Today, Gantt charts find use in diverse industries, from industrial plants to creative agencies. Think of any project where tasks depend on each other and have fixed deadlines and you can think of using a Gantt chart.
Example #1: In a Construction Project
One industry where Gantt charts find extensive use is the construction industry.
Individual tasks in any construction project are highly interdependent. You can't start working on the ceiling until you've constructed the support pillars. And you can't work on the bathroom floor until you've built the ceiling.
At the same time, worker hours in any construction project are relatively scalable. A bricklayer can, more or less, lay the same number of bricks in a day.
Since worker hours are scalable, a Gantt chart makes it easy to estimate project schedules.
Here's a sample of this chart in a residential construction project:
This chart shows the relationship between individual tasks. Excavating the foundation is expected take 3 days. Only once the excavation is complete can the basement walls be constructed.
This way, a simple Gantt chart makes it easy to track complex projects such as residential construction.
Example #2: In a Manufacturing Processes
Manufacturing, like construction, is highly process oriented.
There are distinct phases in the manufacturing process, each of which depends on the other. If you're building a car, you can't attach the wheels until you've installed the suspension. And you can't install the engine until you've got the drivetrain in place.
At the same time, manufacturing worker hours are scalable. A worker on a factory assembly line can have nearly the same output every day. This makes it easy to estimate project deadlines in the chart.
For example, here's an example of a Gantt chart used in a spring manufacturing process:
It might appear complex, but if you look closely, the chart neatly illustrates the relationship between different tasks. "Forge roller type 2" only kicks off once the "Forge roller type 1" ends operation.
The "Packing" process is handled over the weekend once the other manufacturing processes are completed.
This assembly line-like approach fits the tiered, linear structure of Gantt charts perfectly. This is why you'll see them used so extensively in most factories.
Example #3: In Creative Projects
Can Gantt charts be used outside of manufacturing and construction?
Whether you're designing a website or starting a new creative marketing campaign, a Gantt chart can help.
Most tasks in creative projects are, again, interdependent. If you're developing a new website, for instance, you'll likely use a well-established process:
- Develop UI wireframe
- Create mockup in Photoshop/Sketch
- Develop website
- Test website
Each of these processes has interdependent tasks. Your designers would conduct user-research and use the findings in their initial mockups. The mockups would then be formalized through different wireframing tools.
Based on the wireframes, the designers might create different mockups in Photoshop, and so on.
All of these tasks can be tracked with a Gantt chart.
Here's an example of a simple web design project chart:
Note how the timeline on the X-axis only shows the available working days, excluding weekends
The project starts with analysis, moving to gathering requirements and getting approval before the design and architecture part takes over. Until the project has been approved based on the requirements, the design document preparation can't start - as reflected in the Gantt chart.
Other Use Cases
A Gantt chart can be used in nearly any project regardless of its scope or sector.
You can even use it for something as creative as writing a book. Author Jessica Hatchigan shares this sample Gantt chart for writers. This gives them a deadline to aim for and a structured process to handle their revisions.
In fact, the Gantt chart format is so flexible that you can use it for personal projects as well, such as relocating to a new city.
In other words, regardless of your goal, you can probably benefit from using Gantt charts.
In the next section, I’ll share some advantages (and a few disadvantages) of Gantt charts before showing you a proven process for creating them.
II. Why Use Gantt Charts: Gantt Charts Advantages and Disadvantages
As a project manager, you can use several methods to represent project data - kanban boards, project timelines, network diagrams, dashboards, etc.
Why should you use Gantt charts over these alternative methods? What are some of the biggest advantages of Gantt charts? What are some disadvantages?
I’ll answer these questions in this section.
Gantt Chart Advantages
Simple though it may appear, Gantt charts actually show several complex relationships in a single glance, such as:
- The start and end date of each task
- The relationships between tasks
- Task progress, including planned vs. actual progress
- The plan and progress of the entire project
This is why despite countless proposed alternatives, Gantt charts continue to rule the industry.
To be specific, a Gantt chart offers the following benefits:
1. You can map out the relationships between tasks
Every project, regardless of its complexity, has interdependent tasks.
For example, if you're baking a cake, you would have to:
- Preheat the oven
- Whisk the batter
- Grease the cake pan
- Pour the batter into the pan and bake
Some tasks can be done simultaneously. For instance, you can preheat the oven while whisking the batter.
Other tasks, however, have to be done sequentially. You have to grease the pan before pouring the batter into it.
When you create a project plan, it is vital to map out the relationships between individual tasks. Your team needs to know what tasks need to be performed in what order.
This is precisely what Gantt charts help you with.
Not only does a Gantt chart show the sequence of tasks, it also shows task dependencies.
Tasks may have four separate dependencies - Start-to-Finish, Start-to-Start, Finish-to-Start, and Finish-to-Finish (I’ll show you what these mean in the next section).
All these dependencies can be represented on the Gantt chart itself. This makes it easy for you and your team to see how tasks relate to each other at a glance.
2. You get a balanced "big picture, small picture" view
Different people on the project will want different levels of granularity in their project plan. A senior stakeholder cannot be expected to look at the progress of individual tasks; he'd want a big picture bird's eye view of the project.
Junior team members dealing with tasks individually, however, need to know their progress in detail. They need to be able to zoom-in and see what tasks they've completed, what tasks remain so far.
A Gantt chart can accommodate both these views. Since you can modify the timeline, you can change the chart view to focus on the big picture or emphasize individual tasks.
Zoom-out and you can give a stakeholder a complete overview of the project's progress in one glance.
A Gantt chart with a 'broad' view of the project spanning several months (source)
At the same time, your team members can dig right in and see how far each task has progressed in detail.
A Gantt chart with a narrow timeline spanning four weeks (source)
This makes Gantt charts particularly suited for complex projects where stakeholders might want different levels of granularity in their project updates.
3. You make your team more accountable
A Gantt chart shows two things:
- Who a task is assigned to
- The progress of the task
Since the task's assignee as well as its progress is publicly shown, you make your team more accountable.
Further, since Gantt charts show task dependencies, your team can know which tasks are holding back the project. This can force slacking team members to pick up their pace.
In some project management tools, you can even set up alerts if a task is delayed by a certain number of days. This adds an extra layer of accountability.
At the same time, Gantt charts can also serve as a motivational tool. In any chart, individual tasks are represented as "progress bars".
Progress bars are a well-recognized UI fixture for motivating action. One study even showed that showing people their progress visually improves their performance, particularly when dealing with boring tasks.
Thus, when your team members can see how far they've come along on a task (and how much remains to be finished), they'll be more motivated to finish.
4. You can manage resources better
If you're a project manager, one of your biggest concerns is resource utilization. You neither want to overstretch or underutilize your resources.
This is particularly true in agency settings where you'll often have to juggle resources across multiple projects.
The same problem applies to resources as well. If you're a developer or a designer (or any other role), you might be asked to work on multiple projects simultaneously. You'd want to know what you need to work on, and when.
All of this can be tracked with a Gantt chart.
As a manager, you can zoom-out and view every resource's schedule at a glance.
If a resource is overworked one week, underworked the next, you can spot it and make corrections. If they're working on two very dissimilar tasks back-to-back, you can reschedule to have closer task alignment.
The obverse is true as well. As a resource, you can see every single task assigned to you over the next several weeks. This can help you plan out your own work better.
Further, you can also see how your tasks relate to the project as a whole. This makes it easier to collaborate with others. You can view who you need to work with (and when) and take initiative accordingly.
5. You can set better estimates
Estimating projects is one of your biggest responsibilities.
It is also one of your biggest challenges.
"Among all the stressful facets of project management, none evokes the fear, the sense of foreboding, and the absolute dread that comes from needing to provide estimates for some requirements that are, quite simply, unknown or unknowable."
All hyperbole aside, estimating projects requires two things: a) data, and b) experience.
Gantt charts give you wealth of the former. Since you can see exactly what tasks are delayed in a project (and by how much), you can use this data to inform your future estimates.
Some project management tools will give you access to historical data from Gantt charts as well.
This way, you can see how your resources performed on similar projects in the past. If you know that your team is routinely late on a task-type, you can factor it into your future estimates.
Better insight, better resource management, and better planning - a Gantt chart has a range of benefits. Little wonder that it is such a dominant fixture of project management methodologies.
But it’s not all positive. Gantt charts have some disadvantages as well.
Gantt Chart Disadvantages
Gantt charts tell you what has to be done, in what order, and by whom.
While this is extremely useful, there are a few issues that this chart can’t tackle:
1. You can't see the magnitude of work
The length of a bar graph in a Gantt chart represents the duration of a task.
What it does not show you is the amount of work required the complete the task.
For example, if you're running a content marketing campaign, you might have two tasks - content creation (A) and proofreading (B). For every piece of content you create, you have to proofread it as well.
Thus, both Task A and Task B would have the same duration.
However, in terms of complexity and magnitude of work, proofreading is significantly less intensive than content creation. Yet, on the Gantt chart, the bar graphs for both the tasks are of equal length.
This is one of the biggest shortcomings of Gantt charts. You get zero insight into the complexity or magnitude of work required to complete a task.
This can give an uninformed viewer (such as a client) the impression that two tasks of equal length are also equal in complexity.
2. Managing charts can be difficult
Most project managers turn to the trusted old tool - Excel - to create Gantt charts.
As flexible and powerful as Excel might be, it makes updating individual charts exceedingly difficult. You’ll have to update task progress, mark off finished tasks and assign tasks to team members manually.
There is also no way to collaborate in real-time or send notifications to task assignees.
Of course, there’s an easy antidote to this problem - you can use a project management software with built-in Gantt charts, like Workamajig. Since such tools bring in project data right into the Gantt chart, they make it much easier to update and manage the chart.
But in case you’re not using project management software, you will struggle to manage your charts.
3. Not suitable for flexible projects
Gantt charts are a staple of project management methodologies where you have a clear idea of requirements upfront. If you know exactly what tasks have to be completed, when, and by whom, you can create a detailed chart of the entire project that your team can follow through.
However, in case you don’t have a clear idea of project requirements, you won’t get much benefit from Gantt charts.
This is particularly common in software development where Agile methodologies such as Scrum demand flexibility and fluidity. Since individual tasks, and their scope, keeps changing, it’s not possible to map everything out on a Gantt chart.
Further, the Agile methodology focuses on short durations (“sprints”). This makes the long-term focus on Gantt charts a bit redundant.
That said, for large projects with several teams, Gantt charts can be useful - even if you’re using Agile methodologies. The chart can show you the project across multiple teams, helping you spot issues and track progress.
At this “strategic” level, Gantt charts can be impactful regardless of the methodologies you use.
I’ve covered the pros and cons of Gantt charts.
The question now is: how do you create them?
I’ll share a brief process for creating your own Gantt charts in the next section.
III. How to Create Gantt Charts
When Karol Adamiecki created his first Gantt charts (aka "harmonogram"), he used strips of paper stuck on a board with clips to represent the duration of each task.
Meanwhile, individual task names were written near the left margin of the board. Managers could walk in, write the name of each task's owner on the strips of paper, and adjust their length by adding/removing additional strips.
We've come a long way from this painstaking manual method of creating Gantt charts. Today, you have a host of options to create your charts, from spreadsheets to project management tools.
Below, I'll show you the process you can use to create a Gantt chart of your own.
The Four-Step Gantt Chart Creation Process
Regardless of what tools you use , every Gantt chart involves the following four-steps:
1. Making a List of Tasks
The first step in making a Gantt chart is to write down all the tasks involved in the project or activity.
If you have a project schedule in place, this should be easy enough. The schedule tells you what tasks need to be completed, when and by who. It also tells you the relationship between tasks - all you need to create a Gantt chart.
But what if you don't have a project schedule?
In this case, you'll want to revisit your Work Breakdown Structure (WBS).
The WBS, for the uninitiated, is a breakdown of all the activities involved in the project along with their estimated timeline. Activities are 'decomposed' hierarchically into smaller and smaller components, depending on the project requirements.
Essentially, the WBS shows you the project scope, a visual representation of WHAT you're making.
From the WBS, you can create an Activity List. As Sid Kemp points out in Tough Nickel, an activity list is a:
"...list of what we are doing...(it) is a list of the activities we will engage in during the project".
To create an Activity List, write down all tasks associated with the top-most level of activities listed in the WBS.
Two things to keep in mind here:
1. Each listed task must be large enough to be handled by an individual team member. Anything smaller than that and you'll increase your management overhead drastically.
2. Ask team members to help with the task creation. Since they already have an idea of their work, they can give you better insight into how to breakdown a large activity into smaller parts, as well as the length of each part.
Once you have a set of activities and their associated tasks, write them down in a spreadsheet.
For example, if you were doing a website redesign, a large 'activity' would be to create a series of mockups in Photoshop.
This activity can be broken down into several constitute tasks, such as:
- Create wireframes
- Review usability performance of wireframes
- Create mockups using best-performing wireframes
- Create prototype from mockup
- Run usability tests
- Review and authorize best-performing prototype for development
You can break each of these tasks further. To "Run usability tests", for instance, you might have the following tasks:
- Identify core testing audience
- Make a list of tasks for testing usability
- Recruit testers
- Collate results from all tests
- Analyze test results
Once you have a list of tasks, you can jump over to mapping the relationship between tasks.
2. List Task Dependencies
Rare is the project where all tasks exist in isolation. In any real-world project, each task will have complex relationships with tasks that precede or succeed it.
Take the aforementioned website redesign project as an example.
To run a usability test, you need to first identify your core audience for testing. If the website is meant to be used by 60-year-old retirees, it won't make much sense to recruit 15-year-olds to test it.
Thus, all tasks that follow depend on this first task for completion.
Some tasks will be ongoing. Maybe you feel that you need to test a few additional features after getting user-feedback. This way, your initial list of tasks for testing usability might contract/expand based on your findings.
Gantt charts have room to accommodate all such relationships through four types of task dependencies:
The preceding task must finish before the succeeding task can start. Finish-to-Start is the most common relationship-type in Gantt charts.
For example, when you're cooking, you have to wait for the dish to cook off completely (Task A) before you can serve it on a plate (Task B). If the dish hasn't cooked, you can't start to serve it.
These tasks are represented as follows:
The succeeding task can't start before the preceding task starts. This is a common relationship between tasks. It doesn't mean that the tasks have to start simultaneously. It only means that you can't start Task B until Task A has started.
For example, you have to excavate the land (Task A) before you can start building the road (Task B). You can't build the road until you start excavating the land.
However, once even 1% of the land is excavated, the road building crew can start construction.
These relationships are represented as follows:
The succeeding task can't finish until the preceding task wraps up. The tasks don't have to finish simultaneously, but Task A has to finish before you can say that Task B is completed as well.
For example, you're delivering cakes for a wedding. Task A is "decorating the cake". Task B is "delivering the cake". As part of the cake decor, you have to add some finishing touches that can only be done once the cake reaches the wedding venue.
In this case, the cake won't be considered fully delivered (Task B) until the final decor (Task A) is added.
This relationship is represented by the following:
The succeeding task can't finish until the preceding task starts. This is a little tricky (and hardly used) dependency. Essentially, it means that you can't finish Task B until you start Task A. However, once Task A is started, you can end Task B anytime.
Example: If you're shifting from an old server to a new server, you have to finish setting up the new server (Task B) completely before you can start dismantling the old server (Task A).
This task-type is represented as follows:
Once you have your list of tasks, start indicating the relationships between them. You don’t have to get this perfectly right; there will be plenty of time to revisit the list and revise relationships with feedback from your team.
3. Create a Project Timeline
This is the meat and potatoes of the Gantt chart creation - figuring out how long a task should be.
You'll first want to decide on the kind of granularity you want in the chart. Most charts have a daily timeline, but in case you want a broad-scale view on long projects, you can take a weekly timeline as well.
In small projects where you want to plan by the hour, you can use an hourly timeline as well.
[img - timeline.
Next, factor in the following into the timeline:
- Weekends and public holidays
- Scheduled company-wide breaks
- Scheduled breaks for individual team members
For #3, you can wait until you've allocated tasks to resources. For now, map out a general timeline of all available days for the project.
Next, you need to map the number of hours/days for each project. Keep this consistent with client requirements. If you want to get a certain part of the project before the client earlier, push it up the priority chain.
You'll also want to have enough room for the delays and accidents that invariably happen in any long project. This is particularly true for complex tasks with a number of dependencies. Having historical records from earlier projects is of great help here.
Once you have the timeline for all tasks mapped out, you can wrap up the final step - assigning tasks to resources.
4. Allocate Tasks to Resources
In this final step, you'll allocate tasks to individuals or groups of individuals.
How easy or hard you find this step will depend on how well you know your resources. If you know your team's strengths and weaknesses, you can quickly figure out what kind of task which resource would be better suited for.
Once again, it's helpful to have historical records of individual resource performance. For instance, if your data shows that a particular resource is usually late to wrap up tasks, you can avoid assigning them high-priority tasks.
You'll also want to factor in:
1. What other projects the resources are working on concurrently
2. Their scheduled breaks or holidays
In an agency setting, it's a good practice to keep resources focused on similar tasks across projects. This reduces the cognitive load of task-switching when they shift from one project to another.
Also consider whether each task will:
- Require interacting with clients (since not every resource is good in a client-facing role)
- Have a large number of dependencies. If a large number of tasks depend on it, you can't afford any delays.
- Require multi-tasking. Some resources are better at working on a single task in-depth.
Finally, factor in the approval process for each task into the timeline.
For instance, if all designs need to be approved by the design director, make sure that he/she is available, especially for high-priority tasks. In case this person is scheduled to be on a break, have contingencies in place so that the project doesn't get held up.
This is the “homework” you need to do before you can create any Gantt chart. Of course, you’ll revisit this data as you get feedback from your team and stakeholders.
In the next section, I’ll show you how to use this chart to create a simple Gantt chart in Google Sheets.
Creating Gantt Charts in Google Sheets
Although I recommend using a dedicated Gantt chart tool in your projects, it can be useful to create them manually when you’re first starting out. This will give you a much better understanding of how these charts work than simply reading a ton of theory.
Use your favorite spreadsheet software to do this. For this example, I’ll be using Google Sheets since it is free.
Follow the steps below to create your first Gantt chart:
Step #1: List all tasks and their start, end dates
To make a simple Gantt chart, you simply need three things:
- The name of the task
- When does the task start
- How long does the task last
To do this, start by creating a new spreadsheet and writing down all the tasks along with their start and end dates.
Step #2: Calculate the start day of each task
Next, you want to know how many days after the project kicks off does each task start.
To do this, add another column and label it ‘Start Day’.
Now for each task, turn the start date into an integer using the int() function. Calculate the start day by subtracting the start date of the task from the start date of the project.
In our case, you’d use this formula for the first task:
Obviously, this would give us 0 for the first task (since it starts on day 0 of the project).
Copy and paste this formula for the second task, third task, and so on until you get a table like this:
Why did we use int($B$2) in our formula and not just int(B2)?
Because Google Sheets automatically modifies the formula based on the cell. If we use int(B2), it would change the formula automatically to int(B3)-int(B3) for the third cell, and so on.
Using $B$2 tells Google Sheets to use the absolute position of the B2 cell in the formula.
Step #3: Calculate the end day for each task
Just like the start day, you also need to figure out how many days after the project start does the project end.
The formula to do this is the same - subtract the start date of the first task from the end date of the current task.
This is the formula you’d use for the first task:
Again, we’re using $B$2 because we want the absolute data from the B2 cell.
Copy this formula in all the other cells to get the end day, like this:
Step #4: Calculate duration of each task
Finally, calculate how long each task will last.
This is as simple as subtracting the end day from the start day.
In our spreadsheet, you can use this formula:
Copy this into all the other cells to get this:
You now have all the data you need to create a Gantt chart.
Step #5: Add a chart
Select the following data columns in your spreadsheet:
- Task name
- Start day
- Task duration
Once selected, go to Insert -> Chart and select “Stacked Horizontal Bar Chart”.
You should see a graph like this:
This is pretty much your Gantt chart.
But it doesn’t look like one. To change that, select the first series (“Start Day”) in the chart. In the menu that pops up, change the color to “None”.
Once you change the color, your chart should look like this:
Congrats - you just made your first Gantt chart!
Of course, this chart has several limitations. You can’t easily assign tasks to people. Nor can you make quick changes on the fly. The chart doesn’t show clear dependencies between tasks either.
For these features, you’ll want to use a project management software with built-in Gantt charts.
Gantt Charts in Workamajig
Gantt charts are a core feature in Workamajig. Nearly anything - project timeline, resource schedules, calendars, etc. - can be represented as a Gantt chart.
By default, all project information is shown as a Gantt chart:
Of course, you have the option t hide this chart as well:
These charts are pre-made; you don't have to add any additional data. They are also dynamic, i.e. if you make a change in one part of the project, it will reflect in all Gantt charts related to it.
Gantt charts aren't limited to project timelines alone. You can even represent calendars visually as a chart:
Not only will this make it much easier to create new charts, but it will also help align the chart with the rest of your project.
Over to You
Gantt charts are a staple in project management. Regardless of the size or industry of the project, you can benefit from including a Gantt chart in your project. A well-made chart can keep your entire team accountable, improve tracking and make project management easier.
Use this guide to Gantt charts as a starting point to learn more about this project management tool. Share it with managers, entrepreneurs, and anyone else who wants to simplify their work!