BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News A Quick Look At The 7 Wastes of Software Development

A Quick Look At The 7 Wastes of Software Development

This item in japanese

Bookmarks

Fundamental to Lean Software Development is the pursuit of minimizing waste. The TPS publicized 7 primary wastes of manufacturing, and the Poppendiecks have since translated these wastes to our world of software development. Jack Mulinsky has recently been posting an introductory series on these wastes at agilesoftwaredevelopment.com.

The series' first post discusses the waste of Partially done work, the software equivalent of Lean Manufacturing's "In-process Inventory", which Mulinksy asserts as the most offensive of all wastes. A summary of the items he categorizes as wasteful "work-in-progress":

  • Completed but un-checked-in code
  • undocumented code
  • untested code
  • code not yet in production
  • commented out code

In the second post Mulinsky discusses Extra Features ("Over-production" in manufacturing terms), referencing the well-known statistic that as much as 2/3's of the features in existing software applications is either barely or never used. Among other things, he notes how this is wasteful in the direct sense (taking to build useless stuff) as well as the indirect sense (more features means more code and complexity to maintain).

Mulinsky's third post focuses on the software waste of Relearning/Rework, which parallels the "Extra Processing" waste in Lean Manufacturing theory. He describes his idea of a few examples of such waste, including:

  • poor planning
  • poor quality
  • task switching
  • poor communication and knowledge persistence
  • undocumented code

The series' fourth post (and latest as of this writing) discusses the waste of Handoffs, the software equivalent to "Transportation". He includes these technically-focused examples where this waste can become an issue:

  • handoff of code between developers
  • handoff of software from developer to tester
  • handoff of software from development to deployment

Still to come should be Mulinsky's high-level discussion of what he sees as the remaining 3 software wastes of Task Switching, Delays, and Defects. Stay tuned, particularly if this your first exposure to the ideas of software "wastes" introduced by Mary & Tom Poppendieck in their fantastic Lean software books, Lean Software Development: An Agile Toolkit for Software Development Managers and Implementing Lean Software Development: From Concept to Cash.

Also, for those more familiar with these ideas, what might be useful is to add your own thoughts on how these wastes manifest themselves in software environments, and how you have eliminated them.

Rate this Article

Adoption
Style

BT