The first principle stresses understanding a product’s (or service’s) value in the eyes of the customer. The amount a customer is willing to pay for a product or service is directly related to how much they value it, so understanding the value of a product is the first step towards effective pricing and Lean management.
Map the Value Stream
The value stream is the complete sequence of activities involved in delivering an end-product with an agreed-upon value, and mapping the value stream means using visualization techniques such as Kanban, flowcharts, or spaghetti diagrams to represent this flow.
Ensure that the Value Stream Flows
The ultimate goal of value stream mapping is the preservation and optimization of flow — the rate and “evenness” with which items and information proceed through the value stream. This is the principle of JIT manufacturing in action: because excess, early, or unexpected inventory creates waste, synchronization is the key to optimizing flow. Identifying and eliminating work that adds no value (either directly or indirectly) can also improve the flow of a value stream.
Employ a Pull Approach
A pull approach allows customer demand to determine production, so that nothing is created unless a customer asks for it. Done correctly, this eliminates waste caused by inventory costs and overwork. A pull approach is, however, difficult to implement effectively because it relies on accurate, effective assessment of the market and the ability to vary production quickly and on demand. Delivery must be speedy to ensure that customer demand still exists by the time the end-product is ready. Finally, a pull approach also requires highly effective coordination of information throughout the value stream, so that everyone is aware of production requirements and inefficiencies don’t arise because of confusion and mismatched expectations.
Pursue Continuous Improvement
At its heart, Lean management is an ongoing, incremental process. A waste-free system may be practically unattainable, but as a goal, it drives a need for constant improvement. The Japanese word Kaizen is often used to describe this practice in Lean. With Kaizen, the value stream is continually optimized, and defective processes are consistently improved or replaced in an effort to improve quality.
Other key principles in Lean software development include amplifying learning, deciding as late as possible, delivering as fast as possible, and empowering the team.