Removing Waste in Software Projects
Triclosan is supposedly the germ-killing ingredient used in antibacterial liquid soaps and body washes. Recently, news came out that the Food and Drug Administration is reviewing the safety of this chemical. If the verdict goes against Triclosan, then manufacturers will be forced to revisit its use in their products. Companies will not only have to remove many existing products from supermarket shelves, but they also will have to eliminate the raw materials from manufacturing plants.
I’m leading with this news to explain how government can change the rules at any time, which in turn impacts existing products as well as future ones. These impacted products could be as simple as shampoo or as complex as a software billing system. The fundamental dilemma at the root of the situation has to do with inventories.
Companies don’t want millions of dollars’ worth of investments on inventories to go to waste. Remember, waste is not limited to the manufacturing sector. This waste wreaks havoc in the software world as well. As per the lean concepts, inventories are considered waste since they don’t generate any business value.
Let’s take the simple example of a software billing application under development. I can assume that this project would have gone through several rounds of discussions at various levels before reaching development. Several architects would have spent their quality time designing this system. Progress meetings with stakeholders might have involved get-togethers featuring food and drinks. In addition to those expenses, we have to take into account the costs of flights and accommodations for outside experts.
Now, consider what would happen if the government suddenly passed regulations that impacted the development of this product. Any change in the rules that alters this project’s planned features turns the organization’s investments in the project to waste.
Even the indecisions are considered waste. Alistair Cockburn explains, “Each decision that has been made but has not yet been validated by someone (the sponsors, the testers, the marketplace) is still ‘pending,’ still waiting to show its quality.” Every time a tester or a business analyst waits for input from someone else, an internal inventory of waste is created.
Just-in-time development is considered by some professionals to alleviate some of the waste due to inventory. In the context of soap manufacturing, having an inventory sufficient to support a few days of production is much better than having an inventory that supports six months’ worth.
Additionally, one could use the inventory quality ratio (IQR), which is a popular method used in manufacturing sectors for managing inventories. IQR provides a structure for categorizing the inventories and helps put a dollar figure to good inventories (active) vs. bad inventories (slow moving and obsolete).
Embracing IQR-kinds of methods in software development is essential. While the product owners keep adding features into the backlog to be scheduled for delivery a year later, teams continue to spend hours of quality effort in analyzing and designing the features. By applying IQR categorization, teams can completely concentrate on good inventories, thus saving the company thousands of dollars.
What types of inventory-related waste have you observed in your projects? How much money have you spent discussing a feature that is scheduled to be delivered six months out?