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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  1. 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.

  2. 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.

  3. 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.

    • How serious is the slippage? Is it just a few hours or is it going to be a few days?
    • Would working late a few evenings or coming in a few hours early pull it back in line?
    • Maybe you have to come in on Saturdays!
    • Would allocating additional resources help, remembering the tree-fellers?
    • Should you get involved?
    • Should you change the resources?
    • Have another look at running tasks concurrently. Has anything changed that may make this possible?
    • Look further down the critical path to see if any time could be caught up or gained elsewhere.
    • What can you streamline? What can you make more efficient?

    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 >>