One of the starting points with any organization looking to start the DevOps journey or even just looking for process improvement is to create a current and future state Value Stream Map or apply the Theory of Constraints. The concept of Value Stream Mapping has been around for many years (possibly as early as 1918) and is usually associated with Lean. Value Stream Mapping can be used in conjunction with the Theory of Constraints or they may both be applied separately. Value Stream Mapping helps show how both materials and information flow as a product or service through the process value stream, helping teams visualize where improvements might be made in both flows. The Theory of Constraints is used to concentrate on reducing the throughput time. By optimally exploiting the bottlenecks or constraints, the efficiency of the process as a whole is improved.
There are a couple of issues practitioners should be aware of when applying Value Stream Mapping/Theory of Constraints to Software Development. First, Value Stream Mapping and the Theory of Constraints have traditionally been applied to manufacturing where outputs are tangible and easier to measure. Second, in manufacturing we would look out for “Hidden Constraints” which is a constraint in the business process which turns out to be based on wrong assumptions. An example of such a ‘hidden’ bottleneck could be introducing replenish-to-consume everywhere in the supply chain.