How small batches improve product development
The idea of lean product development (LPD) came naturally when lean production evolved into the more general concept of “lean thinking”.
Product development is different from manufacturing because, as soon as you target non–trivial development tasks, they will contain a degree of risk that introduces variation. You can’t remove this variation, because economic rewards in product development are linked to taking accounted risks. You add no value whatsoever if you develop the same design twice!
“Leanness” is, as I see it, a measure of how well a process manages to operate with a limited amount of work in process, WIP (see this post). Kanbans, CONWIP, or any other control system that set an upper limit on the amount of WIP can be used to create flow. The rate of flow improves when the limit (“WIP–cap”) is lowered, but at the same time the flow becomes more sensitive to variation. In order to improve production flow, you seek to eliminate variation.
In product development, WIP translates to design in process (DIP). In LPD, you improve flow by setting limits on DIP.
But you can’t make product development lean by removing variation because then you remove all value added. You have to live with variation, and still avoid accumulation of DIP. Small batch development helps a great deal to accomplish that goal.
Reinertsen discusses the role of batch size in product development thoroughly. He shows how small batch development results in smaller changes, better quality, faster feedback, faster cycle time, and better economy. The same benefits hold for lean production systems where rapid changeovers and in–process quality control (jidoka) allows small batch production in a continuous flow.
At the same time batch size should not be reduced infinitely. One piece flow is not the goal in product development. Reinertsen uses software development as an example: Software should not be tested after each new line of code.
Software development seems to be a popular example of how lean principles can be used in product development. This is probably because software can be highly structured, modularised, and automatically tested. A couple of recent blog posts are representative: Hunter talks about how automated testing improves quality since it acts as a mistake proofing or poka yoke mechanism. Groeneveld argues that tests are useful, but that the use of high–level language constructs represents a more sophisticated and reliable form of mistake proofing.
I think that both are right, because automated testing of a product that is composed of ready–tested and reliable modules facilitates that developers make very frequent deliveries of small batches of working code. Reinertsen, again, says that “when we reuse a subsystem, we also reuse testing, documentation, system–level interactions, and reliability–related learning.”
My conclusions are:
- Automation of testing is equivalent to
- in–process quality control (jidoka), with the test acting as a sort of fool proofing or poka yoke mechanism,
- setup time reduction because automated tests reduce the high transaction cost that is traditionally associated with small batches.
- Modular products, standard parts, high–level programming languages and component based software, allow development work to be partitioned into small batches with fast cycle times and improved quality.
The two approaches complement each other. It’s easy to see that small batch development is a great thing. However, the need for modularisation and partitioning of the development work using well defined interfaces can be problematic. Modularisation is almost always possible with software, but it seems to me that product development and innovation in manufacturing, process industries, or education, is much messier.
For example, how can the fundamental materials science research, laboratory tests, full scale production tests, and the required process innovation that is involved in the development of a new steel grade be partitioned into small batches with clear interfaces in a similar way? I think I’ve got myself a good two–year research project there just to get started…
RSS feed for comments on this post. TrackBack URI
