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.