Theory of Constraints is an optimisation process developed by Dr. Eliyahu Goldratt is his famous business novel The Goal.
Theory of Constraints builds on decades of research of Agile engineering methodologies, dating back to the Toyota Production System and Lean thinking.
As software development is typically an area of new product development (as opposed to repetitive production work), it is better suited to optimising software development process than either Six Sigma or Lean thinking.
The general optimisation process used by Theory of Constraints is as follows:
- Identify the system's constraint(s).
- Decide how to exploit the system's constraint(s).
- Subordinate everything else to the above decision(s).
- Alleviate the system's constraint(s).
Optimising Development Process
Theory of Constraints can be applied to software development using a workflow as follows:
- Review Cycle Time.
- Drill into Cycle Time to find the constraint of the Software Development Life Cycle.
- Decide how to exploit that constraint.
- Focus the EngProd team's efforts on exploiting that effort.
- Once the bottleneck is removed, restart from step 1.
- What is EngProd?
- The Goal - Eliyahu Goldratt
- How To Compare Six Sigma, Lean and the Theory of Constraints