Critical Path is Easy as 1,2,3

This content is syndicated from Project Management 2.0 by Andrew Filev. To view the original post in full, click here.

In my previous post about the problem of telling what’s important on a project, I promised to share some thoughts and tips on how standard project management methodologies, particularly the critical path method, can facilitate your planning efficiency when applied to a project creatively. But first of all, it is worth discussing what the critical path method (CPM) is all about.

What is Critical Path?

CPM is a mathematically based algorithm for scheduling a set of project activities. The essential technique for using CPM is to construct a model of the project that includes the following:

•    A list of all activities required to complete the project,
•    The dependencies between the activities, and
•    The estimate of time (duration) that each activity will take to completion.

Using these values, CPM usually calculates the longest path of planned activities to the end of the project, and the earliest and latest points that each activity can start and finish without making the project longer. This process determines which activities are "critical" (i.e., on the longest path) and which have "total float" (i.e., can be delayed without making the project longer).

Now we’ll try to illustrate the concept with an example. Let’s take a simple, real-life project: hanging a picture on the wall. What should you do to complete this mini-project successfully? First, we need to define and list all the tasks that have to be done, so that the whole project is completed.

  • Choose a place on the wall
  • Buy the screws
  • Choose the picture
  • Drill a hole
  • Screw in the screws
  • Hang the picture

When we think of these tasks, we realize that some of them cannot start before the others are finished. That is, some tasks are dependent on the others.

The actions “drill a hole,” “screw in the screws” and “hang the picture” form a sequence of tasks that must be performed in a specific order, one right after the other, to ensure a successful result. Such tasks are called “sequential” activities.

So these three tasks, together with the start of our project (“choosing a place on the wall”) in our example, are the most important critical steps that must be taken to arrive at the proper solution to our problem. These actions will be placed on your critical path for this project. So the essential concept behind Critical Path Analysis is that you cannot start some activities until the others are finished. These activities need to be completed in a sequence, with each stage being more-or-less completed before the next stage can begin.

Here’s what a sample schedule can look like:


The critical path consists of the longest sequence of activities from project start to end that should be started and completed exactly as scheduled to ensure the project is completed by a certain date in the future. The activities on the critical path must be very closely managed. If jobs on the critical path slip, immediate action should be taken to get the project back on schedule. Otherwise, completion of the whole project will slip. Imagine that you have a project that will take 300 days to complete. If the first activity on the critical path is one day late, the project will take 301 days to complete, unless another activity on the critical path can be completed one day earlier. So the critical path is simply all the tasks that determine the end date in your project schedule.

There can be more than one critical path in one project, so that several paths run in parallel. For instance, in our case, “choose a picture” and “hang the picture,” as well as “buy the screws,” “screw in the screws” and “hang the picture” form other task sequences that also are important for us to complete the project.

The critical path may contain all the important activities on the project, or it may not. In fact, sometimes the activities on the critical path are not the most important parts of the project. At the same time, there will be tasks that are not on the critical path, but still determine your project’s success. Understanding the critical path involves determining which activities are critical to complete on time. But other activities, lying outside of critical path, also may be very important and require extra diligence and focus.

What Resource Constraints Are and Why They Are Important

Traditional critical-path-derived schedules are based only on causal (logical) dependencies. We’ve already marked these dependances in our plan (e.g., it is impossible to drill a hole before you choose a place on the wall).  However, a project can have resource limitations, which also should be taken into consideration. These limitations will create more dependencies. These dependencies are often called “resource constraints.”

So, if you work on a team, your project work can be split between the team members. In our case, while you’re choosing a place on the wall and drilling a hole, one of your friends can go and buy some screws, and your spouse can choose the picture. The tasks can be done in parallel, like on our chart above.

However, if you’re the only person responsible for the project, you have a resource constraint (i.e., you cannot drill a hole and go shopping for screws simultaneously). In this case, your critical path will look different.

On the chart above, we assume that you first need to choose the picture, and only later can you buy the screws. However, depending on the project conditions, these tasks can be performed in a different order.
Such a critical path is called a "resource critical" path. This method was proposed as an extension to the traditional CPA to allow for the inclusion of resources related to each activity. A resource-leveled schedule may include delays due to resource bottlenecks (i.e., unavailability of a resource at the required time), and it may cause a previously shorter path to become longer. This is what you see on our chart above.

Calculating the Length of Your Project

In project management, a critical path is the sequence of project activities that add up to the longest overall duration. This determines the shortest time possible to complete the project.

Getting back to our example, let’s assume that you have to do everything by yourself. For each activity, show the estimated length of time it will take. Also, you determine the approximate start time for each task on the critical path. Here’s how it can be done in our example.

Now, if we add up all the critical tasks’ duration, we’ll get the approximate time that will be needed for the whole project to be completed. In our case, 2 hours and 26 minutes. Add the duration to the start time, and you’ll be able to calculate the earliest project completion time (10:26 am in our example).

Flexibility in the Critical Path

The critical path method was developed for complex, but fairly predictable, projects. However, in real life, we rarely get to manage such projects. A schedule generated using critical path techniques often is not followed precisely. As we already mentioned above, any delay of an activity on the critical path directly impacts the planned project completion date. New requirements may pop up, and new resource constraints may emerge.

Let’s say you’re planning to redecorate the living room together with your spouse. Your tasks will include:

•     Getting rid of the old furniture
•     Painting the walls
•     Fixing the ceiling
•     Installing the new furniture

Your spouse will then be responsible for:

•     Choosing the new curtains
•     Hanging the new curtains

The curtain tasks form a sub-project and can be treated as a non-critical path. Your spouse can “choose the new curtains” and “hang the new curtains” any time before the end of your project. So these tasks do have flexibility in the start and end date, or “float.” These tasks are parallel, and they will not be placed on the critical path.  Here’s how the whole project can look on a Gantt chart:

However, if any of the parallel tasks gets significantly delayed, it will prevent your whole project from being completed on time. Therefore, you should always keep an eye on parallel tasks. Now, let’s assume that choosing the curtains took your spouse longer than you initially expected. This will delay the end of the project.


Your redecoration is incomplete without the new curtains, so the path that previously was non-critical becomes critical for the project’s completion. The initial critical path changes.

To keep an eye on your non-critical tasks, you should always keep your schedule up-to-date. That’s the only way you’ll know exactly where your project is at any given moment in time and whether it will be delivered as it was initially planned.

Do you find the CPM method effective for your projects? If not, then why? Please let us know in the comments.

As for me, I find that the traditional method can definitely be fine tuned by a few tips and tricks that I’m planning to discuss in my next post.

Leave a Reply

What is 1 + 8 ?
Please leave these two fields as-is:
Please do this simple sum so I know you are human:)

There are 101 ways to approach anything.
To find the best way, sometimes you need expert help

What People Say

“Kelly revolutionised the way our digital department operated. A true advocate of agile principles, he quickly improved internal communication within our teams and our internal clients by aligning our business and creating a much enhanced sense of transparency in the decisions the business was making. Kelly also introduced a higher sense of empowerment to the development teams...”


“Kelly’s a leading program director with the ability to take charge from day one and keep strong momentum at both a program and project level driving prioritisation, resourcing and budgeting agendas. Kelly operates with an easy-going style and possesses a strong facilitation skill set. From my 5 months experience working with Kelly, I would recommend Kelly to program manage large scale, complex, cross company change programs both from a business and IT perspective.”


“Kelly is an extremely talented and visionary leader. As such he manages to inspire all around him to achieve their best. He is passionate about agile and has a wealth of experience to bring to bear in this area. If you're 'lucky' he might even tell you all about his agile blog. Above all this, Kelly is great fun to work with. He is always relaxed and never gets stressed - and trust me, he had plenty of opportunity here! If you get the chance to work with Kelly, don't pass it up.”


“Kelly is an Agile heavy-weight. He came in to assess my multi-million $ Agile development program which wasn’t delivering the right throughput. He interviewed most of the team and made some key recommendations that, when implemented, showed immediate results. I couldn’t ask for more than that except he’s a really nice guy as well.”


“Kelly and I worked together on a very large project trying to secure a new Insurer client. Kelly had fantastic commercial awareness as well as his technical expertise. Without him I would never had secured this client so I owe a lot to him. He is also a really great guy!”


“Kelly came to the department and has really made a huge impact on how the department communicates, collaborates and generally gets things done. We were already developing in an agile way, but Kelly has brought us even more into alignment with agile and scrum best practices, being eager to share information and willing to work with us to change our processes rather than dictate how things must be done. He is highly knowledgable about agile development (as his active blog proves) but his blog won't show what a friendly and knowledgeable guy he is. I highly recommend Kelly to anyone looking for a CTO or a seminar on agile/scrum practices - you won't be disappointed!”


“Kelly was a great colleague to work with - highly competent, trustworthy and generally a nice bloke.”


“Kelly was engaged as a Program Director on a complex business and technology transformation program for Suncorp Commercial Insurance. Kelly drew on his key capabilities and depth of experience to bring together disparate parties in a harmonised way, ensuring the initiate and concept phases of the program were understood and well formulated. Excellent outcome in a very short time frame. ”


“I worked with Kelly on many projects at IPC and I was always impressed with his approach to all of them, always ensuring the most commercially viable route was taken. He is great at managing relationships and it was always a pleasure working with him.”


“I worked with Kelly whilst at Thoughtworks and found him to be a most inspiring individual, his common-sense approach coupled with a deep understanding of Agile and business makes him an invaluable asset to any organisation. I can't recommend Kelly enough.”


“Kelly was a brilliant CTO and a great support to me in the time we worked together. I owe Kelly a great deal in terms of direction and how to get things done under sometimes difficult circumstances. Thanks Kelly.”