Monday, 27 September 2010

Best Reads of 2009-2010

It may seem like an odd time to do it, but I have a look back at the last 12 months in August because that's when my birthday is. It's late September now, but I've been distracted with a heavily pregnant wife, followed (as it so often is) by the arrival of a new baby.

So, what's got me going over the last 12 months? Well, to start with, I managed to avoid the pain and waste of time of any real howlers over the last year, and was very grateful for one free book.

The Toyota WayFirst up, The Toyota Way by Jeffrey Liker has been my whole-year top read and gets 5 stars. It's books like this that make me wonder if we're anywhere near the mark in software development, as they show such a huge gap between those companies that think they're Lean and the real Lean experts. This is a great "ground up" book for all sorts of people, as it talks extensively about the foundations of Lean: the company learning philosophy, and doesn't talk about Lean as a set of practices, rather a way of thinking that inevitably gives rise to the Toyota Production System best practices we know about: Just In Time, Kanban and so on.

The Design of Everyday ThingsSecond, Don Norman's The Design of Everyday Things was an absolute pleasure to read: full of "of course!" and "yes, that's infuriating!" moments. Another 5 star read, recommended to developers, designers, analysts and testers. Although it focuses on physical objects, the immutable models it presents for the psychology of interacting with the world is such a simple template to apply to everything, software included. This book has changed the way I look at most things, not just the software I write and manage. Those niggles that you feel when using something unsatisfactory will be made concrete and understandable once you've read this. Even better, you'll find yourself thinking of a better way, rather than just ranting "this is rubbish!", and let's face it, the best form of criticism is a better idea.

Becoming Agile: an imperfect worldAs I said earlier, I was fortunate to be granted a free read of Becoming Agile by Greg Smith and Ahmed Sidky, which I'm giving 5 stars. It was a desperate plea on this very blog that earned me a much appreciated free copy of this book: the title pretty clearly states that it is the answer to the question "Becoming Agile? But How Do I Stop Being Non-Agile?", so Greg Smith stepped in and helped me. I must insert the caveat that I may be biased toward this book, as its brand of pragmatism toward creating Agile processes seemed to favour the sorts of approaches I've tried already (such as in my post on Lean/Agile Project Control on Sharepoint), so this didn't challenge me to change, rather it helped me to see the full and natural path to a some of the goals I'm trying to achieve professionally. I think the most important things I learned from this book are about the process for changing an organisation over to a more Agile development cycle, not least to assess whether you are really ready! This is a great read for developers, project managers and managers alike, as it should help you to understand the benefits and risks of moving to Agile.

Out of the CrisisAlthough I believe W. Edwards Deming to be one of the most important figures in engineering and management, I've only given Out of the Crisis 4 1/2 stars. This is by no means intended to reflect on the quality of the content of the book (no pun intended), rather the style: a lifetime of experience and writings crammed into one volume is always going to struggle to come across as smooth flowing and succinct. The central themes of the book however are extremely cohesive and strongly put. I recently met someone who had the privilege of seeing Deming talk. He said that despite his advanced years, he stood at the lectern, fist-poundingly stern and passionate about the methods of management so desperately needed to drag the Western World forward. Read and be converted.

Agile Testing: A Practical Guide for Testers and Agile TeamsMy final recommendation is Agile Testing by Lisa Crispin and Janet Gregory. I would have given this book 4 1/2 stars, but it's just way too long, so for that reason it only gets 4. However, despite the length, I would implore you to plough on, as nestling among the frequent repetition and often self-congratulatory side remarks, there is a lot of wisdom contained in these pages. Although this was preaching to the converted a little - I've been trying to practice the whole team approach for some time now - my attitude towards how developers support test and testers support development has changed a little since reading this. Breaking tests down into the "four quadrants", divided across product-critique vs. development-support and technology-facing vs. business-facing axes is basically a great, simple, tool for approaching testing in a more systematic manner, and this alone should help developers, testers project managers be much more productive.

There have been a few other books read, some to properly fill in the back story on Agile and Lean, but they aren't really worth mention, because they haven't changed the way I think, just deepened my understanding of how we have got to where we are.

So now my mind turns to what to read next. Well, my bookshelf - as always - contains a few recent acquisitions that I've yet to read; Pragmatic Thinking and Learning; The Goal; Crossing the Chasm; so it's perhaps a bit premature, but I'd love to read:

  • David Anderson's Kanban, because I think that the Kanban board embodies many of the core principles of Lean and how to use a value stream to optimise productivity.
  • Implementing Lean Software Development by Tom and Mary Poppendieck, as it's probably a criminal offence to talk about Lean without having read this.
  • Tom Gilb's Competitive Engineering, because I believe in a methodical, engineering approach to producing any sort of product (let alone software), and Tom seems to be among the few "real engineers" in the world of software.