Critical Chain Project Management
Hello colleagues ! This is Week-36 of the Weekly Lean Series and we have a very interesting topic, namely Critical Chain Project Management or shortly CCPM.
Everybody may remember critical path method (CPM) for identifying what are the most important actions in accordance with their duration and relations with other tasks in a project. In the example above the activities are placed in relation with each other and if there are no slacks in a path, it is the critical path of the project. Therefore if any of those activities are delayed or hindered in any way, the total project time will increase.
This is a very classical way of analyzing and scheduling a project. However suppose for activity C we have a resource constraint, say a certain specialist is required and for that special task he will not be available between day 6 and day 14. So this changes everything as the earliest possible finish date for that project is now day 17 which in turn makes the new project finish date as day 20. So if there are resource constraints, the critical path does not really mean much. So resource constraints actually define the critical chain of events that is important for the project. This was the thinking of Goldratt in his book critical chain which brought us the CCPM method.
Another issue is with the duration estimates. Normally when people are asked when they can finish a project the responses can be on the safe side. Even if the estimates are more or less accurate , there can still be different happenstances which can enable early finish of a task, where people can further check what they are doing although not required. In another scenario, people can start late for a task and maybe finish it much faster than the plan was. These kind of subjectivity at the estimation of task durations can be costly for a project as you may need these buffers elsewhere.
领英推荐
So the initial reaction of a project planning in CCPM is to cut these durations in half, crashing the project timeline. This can sound brutal but the reserved times will be buffers which we can still use if the defined times are not enough. There are two important buffer types, namely project buffer and feeding buffer. Project buffer is placed at the end of the project timeline to make sure we are not risking a deadline problem. Feeding buffer is the buffer we place after a task that is a predecessor of the critical chain. Continuing our project example as you can see the new schedule takes into account the resource constraint and we now know that the critical chain at the start of the project involves path A-C-E-F since there is a resource constraint on C. We crashed the project timeline and half of the total project timeline in the CPM , which is 8 days is now the buffer. The vital task is C ; since we know that if at day 6 the task is not completed , till day 14 we will not complete task C. So a feeding buffer is added before task C , meaning if task-A is not completed at defined 2,5 days we will use the additional 1,5 days to make sure C starts at least at 4,5 and with estimated duration completed at 6. Rest of the buffer is at the end of the project which is 6.5 days. Suppose C did not end as planned and our resource left us with 0,5 days of work not finished. The updated schedule will show that we need to focus on other actions to be completed on time so that when the resource is available we use what is left of the buffer to complete the project on time.
As you can see the way we look at a project via CPM is not a realistic world as we think all the resources are available at all times. This is unrealistic as no project is without a constraint. Therefore in order to correctly understand what lies ahead of our project we need to have a resource input to understand what exactly is critical for our project . CCPM not only ensures that but also crashes the timeline to avoid inappropriate use of time within tasks which directly effects the timeline. Close monitoring of buffer consumption and progress can also give us clues on how our project is moving forward.