Saturday, April 30, 2011

Book Review: The Agile Samurai

I really believe that being well-rounded is the key to success in the development world (or in any world for that matter).  I have been in and around Agile methodologies for a while now, but have never really spent the time to read up a book about how the pros do it.  This book, although not really an introduction, covers a lot of the basics.  In addition to that, it gives some useful tips on how Agile is really done in the field.  It covers some concepts to help deal with unreasonable (read stupid) product owners.  Although probably meant more for project managers, all the information is good to know for any project members.

The pro to this book is the discussion about the inception deck.  I think that the one thing projects in general (software or not) miss is the fact of momentum.  Watch any sports game, and you will notice that momentum is everything.  You can either start your project off by setting it up to succeed, or start it off setting it up to fail.  Does it cost money? Of course.  Does it cost time? For sure... Do you accomplish great things with momentum on your side? You bet.

The book talks about the concept on an inception deck.  Awesome idea for any (read any) project.  Here is a summary:

1) Asky why we are here
2) Create an elevator pitch
3) Design a product box
4) Create a NOT list
5) Meet your neighbors
6) Show the solution
7) Ask what keeps us up at night
8) Size it up
9) Be clear on what's going to give
10) Show what it's going to take

This list is a great way to start the project, make sure everyone knows what is going on, and hit the ground running.  In my current project, I was the resident "expert" on the existing system.  I know that had we started off creating this inception deck, more people would have been on board quicker.  The project team would have had a better idea of what they are trying to deliver.

The con to this book was it's focus on the people aspect of projects and specifically agile projects.  I have another post in the works that will better describe what I am talking about, but in Agile projects, you really need good, well-rounded people on your team.  Go getters.  People who are willing to step out of their comfort zone to get the job done.  Another thing is about how to deal with the client.  At the end of the day, presentation and ethos are the main factors in how a project is received by the product owner.  In my most recent project, we had an incident in our first demo.  The BA who was showing off our work was quick to point out that the the website "looks" were not up to par.  It turned out near the end of the demo, that the customer actually "liked" what we had done so far.  Of course there was room for improvement, but it wasn't all bad.  However, after that meeting, the project team was on the look for a design company to work on the UI for the project.  Not the wrong decision by any means, but the presentation could have been done differently.  We could have asked opinions, rather than forcing ours onto our client. 

In any event, this was a great read to get some basic + advanced knowledge of the Agile process.  I'd recommend it for anyone who wants to get a better understanding of how things should work in Agile projects.  I'd also recommend it for any project managers out there running Agile projects.