Post date: Jan 26, 2014 10:54:35 AM
The five steps of the Theory of Constraints have been adopted by the software world via agile methods that promote impediment removal to be applied in a continuous manner, iteratively.
Let us see it through an example:
STEP 1: Identify the system's constraints.
As an example, let us consider the fact that some bugs are revealed too late in the process, sometimes being identified by the client. The constraint here is the testing activity in general which translates to the inventory (the amount of work represented by the software that has not been tested) and the operational expense (people and systems doing testing).
STEP 2: Decide how to exploit the constraints.
Testing needs to be done continuously, early and often in order to discover potential bugs immediately when the cost of fixing them is cheaper. The Team will invest time and effort to automate testing and to spread knowledge regarding testing techniques across different team roles so that testing can be continuously done and expanded regardless how many team members are present. This includes automation systems and their integration in the build process.
STEP 3: Subordinate everything to the above decision.
Testing is decision gateway activity for any step of the software delivery process and the whole team is aware of this and organizes its work according to this rule at all levels (test first programming, fail builds fast if testing does not pass successfully).
STEP 4: Elevate the system's constraints.
Use available machines for running tests in an automated manner, in parallel.
STEP 5: If in a previous step a constraint has been broken, go back to step 1.
While carrying out these steps, it might be the case that some other activity proves itself as the bottleneck, for example programming the test cases which does not allow for example to run enough tests in parallel. In this case this would become the new constraint on which to focus.
It is amazing how five steps can be applied in so many unrelated industries, scenarios and companies with successful results, even for longer timeframes such as several tenths of years. This fact proves the power of Goldratt's general vision for continuous improvement stated in "The Goal".