Agile Roots Part 2 - Increase Throughput, Decrease Inventory & Operational Costs

Post date: Jan 12, 2014 12:55:28 PM

Throughput is understood as being the overall money got from selling the product or service, meaning that only the active parts - those producing money stay in focus. Agile iterations and sprints are based on prioritization of work according to business value that mirrors market demand which means that work is targeted for monetization purposes according to business environment and willingness to risk exposure when applicable.

As a consequence of the approach above, inventory is decreased. Inventory in software might not be so visible like in other industries but it certainly has costs associated with it and these costs are not easy to quantify. Agile methods have decreased inventory by introducing means to minimize work in process.

Time boxes associated with sprints, creation of user stories and their conversion into tasks meant steering the process to a final state that can be assessed through feedback driving the decision if the implemented feature goes in the final product or not represent the building blocks introduced by agile frameworks with regards to this aspect. Work in process can be regarded as inventory in software since it does not contribute to direct throughput and its existence hides possibility for increasing bugs, mistakes and technical debt. Time boxes and prioritization both in Scrum and Kanban minimize these costs. There are also technical strategies besides the agile framework such as continuous delivery that saves inventory costs but usually such setups are used with agile.

Decreasing operational expense goes inline with decreasing inventory costs because in agile cross functional teams imply the idea of generalizing specialists meaning that important skills for software delivery are distributed in a widespread manner helping in faster deliveries while decreasing time to market and allowing for risk mitigation. Other techniques such as testing and deployment automation as part of continuous delivery also decrease operational costs and they are usually employed together with agile methods. Fast feedback, if negative eases the decision to stop an initiative because of its lack of success early in the process and this means saving money - a.k.a. decreasing inventory(work in process) and operational expense (cost of work associated with this endeavor). Agile provides support for this sort of feedback early and often, in an iterative manner via sprint retrospectives demos.

Like in any other industry also in software the goal of a company can be translated as increased throughput while decreasing inventory and operational costs and agile methods give a straight process framework that allows doing it.