Thursday, March 29, 2007

Book review: Implementing Lean Software Development: From Concept to Cash

The first thing I can tell you about this book is that it is not boring at all. Second thing is that you will learns a lot from it.

In brevity, Implementing Lean Software Development: From Concept to Cash is about making software pragmatically, from the management point of view.

I was pleasantly surprised to learn how to apply Toyota Production System to software engineering. For example, the concept of Poka-yoke or "mistake-proofing" can been in Rename Method refactoring.

public void close(Object obj);

There are few potential mistake that could happen when calling this method. The method name, "close" is vague enough to mean closing a database connection or a file. That and the parameter of Object type which could mean closing anything and everything.
Lets refactor that to

void closeFile(File file)

Now there is no way to make mistake with the method -- unless you try really hard. That's Poka-yoke for you in software development. You should read on the rest of the book to find out how TPS works for making software.

See, those stuff are not just for making cars or plastic chairs. :)

Reading this book feels like listening from a manufacturing engineer teaching software engineering, which is actually enlightening considering that manufacturing has embraced "lean and agile" methodologies for ages.

I don't think grunt programmers would appreciate what Poppendiecks are trying to teach about lean development, but I highly recommend this book to management people looking for answers to why you should get on the Agile bandwagon today.

No comments: