Wednesday, October 10, 2007

Agile - A New Beginning

I met a number of people who expressed an interest in learning more about Agile this evening at an event organised by the British Computer Society's Business Information Systems Specialist Group (BISSG). Here's what I found useful when I first came across Agile:

Agile Software Development - http://en.wikipedia.org/wiki/Agile_software_development

The Agile Manifesto - http://agilemanifesto.org/

Kaizen - Continuous Improvement - http://en.wikipedia.org/wiki/Kaizen

Scrum - Go to http://www.agilealliance.org/ and search for 'scrum'. Scrum is an implementation of Agile that I'm most interested in currently, mainly because it's most suited for teams who are used to Waterfall development (the old-fashioned, most prevalent way of developing software). XP is probably too difficult to adopt as a first stab at Agile for most Waterfall-oriented teams, hence Scrum is possibly a better (easier) place to start because it focuses more on how people do things rather than what they should do.

Extreme Programming Explained: Embrace Change by Kent Beck and Cynthia Andres
An excellent introduction to the Agile values and principles along with the practices of XP. This is the second version of Kent's book (this one's published in 2004 and the first was in 1998). If you've got time, it's worth reading both versions to see how XP has evolved.

The Pragmatic Programmer by Andrew Hunt and David Thomas
Not specifically related to Agile, but a must-read for any self-respecting developer. However, this book isn't only for techies. It lays out the best practices that I think every IT professional should know if they're involved in the software development lifecycle in any way, shape or form. To non-coding readers: don't feel compelled to read it all, skip over the code samples, but the majority of the content makes for an easy and interesting read about how quality software should be developed.

Lean Software Development: An Agile Toolkit by Mary Poppendieck and Tom Poppendieck
For me, this was an brilliant introduction to Agile software development and the concepts of Lean.

Agile Project Management with SCRUM by Ken Schwaber
This book provides a great high-level overview of what Scrum looks and feels like.

More recently, I've come across Henrik's book on his hands-on implementation of Scrum. It's worth knowing at least the fundamentals of Agile and Scrum before introducing Scrum into your team (and/or organisation). I would suggest reading Henrik's book after looking through Ken's and Mary's books.

Scrum and XP from the Trenches by Henrik Kniberg
An excellent handbook on how to start using Scrum: http://www.infoq.com/minibooks/scrum-xp-from-the-trenches.