Book Notes #20: Lean Software Development - Mary Poppendieck and Tom Poppendieck

William Meller - Lean Software Development - Mary Poppendieck and Tom Poppendieck
Lean Software Development identifies fundamental lean principles and shows how they can serve as the foundation for agile software development that works.

Summary

Title: Lean Software Development: An Agile Toolkit
Author: Mary Poppendieck and Tom Poppendieck
Themes: Agile, Career, Cases, Technology, Management, Business
Year: 2003
Publisher: Addison-Wesley
ISBN: 0133812960, 9780133812961
Pages: 236

In Lean Software Development, Mary and Tom Poppendieck identify seven fundamental "lean" principles, adapt them to the world of software development, and show how they can serve as the foundation for agile development approaches that work. 

Along the way, they introduce 22 "thinking tools" that can help you customize the right agile practices for any environment.

Better, cheaper, faster software development - you can have all three if you adopt the same lean principles that have already revolutionized manufacturing, logistics, and product development.

Lean Software Development shows software professionals how to achieve breakthrough quality, savings, speed, and business value by adapting the seven lean principles that have already revolutionized manufacturing and R&D. Drawing on 25+ years of experience leading enterprise projects, the authors show how to use these principles to create agile processes that work - because they're optimized for your environment. 

William Meller - Lean Software Development - Mary Poppendieck and Tom Poppendieck

The development of Agile software requires innovation and responsiveness, based on generating and sharing knowledge within a development team and with the customer. Agile software developers draw on the strengths of customers, users, and developers, finding just enough processes to balance quality and agility.


My Book Highlights:


"... Toyota and Honda had discovered a different way to avoid the penalty of incorrect design decisions: Don’t make irreversible decisions in the first place; delay design decisions as long as possible, and when they are made, make them with the best available information to make them correctly..."

"... It is, therefore, best to avoid this expectation, either by stating at the front that scope is negotiable or by defining scope at a high level so it is negotiable in detail..."

"... Somehow, the idea that variation is bad has found its way into software development, where people have tried to develop standardized processes to reduce variation and achieve repeatable results every time. But development is not intended to produce repeatable results; development produces appropriate solutions to unique customer problems..."

"... Increased application domain knowledge across the entire software development staff. Acceptance of change as an ordinary process and the capability to accommodate emergent design decisions. An environment that enhances communication to integrate people, tools, and information..."

"... Perceived integrity means that the totality of the product achieves a balance of function, usability, reliability, and economy that delights customers. Conceptual integrity means that the system’s central concepts work together as a smooth, cohesive whole..."

"... The economic benefit of the rapid flow of value through the value stream is also hard to measure, yet increasing flow is an excellent way to identify and eliminate the waste created by sub-optimizing measurements..."

"... Practices for one domain will not necessarily apply to other domains. Principles, however, are broadly applicable across domains as long as the guiding principles are translated into appropriate practices for each domain..."

"... The key to communication about complex systems is to hide details behind abstractions when a broad picture is desired and move to lower levels of abstraction to flesh out the details..."

"... In a service economy, quality does not mean conformance to a script; it means adapting to meet the changing expectations of many different customers..."

"... It seemed that everyone’s job existed solely to help the line workers, and the workers in turn were fully engaged in their jobs..."

"... Suppose a developer has a conversation with a customer about the details of a feature. The conversation should not be considered complete until it is expressed as a customer test..."

"... It may seem like writing tests slow down development; in fact, testing does not cost, it pays, both during development and over the system’s lifecycle..."

"... The simple mathematical fact working here is that variation is always amplified as it moves down a chain of connected events. A little variation in step one introduces a huge variation five steps later..."


People using agile processes can refer to the 22 tools that Mary and Tom describe to understand why and how the most common agile processes work or to construct their own agile process. 

Some key insights and learnings from the book include:

 - The importance of understanding customer value and using it as a guiding principle for all development activities.

 - The importance of eliminating waste, such as overproduction, waiting, defects, over-processing, over-engineering, unnecessary motion, and unused talent.

 - The importance of building quality into the process from the start, through practices such as test-driven development and continuous integration.

 - The importance of continuous improvement and the use of techniques such as kaizen to drive change.

 - The importance of flow and how to optimize flow through techniques such as Kanban and pull systems.

 - The importance of understanding and managing variability, and how to use techniques such as statistical process control to improve predictability and reduce risk.

 - The importance of building a culture of experimentation and learning, where teams are empowered to experiment, learn, and make decisions based on data.

The book emphasizes that Lean principles are not only beneficial to the software development process but also improve the overall business performance by delivering more customer value, faster and with less waste.

Chapters of the Book:

Chapter 1: Eliminate Waste
    The Origins of Lean Thinking
    Tool 1: Seeing Waste
    Tool 2: Value Stream Mapping
    Try This

Chapter 2: Amplify Learning
    The Nature of Software Development
    Tool 3: Feedback
    Tool 4: Iterations
    Tool 5: Synchronization
    Tool 6: Set-Based Development
    Try This

Chapter 3: Decide as Late as Possible
    Concurrent Development
    Tool 7: Options Thinking
    Tool 8: The Last Responsible Moment
    Tool 9: Making Decisions
    Try This

Chapter 4: Deliver as Fast as Possible  
    Why Deliver Fast?
    Tool 10: Pull Systems
    Tool 11: Queuing Theory
    Tool 12: Cost Of Delay
    Try This

Chapter 5: Empower the Team
    Beyond Scientific Management
    Tool 13: Self-Determination
    Tool 14: Motivation
    Tool 15: Leadership
    Tool 16: Expertise

Chapter 6: Build Integrity In
    Integrity
    Tool 17: Perceived Integrity
    Tool 18: Conceptual Integrity
    Tool 19: Refactoring
    Tool 20: Testing

Chapter 7: See the Whole 
    Systems Thinking
    Tool 21: Measurements
    Tool 22: Contracts
    Try This

Chapter 8: Instructions and Warranty
    Caution—Use Only as Directed
    Instructions
    Troubleshooting Guide
    Warranty

In conclusion, Lean Software Development by Mary Poppendieck and Tom Poppendieck is a game-changing book that shows how Lean principles can be applied to the software development process to deliver more value, faster, and with less waste. 

By reading this book, you'll learn how to focus on the customer, eliminate waste, build quality in, optimize flow, manage variability and create a culture of experimentation and learning. 

It's a must-read for anyone looking to improve their software development process, and it's not just limited to software development, it's a valuable guide for any business looking to improve its overall performance. 

Mary Poppendieck is the Managing Director of the Agile Alliance, a seasoned leader in both operations and new product development with more than 25 years of IT experience. She has led teams implementing solutions ranging from enterprise supply chain management to digital media and built one of 3M's first Just-in-Time lean production systems. Mary is currently the President of Poppendieck LLC, a consulting firm specializing in bringing lean production techniques to software development.

Tom Poppendieck was creating systems to support the concurrent development of commercial airliner navigation devices as early as 1985. Even then, the aerospace industry recognized that sequential development of product design, manufacturing process design, and product support was costly and non-competitive. His subsequent experience in software product development, COTS implementation, and most recently as a coach, mentor, and enterprise architect support the same conclusion for software development. 

I am incredibly grateful that you have taken the time to read this post. 

Your support and engagement mean the world to me, and I truly appreciate your interest in the topics I write about. 

I hope that you have found this post informative, educational and engaging. 

If you are interested in reading more of my work, please visit other articles here on the website.

I promise to continue providing valuable and high-quality content for your enjoyment and education. 

Thank you again for reading and I hope to see you soon!

Here are some related articles you may enjoy:



There are even more good things I've prepared for you!

Subscribe below or click here to receive new posts in your Email!


Do you want to read some book notes and recommendations? Discover more here!

Do you want to have amazing weekly content curation? Discover more here!

Follow me on LinkedIn - Twitter - Instagram

Ready to make a positive impact? 

Support my work by sharing my content with your network. 

Your simple act of kindness can reach new heights and help spread valuable information.

Want to show your support in a tangible way? A virtual coffee is a small but mighty way to show your appreciation and give me the extra energy to keep crafting valuable content!


William Meller - Subscribe


Pages