How to Create Effective Gantt Chart for a Project?
Project management is a complicated process and often involves juggling several tasks at once. This is true of all kinds of projects—be it managing a home, or a particularly difficult software development project, or a civil contractor.
When there are one or two tasks, it is easy for a project manager to remember what is to be done, when, and how. But what if there are multiple strands of activities, some interconnected? How does one keep track of all tasks to ensure that the project is completed, completed well, and completed well in time?
Here’s where the Gantt chart comes into the picture. They are a visual representation of the tasks in a project. The Gantt chart has its origins in 1896, when a Polish engineer, Karol Adamiecki, used a similar chart to depict production schedules. He called it the harmonogram, and since it was published in Polish and Russian, it remained largely unknown. Concurrently, an American called Henry Gantt designed a similar chart, and it is his name that the chart now bears.
The chart was used extensively in production engineering. Soon, with the advent of computers, it became a common and practical project scheduling method. With web-based applications, the Gantt chart gained in popularity and is now a common feature in most projects. Now, however, with Agile methodologies, the popularity of the Gantt chart is low. It has, however, tried to evolve with the times.
What is a Gantt Chart in Project Management?
First things first: What is a Gantt chart in project management? Simply put, a Gantt chart is a visual bar graph representation of a project’s schedule.
Typically, the rows comprise different tasks of a project, often drilling down to individual tasks, with the timeline forming the columns of the chart.
With programs that create a Gantt chart for a project, you can see where the project stands on any given day. It shows who is responsible for each task, as well as any dependencies between tasks.
Here is a typical Gantt chart for a project:
The chart clearly shows, in an easy-to-understand manner, where the project stands today. The chart is extremely useful in presentations to management, as well as to clients, who may want a quick appraisal of the tasks underway.
Dependencies in Gantt Chart for a Project
One of the major reasons that project schedules go awry is improper recognition of dependencies. Let us say you have a project that requires three distinct work paths. All these need to converge for the project to move ahead. Even if one of the work paths is delayed, the entire project schedule collapses. With a Gantt chart, this dependency is identified right at the planning stage, visually, so that any lag will be flagged instantly to denote possible delays. As a project manager, you can then immediately deploy resources to ensure the delay causes minimum damage.
There are several types of dependencies in a project. All of these can be denoted on a Gantt chart.
- Finish to Start (FS): In this type of dependency, Task A has to be completed before Task B can begin. An example: Let’s say you are working on a web design project. Only after the clients approve the images to be used on the website can any Photoshop work on the photos occur.
- Start to Start (SS): In this type of dependency, Task A has to be started for Task B to begin. A simple example would be in the field of writing. A writer must have started to write a novel before beginning to edit parts of it.
- Finish to Finish (FF): In this type of dependency, Task A has to be completed before Task B can be completed. Let’s say you are working on a brochure. The “creating text” task must be completed before the “designing brochure” task finishes. However, the design can start before the text is completed, as is often done, using dummy text.\
- Start to Finish (SF): In this rare dependency, Task A must start before Task B can finish. This could be applied to a new position being filled. It may be essential that the outgoing employee train the new employee so that the employee leaving the organization can do so only after the new one joins duty. It must be noted that this is, strictly speaking, not a professional approach.
In software development, Microsoft recommends that the Finish Start schematic be used most often. It also discourages the use of the Start to Finish algorithm, as that might mean endless delay and possible circular references in a workflow. However, for just-in-time deployments, the Start to Finish dependency can be used.
Steps to Create an Effective Gantt Chart for a Project
The process of creating a Gantt chart for a project is quite intuitive. However, for best use, you must plan for the chart as well.
While you can prepare the chart on paper or on a computer, it will make the task easier if you have a Gantt chart template into which you can plugin the information. Most web-based collaboration tools include Gantt chart templates. There are also plenty of templates available for the same for Microsoft Excel.
Make a comprehensive task list.
This step involves breaking down the project into its Gantt charts components. If one can break it down into a hierarchical structure with task groups, under which tasks are laid out in greater detail, it will work best.
For instance, let us consider the task of creating a new website
Some of the overall stages are:
- Implementation and maintenance
Under each of these steps, there will be additional tasks. It is best to drill deep as much as possible so that tasks are clearly defined.
For instance, taking the Content phase into consideration, the sub-tasks involved may be:
- Collation and review of a text
- Collation and review of graphic elements
- Creation/rewriting text
- Creating graphics elements (may include a photoshoot, etc.)
- Image editing
- Text editing
- Finalization of content
Or any other steps that may be relevant to your project.
Similarly, all tasks, however seemingly trivial, need to be listed out.
List the dependencies of tasks.
Task dependencies need to be listed out. A simple Excel sheet, or even a Word table, would suffice.
What are the steps that are dependent on others?
In our example, the content edit can only begin after the existing content is evaluated and new content created, if necessary. Photoshopping can only be done after photographs are taken.
It’s important to note down dependencies so that Gantt charts planning becomes easier and tighter.
This also depends on your organization. If teams are smaller and resources scarce, it might make sense to first plot your resources and then timeline them. If yours is a huge company with a wide resource pool, it may make sense to first create the timeline.
Create the timeline for the project
For managers who like to get down and dirty earlier, this is the meatiest part of the Gantt chart.
Once the tasks are ready, the timeline is created. Factor in weekends and public holidays.
On software such as SmartDraw, the Gantt chart for a project is created right after you input data on a user-friendly screen. But with other software or Excel templates, you might have to type in values on the Gantt charts spreadsheet itself.
As the Gantt chart is a tool to visualize the plan, the availability of specialized software should not matter as much.
Timelines are dependent on the client, and if the client has definite time constraints, ensure that you divide the time between tasks smartly.
This timeline is bound to change and is likely not final, but try to make it as close to final as possible.
Allocate each task to a group or person
As a project manager, you will need to figure out the best way to make this work. Evaluate your team. Figure out who will work best for which task. Laying out the project on a rough timeline in a notebook or software will also help you ensure resources aren’t double dipped—required at two places at once.
This might take some time, but it’s an important part that needs to be fixed.
Some of the questions that might help you peg the appropriate people are:
- Will this resource be good in a client-facing role?
- Will this resource be able to coordinate and work with others?
- Will this resource be able to quickly turn things around?
- Is this resource better at multitasking or at doing one task in depth?
- From when is this resource available? Depending on whether your project is resource-critical or time-critical, the tasks will be allocated.
At this point, there also needs to be clarity on several things within your organization:
- Who signs off on design? On text? On budgets?
- It is essential to ensure that the person who is in charge of signing off on things is given appropriate leeway. If the content director, in charge of all content, is leaving on a planned trip abroad, ensure that it is factored in the timeline.
This will require some coordination with HR and other project managers, and embrace it.
Now, you can allocate individual resources or groups to tasks, which have already been timelined and mapped for dependencies.
So this should be it, right? One more final and crucial step remains.
Share and refine
After everything seems to be locked in place, share the chart with key stakeholders. It is a good practice to share the chart with your entire team to ensure you have not missed out on anything important.
It is ready to be shared with the client, and after approval, your Gantt chart for a project is ready for use!
Limitations of the Gantt chart for a Project
The buzzword in software project management is Agile. Agile methodologies are everywhere, and their adoption is increasing by the day.
A traditional Gantt chart for a project is very limited in scope for modern software projects, as the focus is on adaptability. The Gantt chart plans the entire upfront, and if (rather, when) schedules change, they become very difficult to deal with. And time better spent is used to update the Gantt chart.
Agile projects may use short sprints (in the case of Scrum) or work on the most urgent job first (as in Kanban); preparing a Gantt chart for weeks will simply not be possible. In other responsive project methodologies such as Extreme Programming, it will simply be a waste of time, as the plannable portions of the chart are very short.
Software project managers have reported some success in using a Gantt chart for a project to keep track of individual sprints. Others pooh-pooh the idea, saying that a Gantt chart for a project based on the model of Waterfall project management.
Gantt charts also have a reputation of trying to display too much information. The bars, with varied colors to indicate different resources and dependencies, can be very confusing for complex projects.
However, the Gantt chart is still a popular scheduling tool in several industries. In fact, they play a huge role in more process-driven projects such as website development.
Alternatives to Gantt chart for a Project
The Gantt chart is essentially a bar diagram of task schedules. Any piece of paper, including a detailed to-do list, can achieve the same purpose.
Some alternatives to the Gantt chart for a project include:
- A detailed to-do list of persons responsible
- A whiteboard, tracking the progress of each story/sprint, in the case of Agile projects
- A Kanban board: a simple board with three columns—to-do, doing, and done, in its simplest form
- Other tools created specifically for Agile projects, such as Sandglaz
Gantt charts have come a long way, having served the manufacturing and service industries. They have made processes so much more transparent and have adapted as best they could for the more demanding software industry.
While their popularity has, no doubt, waned greatly, they still remain the first go-to for project managers worldwide at the start of a project.
This has been a guide to how to create a Gantt chart for a project?. Here we have discussed steps to create a Gantt chart for a project in an effective manner, limitations, along with some alternatives to the Gantt chart. You may also have a look at the following articles to learn more –
- Agile vs Waterfall Project Management
- Project Management Reporting
- Project Management Job Interview Questions
- Visual Basic Chart with Dynamic Input