Lean Software Development: Principles and Practices
Lean software engineering emphasizes continuous delivery of high quality applications. Ken Pugh explains the principles and practices that form the basis of lean software development—concentrating on developing a continuous flow by eliminating delays and loopbacks; delivering quickly by developing in small batches; emphasizing high quality which decreases delays due to defect repair; making policies, process and progress transparent; optimizing the whole rather than individual steps; and becoming more efficient by decreasing waste. Ken describes lean’s emphasis on cycle time rather than resource utilization and demonstrates the value stream map which helps you visualize the development cycle flow to identify bottlenecks. He explores the differences between push and pull flow, describes how lean thinking shows up in agile processes including Scrum and Extreme Programming, and discusses how lean can be applied to the entire workflow—not just to the development portion. Ken concludes with a discussion of how you can begin your lean transformation.