The Seven Principles of Lean Software Development [1]
Recently I started reading Implementing Lean Software Development: From Concept to Cash and in the second chapter the book describes some principles about software development that I thought would be interesting to share.
Let’s start with the first one.
Eliminate waste
In order to eliminate wast, one needs to recognize it first. Since waste is anything that does not add value, the first step to eliminating waste is to develop a keen sense of what value really is.
Once you have a good understanding of value, the next step is to develop a capability to see waste. Waste is anything that interferes with giving customers what they value at the time and place where it will provide the most value. Anything that does not add costumer value is waste.
Two big things that are definitely waste when talking about software development are:
- partially done work: it gets lost, grows obsolete, hides quality problems and ties up money
- extra features: we are not talking about the necessary safety or security features, we are talking about features that aren’t needed in the first place. They add complexity to the codebase that will drive up its cost and it will make it more expensive to maintain.