Wednesday, November 16, 2016

Critical Chain Project Management (CCPM) & Theory of Constraints (TOC) in Software Engineering

Critical Chain Project Management(CCPM)

Student syndrome:– Start the work at last possible moment.

Parkinson’s law:– Work expands so as to fill the time available for its completion.

Bad Multitasking:– As a result of poor prioritization.

In tradition critical path project management, 30-40% time & resources are wasted due to bad multitasking, student syndrome, & Parkinson’s law.


Critical chain project management involves estimating each task of workflow network aggressively eliminating the buffer at individual task level for bad multitasking, Parkinson law & student syndrome, aggregating a buffer for entire project at the end of critical path and managing the aggregated buffer to protect the committed project due date.

Critical chain method differs from critical path in following points mainly.

1. CCPM uses resource dependencies that may not be visible on project network for the resource levelling.

2. CCPM emphasize a good enough solution is sufficient if the solution is delivered in a shortest possible time as there is no analytical method to find an optimal solution.

3. Monitoring & control of project buffer in CCPM as a function of project completion compared to earned value in critical path method.

Theory of Constrains(TOC)

“A chain is no stronger than its weakest link.”


The rate of achieving goal in a system is limited by at least one constraint and practically it’s impossible to have a system without a constraint. 5 focus areas were proposed to break (elevating the constraint’s throughput beyond system’s limitation) system constraint(s) and maximize the rate of achieving goal.

1. Identify the constraint.

2. Decide how to exploit the constraint.

3. Subordinate everything else to that decision.

4. Elevate the constraint to its breaking point.

5. Repeat above steps till all the system’s constrains are broken.

If a constraint’s throughput capacity is elevated beyond the system’s limiting factor, it is considered to ‘break’ the constraint.

CCPM & TOC in waterfall

Planning:– Estimate each WBS task aggressively without any individual task buffer. Add an aggregated buffer at the end of critical path.

Execution:– Avoid multitasking the critical path task resources. Encourage team to complete the assigned task ASAP.

Monitoring & Control:– Monitory buffer consumption as a function of project completion. Use TOC, feeding buffer, resource buffer to protect project due date.

CCPM & TOC in Agile

Release & Sprint Planning:– Encourage team to estimate aggressively in release planning & sprint planning eliminating buffer of individual tasks for bad multitasking, Parkinson law & student syndrome.

Iterations:– Theory of constraint should be used in identifying & resolving impediments. Encourage team to complete the assigned task ASAP.

Review & Retrospective:– A good enough solution is enough if it is delivered in a shortest possible time. Refine CCPM and TOC processes and techniques being used in the project.