The Clean Coder (and Tester!)
Sunday, July 31st, 2011My review of Uncle Bob Martin’s The Clean Coder is up on my Techwell blog. If you’ve read the book, I’d love to hear your thoughts on it. If you haven’t read the book, please do so!
My review of Uncle Bob Martin’s The Clean Coder is up on my Techwell blog. If you’ve read the book, I’d love to hear your thoughts on it. If you haven’t read the book, please do so!
I always have a big stack of new agile books to read, and my most recent ‘read’ is a standout: The Agile Samurai: How Agile Masters Deliver Great Software by Jonathan Rasmussen. Here’s my review.
Reading The Agile Samurai, I felt like I was sitting with the author over a cup of coffee or a mug of beer, learning good ways to plan and develop good software products. The book has a fun and conversational style at the same time as it delivers serious lessons about software projects. The illustrations aren’t there just for fun (though they are amusing), they help to quickly explain the concepts.
Though I’ve been working on agile teams for 10 years and read countless books on the subject, I was surprised to find some tools and ideas in here that are new to me. For example, I’d never heard of the “Inception Deck”, ten questions and exercises to get your software project off to the right start. It looks like an excellent approach. I also like the idea of creating a “product box” to focus on what’s compelling for your customers and on the benefits of your product.
One thing I appreciate about The Agile Samurai is how the author incorporates ideas from many disciplines, such as Lean. Even more valuable are the many anecdotes from the author’s experience. One theme I found in the book is the need to deal with reality, and it’s helpful to have real-world examples.
I particularly enjoy the little conversations between the “Master Sensei and the aspiring warrior” that wrap up each chapter. You had the same questions the aspiring warrior asks! This is a fun way to explore the confusing aspects of agile development.
If you’re new to agile, you might as well know the truth right from the start, and this book is grounded in reality. Yes, high-level estimates ARE guesses, as the author says, “usually really bad, overly-optimistic ones”. Meet the Cone of Uncertainty! But the author gives us a way to estimate to acknowledge all this but still help us plan.
Here’s one of my favorite paragraphs in the book:
Just don’t be strong-armed or bullied into committing something you and the team can’t deliver. That’s not doing anyone any favors. And this collaboration thing has to be two-way. Just be honest, and tell them what it’s going to take. [The Agile Samurai, p. 148]
This book really will help you deliver something of value every week. It covers many critical techniques in a surprisingly comprehensive way, giving the reader suggestions for additional reading. Agile newbies will learn accurate and useful information about everything from XP practices to Kanban, as well as where to learn more about all that. The author puts agile concepts together to come up with practical advice, such as how to create a visual workspace.
In my view, the book ends with the best possible advice: “Don’t worry about being agile”. The author gives you many tools and techniques, and prepares the reader (or “aspiring warrior”) to figure out what is best for that individual and that project. We shouldn’t worry about being “agile”, we should indeed aim to build great products and deliver great service to our customers. To paraphrase the author, get out there and start reading this book, then get out there and start doing it!
I was so pleased when my copy of Naomi Karten’s Presentation Skills for Technical Professionals arrived the day before I left for Agile Testing Days in Berlin. I started presenting at conferences in the late 80s, and have presented at many conferences in this millenium. I’ve worked hard to improve as a speaker, facilitator and coach, I’ve taken lots of public speaking and presenting classes, I study the evaluations from each session’s participants, I read blog posts about how to present. But behind my conference persona, I am an extremely shy person, so it’s always a fight.
I read Naomi’s book on the flight to Berlin. It’s an easy and entertaining read, and I learned a lot. One gem was the advice to pause occasionally – when finishing a key point, when inviting questions, before advancing to the next slide. It gives participants time to let the information sink in, and to formulate questions. I talk WAY too fast, so this was a good tip for me. I remembered many times during my Agile Testing Days tutorial and keynote to pause for a moment, and that helped me remember to speak more slowly and clearly. (I still got evaluations that said I was hard to understand, but I hope I was better than in the past).
Another important takeaway was to set up ground rules at the beginning of the session. I always do this, but I liked the suggestion for managing time, to say to the group, “If we’re running short on time, would it be alright if I discontinue some discussions in the interest of moving on?” By framing a ground rule as a question, you get buy-in from the group.
Building rapport with the audience before the session starts was another good tip. I’ve done this in the past, but because I am such an introvert, I didn’t do it enough. I made a conscious effort in Berlin to engage individuals who arrived early and ask about their experiences on the topic I was about to present. When I got nervous later, I could look at the people I’d talked to ahead of time and felt I was in the company of friendly people.
The chapters on logistical preparations and the “presenter survival kit” contained many good reminders of things I know, but sometimes get sloppy about. For example, I had gotten out of the habit of putting my slides on a USB flash drive, in the event my MacBook dies and I have to borrow a laptop. I always think “I can download it if I need it”, but many conference rooms don’t have internet connectivity.
I think I’m good about avoiding PowerPoint abuse – my slides aren’t flashy, but they are also not overcrowded with information, and I don’t read them – but the chapter on using (and not mis-using) Powerpoint has good pointers (no pun intended). I also tell a lot of stories, so I was glad to read that Naomi recommends this practice and explains how to craft a story.
There is lots more great information about all aspects of presenting in this book. I highly recommend it to everyone who ever has to make a presentation – whether you only rarely have to present to fellow employees, or speak frequently at conferences. It has good reminders for experienced speakers, plus some nuggets you might not have thought of. If you’re new to presenting or nervous about it, following the instructions in this book will give you much more confidence and let you enjoy the experience instead of dreading it.
It’s so cool to know that Janet and I have communicated clearly enough what we hoped everyone would take away from our book. Paul Grenyer’s review is a thrill for me.