On the Critical Path


On the Critical Path

Introduction

Hi, I'm Tim Tyler - and this is a video about the critical path method in project management.

The critical path method is a basic scheduling tool used by project managers.

Not everyone is employed as a project manager - but some basic project management skills are frequently useful - since most people often have some kind of project on the go - even if it is simply the project of running their own lives.

The critical path method is one of the most basic and important project management scheduling tools. However, it is just complex enough not to be obvious to people without instruction. To illustrate that, it wasn't invented until the 1950s.

The method is useful on projects where there are benefits to reducing the total project duration. If the time to completion of the project is not something which it is desirable to reduce, then the technique is not very helpful. However, the majority of projects do have a substantial time-critical element.

The basic idea is as follows:

Projects are divided up into tasks - each of which has a known duration and a list of other tasks which is depends upon.

In the simplest case, one task depending on another one means that it cannot be started until the other task has been completed.

A scheduling diagram is then constructed - placing the tasks in temporal order. Here is a diagram of one project to illustrate the idea:

Here, the horizontal axis represents the passage of time. The project starts on the left - and its goal is on the right. The vertical axis does not represent anything very much - and merely serves to separate out tasks that are to be performed in parallel. The tasks are shown as coloured strips - and the length of the strips indicates the duration of the task. Task dependencies are not shown.

If you look at such a diagram, it can be seen that there are some tasks which are not time critical - their start time can be varied without impacting the delivery date of the project. These tasks are described as having "float" - a reference to the total time available on either side of them:

However, other tasks are time-critical. Any delay in their completion results in a delay in the project's final delivery date. These tasks can be represented as forming a continuous path with no gaps in it - directly from the start of the project to its completion point. Usually there is only one such path - and all the time-critical tasks lie along it. This is known as the critical path - and it can be seen in this diagram.

The critical path method is based around the construction of a scheduling diagram, and the identification of the critical path. It then usually attempts to shorten that path by various techniques.

Once it has been identified, the critical path becomes the focus of the project manager's attention. Obstacles on the critical path are seen as undesirable - and are sometimes known as log-jams.

Tasks which are not on the critical path are not so time-critical. Delays there have little effect - unless they so extreme that they result in the task shifting onto the critical path.

Example

Next, here is a concrete example. Consider the task of making breakfast. Eggs need to be poached, toast needs to be grilled and buttered, water needs to be boiled - and tea needs to be made. However, obviously these tasks depend on each other. Eggs cannot be poached before they have been cracked. There is not point buttering the toast before it has been toasted. Also, you only have one pair of hands - so tasks that involve more than just waiting around cannot easily be performed concurrently.

The scheduling diagram for this project initially looks something like this:

The arrows indicate dependencies. Later tasks are dependent on the completion of earlier ones.

Next a diagram showing the critical path:

What can we see from this diagram? Poaching the eggs is on the critical path - while toasting the bread and boiling the water are not.

According to the diagram, the first thing one should do in the kitchen should be cracking open the eggs.

What if you are concerned about being late for work?

Something like reducing toasting time would be pointess - since the toasting time is not on the critical path.

What about calling for your significant other? Two pairs of hands allows some of the tasks to be parallelised. In project management jargon, attempting greater parallelism is known as fast-tracking. Slicing the bread and boiling the kettle simultaneously makes the result looks like this:

However, this intervention makes no difference to the overall project duration - and so you should probably let your other half rest in bed.

The diagram makes clear that the poaching time is the limiting factor. Maybe you should consider fried eggs - or replacing the eggs entirely with yeast extract.

Here is the original diagram again:

...and here is what the diagram looks like with fried eggs:

Now the time taken waiting for the eggs is no longer on the critical path - and total project duration is reduced.

Once fried eggs have been decided upon, calling for assistance starts to make sense. With two people available, the scheduling diagram looks like this:

The eggs have gone back on the critical path - and the total project duration is now much shorter.

Notice how changing one element on the critical path can sometimes cause a dramatic restructuring of the project - and can impact what needs to be done next.

This "breakfast" example is a simple one - but it illustrates the basic principles.

Shortening the critical path

There are a variety of techniques that can be used to shorten the critical path:

One situation that often arises involves tasks which can be sped-up by allocating more resources to them - for example by hiring more workers, or by automating the tasks. Speeding up a task on the critical path by adding more resources to it is known as crashing the critical path in project management jargon.

Resouce allocation issues often lead to those tasks with float being drained of resources - and the resources being allocated to tasks on the critical path - thereby shortening the overall project duration. The result tends to be a kind of resource balance between different paths in the project - with multiple paths approaching criticality.

Another possibility is removing tasks from the path completely. When that can be done it often reduces the project duration. Feasibility studies, extra features, excessive testing, all can be jetissoned - sometimes without too many undesirable side effects.

If dependencies between tasks can be reduced then this may allow tasks to be performed with increased concurrency - again reducing the project duration.

Reducing task dependencies is not always easy. You start by analysing why a task has the dependencies it does - and asking if there is any possible way to reduce them. Sometimes a task interfaces to a previous one. In such cases, it may be possible to construct an interface using scaffolding, use this when performing the second task - and then switch to interfacing to the first task when it becomes available.

For example, consider a project involving constructing a tower with a spire. It initially seems that the spire task depends on the completion of the tower task - and a simple approach would be to construct the tower, and then construct the spire on top of it.

However, both builds are time-consuming - and there is a deadline to meet. So, you might consider not waiting for the tower to be completed before constructing the spire. The spire could be constructed on the ground, next to the tower. That shortens the spire construction time - and allows it to be built concurrently with the tower. When both components are complete it can be lifted into place with a crane.

Complications

In more complex projects, complications can arise, which go beyond the simple critical path model:

Uncertainty

Task durations are often not known with certainty - and estimating task durations in order to reduce that uncertainty is itself a type of task. If uncertainty about task durations affects the critical path - and thus impacts what should be done next - then producing task duration estimates can often become a high-priority activity.

Resources

Resources do not appear in the basic critical path model, but limited resources, resource access constraints and resource-oriented optimisation occur frequently in real projects.

As an example of a limited resource, imagine an important consulting firm has a big important project scheduled in a month's time - and you need to make use of them before they get tied up with that.

Another type of resource constraint arises when there are access problems for a resource. Imagine you have tasks A, B and C - all of which require the attention of a key worker - who can only do one thing at once. This results in limited scope for concurrency - making it more likely that these tasks will wind up on the critical path.

Also, resources are often another optimisation target. As well as wanting the project to complete rapidly, there are often also budget targets. Scheduling diagrams and critical path analysis are oriented towards optimising the project duration - but they can allow for other optimisation targets.

A common situation is where you have multiple partial-deliverables in the project. This often results in a situation where you have to allocate resources between progressing the main project and the completion of the the partial deliverables. For example in the field of software engineering, work on version 3 may commence before the codebase for version 2 has been frozen - and a project manager must decide on how to allocate resources between these two paths.

Who is it for?

Since the method employs visualising schedule diagrams, it will appeal to those with good visio-spatial reasoning skills. If you tend to think verbally, you may need practice to master the technique.

The like many project management tools, the critical path method concentrates on the needs of the project, and treats people like any other limited resource. This suits the style of some managers - but for others, it seems to ignore the social aspects of management that they are most interested in. Those people may find it difficult to develop an interest in the method.

Summary

In summary, the critical path method is a useful project management technique for time-critical projects. It is useful even for small projects - and so is useful in day-to-day life.

Without knowledge of the method, people often manage projects by prioritising tasks - and assigning priorities largely on the basis of unconscious calculations.

The critical path method is a way of formalising part of the normally-unconscious process of setting task priorities.

The method can be very useful. If you spend a little time exploring it, perhaps you will discover its advantages.

Enjoy,

On the Critical Path

Links

Critical path method

Project management


Tim Tyler | Contact | http://timtyler.org/