“The Agile Samurai” is an awesome book about agile software development by Jonathan Rasmusson. I read it this march so my memory isn’t the freshest but I wanted to get this up either way since I want as many people to read this book as possible.
It is a really good introduction into agile Software Development, starting with the very basics. However I believe that people more experienced with agile development should also read it since it includes many good to brilliant ideas which I have failed to find elsewhere. Personally I attended two good lecture series before reading this book and I still learned a lot.
The book is also a really good read as it is spiced up with humour, stories from the work of the author and awesome illustrations.
The book starts with a simple introduction to agile, featuring the core concepts and how an agile team should generally be composed. It continues with Agile Project Inception which is mainly about how to get everyone in on an agile project and my favorite part of the book: The agile inception deck! The book then continues with Agile Project Planning covering the topics of how to gather user stories, how to give good estimations and finally how agile planning works and why the plan will always change. Then the book turns toe Agile Project Execution where it is examined what exactly happens during an iteration, how to communicate and, what I found especially interesting, how to set up a comfortable and functional workspace. The last chapter briefly introduces agile methodologies such as Test Driven Development and continuous integration.
What makes this book special?
To me this book is special thanks to its unique style. Everything is written pretty clear and in a familiar language. Not only does it feature some good humor but also some special sections which I really liked:
- Master Sensei and the aspiring warrior: Here you find a conversation between the aspiring warrior (you) and the Sensei. Usually the aspiring warrior asks questions, which you might have flying around in your head as well, and gets bits of wisdom as answers from the sensei. I really enjoy this kind of conversations in books as it is a welcome change from just text.
- War stories: Here you can find stories Jonathan has experienced himself or he knows about. Those are usually more than worth the read, as they are examples straight from the real industry. To me they were the proof that what this book tries to teach me really is important and it helped me to see these problems, which really motivated me. I can very well remember a story where they were having a meeting about a software system that is meant to replace the old mainframe system. Then the guy financially in charge of the project asks how the new system would integrate into the old mainframe system. Ouch!
- Illustrations: Last but surely not least the book features many awesome illustrations. They are often used to explain or emphasis a point. But, at least for me, sometimes they were just there to be pure funny and I am totally ok with that as I love this (for instance the chapter “Meet your agile team” starts with a picture of some ninjas – priceless.). For me the illustrations really helped me to remember the things better, as I am a visual learner.
Here I want to briefly introduce what bits of wisdom impressed me the most with this book. Those are the first things that come to my mind when I think about this book.
The Agile Inception Deck
The inception deck is a real awesome technique to make sure that everyone is on board and everybody has the same vision of the product that is going to be built. It is lightweight, meaning that is not a heavy analysis that drags on forever but rather some exercises that can be finished very quickly while yielding a good knowledge of the product to be built. It’s not an original idea of Jonathan Rasmusson as the book states that it is rather an idea of his former coworker at Thoughtworks Robin Gibbons.
These exercises include creating an elevator pitch (“What would you say about your product, if you had just 30 seconds?”) and creating a NOT-List, so a list of what you are clearly not going to do during the project (so everybody is on the same page).
I don’t want to summarize the whole inception deck, since Jonathan has an excellent blog post up that does just this. Thanks Jonathan!
Personally I know how important this is and I wished that I had read this book 6 months earlier. I worked on my bachelor project which was about building a process engine (or workflow engine, if you will) which would run in the cloud – or so we thought. We contacted external partners, attended a Cloud Computing seminar, set up an Ubuntu cloud on iMacs (:P) and did a ton of research on Cloud Computing and how process execution might work there. Roughly two months later during a presentation the one ultimately in charge of the project stated that he doesn’t want such heavy focus on Cloud Computing, multicore support would be enough and we should focus more on human tasks (which we didn’t give much attention before)! You might suspect how we felt after this experience…
An agile warrior asks the tough questions first!
He really does. In my memory this is kind of a recurring theme of the book, to ask the tough questions first. Because from waiting situations rarely get better. If you point a problem out right when you notice it you might be able to fix it. Changing something later on is always more expensive and sometimes outright impossible. So this is a really good habit to adopt, although it takes a lot of guts from time to time.
The visual workplace
It’s about a workplace where everyone immediately sees the current status of the project and the core values of the projects. So you not only have your big storyboard with your user stories that are available, currently work in progress or done but also burn down charts and the agile inception deck you created right on the wall where everyone can see them. It is suggested that you might also put up a set of working agreements (for instance the time everybody should be in the office and the time the daily standup meeting takes place) and a list of shared values (for instance “asking the tough questions first”). This chapter made me especially recognize that I want to work in an environment like this.
In this section I like to write about the impact this book had on me personally. Because I think if you read a good about your profession it should impact the way you think about your profession and/or the way you work.
The impact for myself has been pretty huge. Before reading this book I was interested in agile methodologies but my main focus of interest has been IT-Security in every way. While I still maintain this interest it has diminished a bit in the favor of agile methodologies and Software Engineering as a whole. This book not only made me realize that this is a very exciting and challenging topic but also that this highly collaborative environment, where you work together to achieve a common goal and always close to the customer, is an environment I’d enjoy to work in.
The cherry on the cake was just that I wrote Jonathan an email and he was quick to reply, genuinely offered me help and pointed me to some good knowledge resources during the course of our conversation. He even wrote an article about it and my software engineering course in his blog. It is a very different mentality than the pure “try harder!”-mentality often found when it comes to IT-Security. I prefer nice and helpful.
If you don’t already own this book and are interested in agile methodologies you should absolutely read this book. No matter if you are a beginner or somebody who has been doing agile development for quite some time now. You know if you really want to be agile, you are always looking for ways to improve and I am sure this book surely can accomplish this. I would even recommend reading this book to executives who wants to get to know this “agile”-thing, what it is about and whether or not the company should adopt it. But then again I don’t know too much about executives.
I would only not recommend this book to people who don’t enjoy a good amount of fun, illustrations in books or slight references to Samurais and Senseis.
If you want to get this book you can easily get it from Amazon or straight from the pragmatic bookshelf. What I recommend anyway is checking out Jonathan’s blog every once in a while, since he shares much great information (including parts of the book) there.
As this is my first book review I would gladly enjoy some feedback on what was good about this review, what was bad, what you felt was missing and what you felt should have been left out. Comments on what would make you come back to this blog are also appreciated. You can do so via the comments section or check out the About section for other ways to contact me.