Learning Agile

Excellent book on various Agile methodologies. I wrote a review on Amazon, which I've pasted below. Buy the book here:

---

For anybody who works in an Agile team or wants to help guide their team to becoming more Agile, I would recommend reading this book. I think the biggest selling point for me was that it actually describes the differences between the various Agile methodologies. With all the different Agile methodologies that exists (and I'm sure there's many more beyond the 4 described in the book), it's easy to feel like you're swimming in an ocean of buzzwords. Luckily, I think the authors recognize the importance of actually "showing" you what Agile looks like and have vignettes sprinkled throughout the book to show you teams that are struggling and eventually teams that are succeeding with Agile


The first methodology they discuss is Scrum. They do this very intentionally because Scrum is probably the easiest Agile methodology to actually "adopt". It has clear practices and more closely resembles "traditional" software development process compared to the other methodologies.

The second methodology they discuss is XP which I have heard is highly influential in the Agile field with luminaries such as Kent Beck and Martin Fowler as early leaders of the field, however to be honest I have never heard of anyone working in a software team they would describe as "XP". The most charitable way to interpret this is that many of the XP values, principles, and practices have trickled down into mainstream "Agile" consciousness. The easiest way to summarize XP is "embracing change" and the authors show you how they support that overarching goal through practices such as unit testing to facilitate refactoring and delaying decisions until the last moment.

The last part describes the Lean and Kanban methodologies which are closely related. In short, they focus on continuous improvement. Before reading the book, I had heard about a Kanban board and the idea of moving tasks around different columns, but the real eye-opener was their emphasis on the importance of Work In Progress (WIP) limits. They show you how vital it is to have WIP limits and why you need to be careful of ignoring it (which oftentimes happen as they demonstrate).

Probably my favorite part of the book is when they describe teams that partially apply Agile methodologies while still retaining much of their legacy software development practice and end up achieving OK but "better than nothing" results. I think it's easy to think of Agile as the end all be all of good software development practice but it's a journey to actually achieving it and I like how they show you the realistic challenges of going from a traditional software development methodology to agile.
views