Manufacturing inventory includes raw materials, work in progress (WIP) and stocks of finished goods. Money tied up in inventory increases debt and reduces return on investment, also making it unavailable for other work. Excess inventory also increases the need for transport, storage and administration costs. Over time excess inventory becomes obsolete and must be written off.
In IT, inventory waste is any planning, analysis, design, and development work on system features that have not been deployed. Most traditional IT groups are full of inventory waste because they spend millions of dollars on waterfall projects that take years to deploy to production.
For example; a $10 million IT project that’s delivered in one big hit after two years, has $10 million of inventory before it deploys. If your IT division spends $100 million a year on projects like this then you have an average of $100 million dollars tied up in IT inventory all the time. If you could reduce your software development lifecycle from 2 years to four weeks then your IT inventory would drop to less than $4 million which means that you would have an extra $96 million available for profit or other projects.
In IT, as in manufacturing, the main causes of excess inventory are over production and queues of work within the production process. As described in a previous article over production is caused by doing work in big waterfall projects. It’s made a lot worse by doing the work in specialist teams that throw it over the fence to the next team at the end of a phase. When work enters a team in a big batch it blocks other work and takes a long time to process. When the team is slow, under-resourced or has a long lead time, then work sits in a queue for a long time and may become forgotten, leading to excess inventory. For example, when an IT Operations team has minimised its costs to the point that it takes several months to provide a server then this causes unfinished work to pile up in software projects that need servers.
The best way to reduce inventory waste in IT Operations and Software Development is to set up cross functional teams to do the work for each requirement, utilising a Just in Time Method to meet customer demand. A good approach is to set up a Kanban board for each team with columns for request, analyse, design, build, test and deploy. When you have a Kanban board you can measure the average cycle time from customer request to deployment and you can see where work is building up and then take the necessary steps to reduce it. It’s not important to ensure that every person is fully utilised. What is important is to implement things that customers value as quickly as they need them and no faster.
The Agile principle that we “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale” aligns well with this approach.
Excess work in progress or excess inventory hides a lot of other consequential problems. When you reduce the amount of work in progress you start revealing issues that are causing waste in other areas.
I will continue this series on reducing waste in IT in subsequent articles.