Constraints evolve in a predictable way
In the process of building software development there are many bottlenecks you can find.
They are present and they disappear as we evolve and they work in a very similar way as the Theory of Constraints defines.
The main bottlenecks you can find in software development are:
- Inconsistent environments -> impacts on environment creation
- Manual Intervention -> impacts on code deployment
- Poor SDLC practices -> impacts on test set-up and run rate
- Overly tight architecture
- Product owners
In case you have one or some of the first three bottleneck, then you should stop and decide if to continue building features and capabilities or to focus on solving these bottlenecks. It’s proven that when the bottlenecks #1, #2 or #3 are present, then it means that the speed of delivery is much affected.
Source: The DevOps Handbook.