|
January / February 2004 Feature Article
|
|
Managing the Critical Path To immediately speak of the project Critical Path is like discussing water-skiing techniques and assuming that you know everything about water-skiing, and are reasonably experienced. The focus of this magazine is testing, whereas this topic relates more to Project Management. In order to benefit as many readers as possible who may be testers or programmers, I will attempt to bring an understanding of what the Critical Path is, and then establish the principle before applying it to projects.
The Sunday Family roast Sunday roasts were always special when I was a
kid, as they brought the family together. The feast maintained family unity, order and respect similar to how
our Creator established his order at the beginning of time. Nevertheless, let's go to the kitchen where Mom
prepared the roast with love and care, and let's start getting technical and analytical.
So, there are a number of things that need to
be done. There is the chicken to roast, the potatoes to roast, rice to cook, some veggies and gravy to make.
Have a look at this and you will see that there are a number of "streams" of work to be done. What do you think
Mom would start with? I would take a guess and say the chicken because that will take the longest, then the potatoes,
then the rice, then the veggies, and finally the gravy.
Starting with the chicken, first the oven has to go
on to 180oC. The chicken needs to be trimmed of excess fat and skin, rinsed, seasoned and placed in the roasting pan.
Some oil poured over the whole lot, and a bit of tin foil used to cover the chicken. It is now ready for the oven,
where it will be for about an hour and a half. So not only are there different streams of work, but each stream is
made up of things to be done, which we can refer to as "tasks". Note that there is an order in which
we do these tasks. An example here would be that you would not season the chicken first and then attempt to trim
the fat and rinse. You would not add the potatoes to the pan until you have peeled and halved them first! These
we can refer to as "dependencies", one task depending on the completion of another.
Lets move on to the veggies, which do not take as
long as the chicken to cook. It is possible to leave the veggies for a while and start them later, so long as they
are done by the time the chicken is done. If they are done before time, they can be kept in the warming drawer
until they are required. Note here, with the veggies, that there is some free time before you have to start, and
there may be some time remaining after they are done. This free time you could call "lag" time, or even
"float" time.
Immediately, if you compare the chicken line to the
veggie line, you can see that the chicken line has no float time, but the veggie line does. This means that there is
no pressure on the veggie line, but if you took more time than expected to trim the chicken, your whole meal would
be delayed. This is because the chicken line is the "critical" line and any delays would affect your mealtime, or
you could refer to this as your "delivery" time.
Now consider the gravy line! You might be able to
prepare the Bisto and corn flour, but you can only make the gravy after the chicken is ready, as you need the
roasting pan with all the bits stuck on the bottom to make it. So now, the chicken and the gravy line make up
the critical path. If Mom planned correctly, she would have started the chicken that bit earlier to cater for
making the gravy at the end, in order to have the meal ready at the desired time. Oh! What would happen if you
forgot to switch on the plate under the rice, and in ten minutes everything else would be ready, as planned?
Now you can only eat when the rice is done, suddenly the critical path has changed, which can happen and sometimes
does.
Roast versus Project At an early stage of the project, the project
mandate and the scope of work is clearly defined much like "Prepare Sunday Roast for one o-clock".
This mandate forms the basis for planning the project and establishing the so-called "work streams",
just like the roast chicken story. With projects there is always a time line where a date is agreed or set for
the completion of the project much like "When will lunch be ready?"
Furthermore, there are resource and budget components
that come into the equation, but when all of these are combined into the planning, a critical path can be established.
This basically means that every task on the critical path needs to be completed at the set time otherwise it will push
out the delivery or completion date or time.
Project Management Tools Microsoft Project® is widely used
as a Project Management Tool. It provides the ability to capture the relevant tasks, together with their duration.
Further to this, it is possible to "link" the tasks to each other according to their dependencies one to another. This
will also provide you with a network diagram of task work streams, and will display the critical path of the
project in red. The dates and times are automatically calculated, and it is easy to see when the last task will
be completed. MS-Project offers a multitude of options around controlling your project, but that is not what we
intend talking about at this time.
Project Delivery Date Once the critical path has been established for
the project, the completion date may fall outside of the project's required completion date. In order to reduce
the duration of the critical path so that it meets the project requirement date, there are a few things that need
to be reviewed that may accomplish this.
It is possible that some tasks could be run
simultaneously depending on their starting criteria. If there is no dependency one on the other, then it is
possible that they could both start at the same time. This would reduce the critical path duration providing you
are not trying to use the same resource to work on both of them. To achieve duration-reduction, you would need
to have different resources on each task. Remember that a task may need more than one resource depending on what
it is that needs to be done.
There is another variation of simultaneous tasks,
and that is basically where a second task could begin a short while after the first if it requires output from the
first task, so a delayed start can be set in the linking to accomplish this.
|
continued ... Further reduction of time can be achieved by reviewing
tasks to establish whether additional resources can be allocated. The best results come from tasks with longer
duration; for example, a four-day task could be reduced to two days by doubling the resources. There is a caution
best explained by chopping down a tree. You could halve the time to chop down a tree by increasing from one tree-feller
to having a tree-feller on either side of the tree but you could not finish the job in ten minutes by putting eight
axe men to the tree. It becomes practically impossible, which comes to the next consideration.
In some cases it may be possible to establish shifts
where one team comes in and works an eight-hour early shift and at the end of that shift the next team starts for a
further eight-hour shift. This can be quite successful, as your test environment will only need to provide test facilities
for a single team. There may be a downside, and that may be that the environment may not be available for extended hours
if it assimilates a business environment with batch runs at night etc.
There is the example of some companies who have offices
around the globe. For example, they have offices in South Africa, which, when they close, hand over to offices in USA
where they have just started their day. At the end of the day in USA, they hand over to the office in Tokyo, and likewise
from Tokyo back to South Africa. This maintains around-the-clock productivity and shortens the duration to delivery.
At this stage, let's assume that the project plan
has been adjusted and the critical path of the project will result in the project being completed on the required
date. At this stage, the project plan would normally be baselined. A baseline is essentially a recorded snapshot
of the agreed plan, for comparison purposes, when monitoring and managing progress.
Using the Right Resources If there is one thing that can derail your critical
path almost instantly, it is to have resources with the wrong skills. You may have brilliant resources, but if they
do not have the skills required to complete the task in the prescribed time, you are set up for failure. On the
critical path it is imperative that you ensure that the resources are fully capable and able to continue with or
without you. For success, your resources need to be smart and reliable. (Talking about smart, have you seen the
new TDS Smart cars, they look great). This is an area where you do not want to carry resources, place extra
resources on one of the other work streams where there is free time available for delays and slips.
Managing the Critical Path A factor that greatly affects managing a critical path
is the actual size and duration of the project. Small projects, of short duration, leave very little, if any, space
or time to make any recovery possible and result in a lot of stress and tension. The chances of missing the delivery
date or having to move it out are very high. This also holds true when any project gets close to the delivery date,
mainly for the same reason that there is very little time to make recoveries. Towards the end of every project the
tension increases unless, of course, you have managed to make up time by being ahead of schedule. I always think of
the Comrade's Marathon where so many runners fail within fifty meters of the finish line, or like Rubens Barrichello,
who taps off on the last few laps because he is so far ahead.
Once the work actually starts on the project, the
critical path needs to be watched like a hawk; not only for ongoing progress, but also to ensure that requirements
for the tasks ahead are well prepared and coordinated. A big mistake is to only monitor the task that is currently
active. It is imperative that your concern and focus is constantly on the next task. An opportunity may arise where
you finish a task ahead of schedule, and if your focus is on the next task, you will be able to start immediately
and maintain your time advantage.
For as long as you are ahead on the critical path
you can afford to smile and remain focussed. Now, in most cases there is a time when one or more of the tasks slips
for whatever reason. Don't ever think that you are going to have the perfect project, that only happens in books and
most training courses. The challenge is to get your critical path back in tow and these are some suggestions that
you could consider.
Whatever you consider or whatever you do, you have
to find a way to bring the project back on track. You cannot give up, even if you aim for the moon and only hit the
light bulb, it's better than not trying.
There will obviously come a point where the project
stakeholders need to be brought into the picture. This may not be a bad thing, as there may be many other factors
that are unknown, and may affect the project as a whole.
In many cases, the cause for delays may be as a result
of causes outside your control, in which case there may be no opportunity for recovery. This may cause going back to
the drawing board, further workshops and further negotiations as a means to a way forward.
In conclusion, managing a critical path comes from a drive to succeed against all odds, a determination and a challenge to never give up. It requires insight into the bigger picture and a desire to be pro-active at all times, to be a few steps ahead and to have a focus on what is next to come. Not many critical paths are accomplished successfully, but that also means that there are some that are and that's where you should strive to write your name. |
<< November / December 2003 |
March / April 2004 >> |