If you only buy one software development book this year, buy this one. It will change the way you think about your work.Lean development was started by Toyota in the 50s when Ford was selling more cars in a day than they were in a decade. They looked at all their development activities to see how they could develop quicker and cheaper and get closer to what the customer wanted. They were so successful that now all car manufacturers have to follow the principles they developed just to remain competitive.
The Poppendiecks' book shows how to apply these lean principles to software development. The first chapter gives an overview, including listing the seven principles. They then take a chapter per principle, showing how to apply this principle to software development. The final chapter is a "warranty" and guidelines for applying the principles usefully (basically think about them, don't apply them blind).
The seven lean principles are:
1. Eliminate waste - anything which doesn't add value to the end product
2. Increase feedback - iterate so you can get early feedback
3. Delay commitment - so you can decide with the best knowledge
4. Deliver fast - so you can afford to delay commitment
5. Empower the team - they're the ones closest to the information
6. Build integrity in - have an integrated product team, use refactoring to keep the code clean, and use test-driven development to make sure it's all tested and you have a reason for doing everything.
7. See the whole - measure UP not DOWN - measuring details encourages micro-optimisation which tends to give overall suboptimisation. If you measure at a level higher you get global optimisations.
I found this book compulsive reading and difficult to put down. So much of it fitted with my experience running projects - they recommend the things I found worked, and avoid the things I found didn't. And the rest of it provided useful extra techniques. Buy it. You won't regret it. But don't expect silver bullets - you will have to work at it to get the benefits.
Now to carry on trying to implement these in my day-to-day work...