Friday, February 24, 2006

Lean Manufacturing and Software

A Nice article on lean Software Development:

Lean Manufacturing and Software: "Value and Waste

A good starting point is to consider what value is, and what waste is.

What are things with value?

* Raw materials
* An end product that someone is willing to buy
* Tools used by the team
* The skills acquired by the team

What about intermediate products? They have some value in the sense that they give us the option to create the final product more cheaply than if we started from the beginning. They have no value if nobody is willing to buy the end result. And intermediate products clearly have a cost.

And what is waste?
If it doesn't add value, it's waste.
--Henry Ford

Waste – anything other than the minimum amount of equipment, materials, parts, space, and worker's time, which are absolutely essential to add value to the product.
--Fuji Cho, chief engineer at Toyota

Taiichi Ohno is known as the father of lean manufacturing, and he identified seven types of waste. We'll consider them and find an example of each applied to software:


Software Example


Features that nobody ever uses.

Waiting Time

QA waiting for a feature to be written so they can test it.

Transportation Waste

Time waiting for files to copy.

Processing Waste

Software written that doesn't contribute to the final product.

Inventory Waste

A feature for which development has started, but nobody is currently working on it.

Wasted Motion

Doing a refactoring manually when the development environment can do it automatically.

Waste from Product Defects


Ohno talked about a diagram of a boat that represents the pipeline translating raw materials to a finished product, traveling across the sea of inventory. Every waste in the system is like a hidden rock at the bottom of this sea, which may be a hazard to travel over, and which raises the level of the water and makes the boat travel further.

To make these rocks visibl"

No comments: