PM Essence

Managing Human behaviour in Critical Chain Project Management


By - Sujata Sahu, PMP
One of the most important aspects of Project Management is managing schedule and resources. In a typical project the task scheduling is done by estimating the task duration and padding them with some extra buffer, sequencing them, assigning resources and then estimating the project completion or final project delivery time. There are tasks which could be done in parallel and there are tasks which are dependent on other tasks, hence done in sequence, leading to many paths in project network diagram from beginning till end of the project. In a traditional Project Management critical path is managed to keep the project on track but it doesn't take into account the human behaviour. Only, the dependent tasks on critical path define the lower limit of lead time and project cost.
The biggest enemy of any project is uncertainty. It doesn't matter whatever estimation method had been used and consulted with experts and team members to determine the duration of task and hence of the project, there is always uncertainty in finishing a task on time. It can be finished either before time or with some delay, predominantly caused by human behaviour. But this uncertainty can be reduced by looking into the symptoms and fixing them. Critical Chain method provides one such tool. It was proposed by Eliyahu M. Goldratt. Let's look into some other facts before we explore further about Critical Chain method. Some facts about project schedule and human behaviour are:
Fact 1: According to Parkinson's Law, the work takes all the time allotted for the task. This can be considered as human tendency. So while planning, even if the task has been given extra buffer time to finish, there are chances that it will take the entire time to complete it or even delay sometime.
Fact 2: Even if there are chances that the task gets finished before the scheduled time, the next task will not be started early and the reason could be that the developer doesn't want to be punished for finishing task early as the Project Manager might give her the tighter schedule in the next project, looking into the current efficiency. On the other hand, if the task is finished before scheduled duration, the next task cannot be started due to unavailability of resources. Early finish of the task can't be used to offset the delay by other task.
Fact 3: Student Syndrome prevents the developer to start the task until the last moment, causing it to finish just on time or late.
Fact 4: Switching from one task to another task may also delay the project, especially if the tasks are from different projects. However, all multitasking are not bad, though it is advisable to assign the task from one project. Similarly, it is also possible that the programmer may get bored working on one task the whole day. So if they are given one task for the first half and another task for the second half, she will complete it more efficiently or else the team member will be stuck with the one task for the entire day and wasting the full day for performing a half day task.
Fact 5: Integration of tasks can create some crunch in the buffer. For example, completion of task 1 is 80% and completion of task 2 is 80% too. The completion of both the task together is 0.8*0.8=0.64, which is 64%. The buffer time reduces for the other tasks in the path and causes the time crunch.
Critical Chain method considers the above facts to provide solution. Critical Chain consists of sequenced dependent tasks and these tasks can be scheduled in most efficient way to achieve the project benefits in terms of cost and duration. Critical Chain manages the project uncertainty by:
Estimating the task duration to half of actual duration. Allot less time for the task but keep the extra time in the end of the critical path and to paths feeding in to critical path, as a buffer and share it with everyone. This buffer time is also cut into half.
Schedule backward from the project end date.
Using buffer management to track the project progress.
Focusing on resource management.
Dependencies that are used to determine critical chain in Critical Chain scheduling are: 
Finish to start dependencies: Next task can't be started unless the first one is finished.
Resource dependencies: Next task can't be started until resource is freed from the previous task. This is also known as “resource constrained critical path”.
Buffers are introduced in critical and noncritical path to avoid any variance in critical path. Safety buffer is most important aspect of critical chain scheduling. It protects the project due dates from variation to the Critical Chain. There are 3 types of buffers: Project buffer, Resource buffer and Feeding buffer.
Project Buffer - Project buffer is the total pooled buffer in the end of critical path. It can be 50% of the total project duration. Each task duration is cut by 50% and rest is added into this pool.
Feeding Buffer - They are the pooled buffer in other paths that feed into the critical path - they serve as feeding buffer to critical path. Pooled buffer in noncritical path has some flexibility to start the next task as soon as the previous task is finished without affecting the critical chain. In an environment where multiple projects are running together, the Capacity buffer protects key resource performance variance in one project from affecting another project.
Resource Buffer - Resource buffers are used to avoid the impact of resources on project progress. It is a virtual task, just before the Critical Chain that requires critical resources. This indicates that the resources are available to start the critical task without any delay.
The progress of the project is measured with utilization of buffers and critical chain is recalculated. However, there is no standard method to calculate and optimize Project Buffers. Implementation of Critical Chain scheduling can be another challenge. An immense trust in management is required by team members while chopping off the task duration by 50%. Team members must be educated properly about Critical Chain method. It is needed to ensure that team gives the roadrunner performance and complete their work as quickly as possible and start with the next task. Hence, provide the team with activity start time and resources rather than the milestone. It will help them to handover the completed work quickly and start with the next task.
Basically, the difference between Critical Path and Critical Chain is that the critical path spans from start of the project till the end of the project while Critical Chain ends with a project buffer assigned to the project. Critical Chain Scheduling is performed in Critical Chain (taking into account task and resource dependencies) while Activity Sequencing is done in Critical Path (taking into account only task dependencies). The Critical Path is obtained as a result of activity sequencing to achieve certain milestones or deadlines. Normally, it doesn't take resource utilization into account. Hands off dependencies are given the precedence. While in Critical Chain, it is more of resource oriented set of project tasks.
In brief, Critical Chain method focuses on resource utilization. The sequence dependent tasks define the project time but the resource utilization plays important role in keeping the project timeline. Though this is not the ideal case everywhere, the Critical Chain scheduling can fit best for resource intensive projects.
References: Eliyahu M. Goldratt, Critical Chain