Sunday, July 06, 2008

The title of this book could easily have been The Art of XP Development. My first impression of XP back in the days where two things; pair programming and no documentation. I guess some people still think that(?). Did they choose to use agile to not scare away the people with these type of misconceptions? James Shore (the author, together with co-author Shane Warden) says on his web site:

Our goal for this book was to provide a complete how-to guide and starter kit for beginning and intermediate agile practitioners. To keep the book concrete and practical, we focus on XP.

So that explains that, but I'm not going to review the title of the book am I? :-)

Talking about the authors, James Shore is a well known name in the agile community. The Agile Alliance recognized James with their most significant award, the Gordon Pask Award for Contributions to Agile Practice. He is also an internationally recognized speaker and have done lots of consulting for agile teams. Shane Warden is the co-author and editor of this book. He promotes open source software for O'Reilly's Open Technology Exchange.

To cut strait to the point, this is probably the best book on XP I've ever read and one of the best agile books I've come across as well! Combine it with Mike Cohn's book; Agile estimating and planning, and maybe Agile Modeling by Scott W. Ambler, and you're well on your way to become agile.

My motivation for reading this book was based on my knowledge of Scrum and my willingness to adapt more of the XP practices. One of the questions I've been asking myself is how do "they" approach team management (our should I say self management...) compared to Scrum? That question and many others where answered in this book!

XP is of course a full fledged development process and (in my opinion) have been colored by its some "extreme" (at the time) practices and deserves more attention than it gets. So I would strongly recommend reading it, even if your focus is not XP.

As I've mentioned before, many books are very theoretical when it comes to software processes, but this book is very hands on and the authors clearly have a great extent of experience with the process. This gave me as a reader good value and motivated me to try out different aspects, as well as new things on areas that I thought we were doing ok already. I also rediscovered some things I just forgot about.

The key takeaways I got from the book was:

  1. XP covers a lot more around the management part than I thought.
  2. Scrum and XP is closer than I expected and XP cover more ground.
  3. If I had known what I know about XP today, I might have introduced XP instead of Scrum to our teams.
  4. I got many confirmations that what our teams are doing today is good, but also found aspects already known to us where I knew we could improve, and some aspects I hadn't thought of.
  5. All the provided examples of what to try or do in specific cases allowed this book to be a how-to instead of a theoretical book about XP/Agile, which I valued very much.
  6. The focus on technical debt gave me new insight.
  7. The testing focus. Good article covering exploratory testing by Elisabeth Hendrickson.

The book is structured into three parts:

  1. Getting Started
  2. Practicing XP
  3. Mastering Agility

For more details about the content of each part, have a look at Jame Shore's web site, where he lists the chapters. For me part two and three were most valuable. Part one give a good introduction to agile, XP the Manifesto and the values behind it all. You should defiantly read it if you are new to the process or feel that you could need an update, like I did. In part two every chapter starts with a mini-étude, and every topic within a chapter has an explanation followed by five paragraphs in the end; questions, results, contradictions, alternatives and further reading (if any). Here's what the authors say about the mini-études:

Have you ever heard a musician playing scales? That's an étude (if a boring one). An étude teaches mastery through precise and careful repetition...
...Beginning agile teams can use the études to refine their practice of agile development.

I think these are good, but I found myself skipping most of the mini-étude's and the five paragraphs in the end. In the beginning I read them all (maybe except from the études), but the further I progressed in the book the more I skipped. I did this because much of the material was known to me and I found the main part of each topic most interesting. If I felt something was unclear or had questions, I read the other parts as well. I'm not saying this is the way I recommend reading the book.

Part three of the book was very interesting to me. It covers the following topics:

  • Improve the Process
  • Rely on People
  • Eliminate Waste
  • Deliver Value
  • Seek Technical Excellence

The interesting part is that they give you insight to how you can go about to improve the process when you've become comfortable with it. In essence; apply the process on the process itself.

So am I not going to criticize (on the negative side) anything in the book? Well, I could because there are some things I don't totally agree with, but all in all it deserves its good credit. However, I'm not going to pick on the few knitty details I personally don't like/agree with.

When I did some research about the authors I found an interview with James Shore over at InfoQ that you should check out: http://www.infoq.com/news/2008/05/Interview-James-Shore

As Brian Marick, I'm considering buying in several copies of this book to distribute among our agile teams. I really think that it could generate great value for anyone reading it, being any type of agile team member.

Sunday, July 06, 2008 12:32:05 AM (W. Europe Standard Time, UTC+01:00)
Sunday, July 06, 2008 5:07:13 PM (W. Europe Standard Time, UTC+01:00)
I recently read an interesting piece on "Value in Value Stream Mapping": http://gotboondoggle.blogspot.com/2008/06/value-in-value-stream-mapping.html

It seams like Improving the Process, Eliminate Waste and Deliver Value are interconnected. If we don't know our value stream, then our improvements boils down to cost reduction.

What are your experience with value stream mapping or similar exercises? If you, or your company are willing to share these experiences, that would be something for an NNUG zip-talk, don't you think?
Thomas Eyde
Monday, July 07, 2008 6:36:07 PM (W. Europe Standard Time, UTC+01:00)
Without knowing too much about the term "Value Stream Mapping" (I'm still waiting for the Lean book by the Poppendieck's) I would suggest that the retrospective meeting after every iteration in Scrum and XP is a good candidate. In Contiki we also use release retrospective where we go through the complete release process step by step (from user story planning to actual release of the product) and evaluate what we did good and where we can improve. This might be closer to what Lean thinks of as "flow of materials"?. This let us add improvements to the process after every release, and sometimes even add complete new steps to the process that we found important. The best is of course to be able to improve by removing steps that has become redundant (eliminate waste?). One of the steps in our current "flow of materials" is bug fixing and stabilization at the end of the release. This is one of the steps we're trying to eliminate by having zero bugs in the sprints.

During sprints we try to focus on our definition of Done Done. Did we manage to be Done Done on all stories in the sprint? If not why? How can we make sure this does not happen again? Did we get better at any of the improvement items we came up with in last retrospective? Where there many unplanned tasks we had to take care of? Why were there unplanned tasks? What can we do to prevent this in the next sprint? And so on...

Could this be a NNUG talk? Sure. However, I would rather like to see an agile panel with different people from different companies in Bergen discussing their view. Spice this with questions from the audience and I think we could have an interesting debate. Actually we could need an agile user group in Bergen...
Monday, July 07, 2008 9:07:14 PM (W. Europe Standard Time, UTC+01:00)
Just to clearify. When I said:
I'm still waiting for the Lean book by the Poppendieck's

What I really meant was:
I'm still waiting to get the Lean book by the Poppendieck's that I ordered
Monday, July 28, 2008 8:01:28 PM (W. Europe Standard Time, UTC+01:00)
Thanks for your kind words on my Exploratory Testing chapter! Glad you liked it. And I'm glad you like the book as a whole. I do to. It's an honor to be associated with it.
All comments require the approval of the site owner before being displayed.
Name
E-mail
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview
 
Aggregate Me!
Feed your aggregator (RSS 2.0)  Rss
  Comments
On this page....
Locations of visitors to this page