I first encountered Agile at the Scotland on Rails conference in Edinburgh in early 2008. While much of the conference (about Ruby on Rails, a server-side web application framework written in Ruby) went sailing over my head, the keynote speaker Jim Weirich spoke passionately and accessibly about Agile development. What he said about self-organising teams, and methods of working quickly and iteratively, but with discipline and ensuring quality, struck a chord. I was intrigued to find out more. I bought a book (The Art of Agile Development, below), which I quickly read from cover-to-cover, and took my own first steps down the Agile path.
Of course, Agile is not just a single thing. It’s a collection of various methodologies, frameworks and practices that encompasses DSDM, Scrum, XP (extreme programming), Scaled Agile Framework (SAFe), kanban, lean and a whole host of other goodies. But often what is said about one particular flavour of Agile can apply to another.
Here are seven of my favourite books and resources about Agile.
1. The Agile manifesto
The manifesto for Agile software development – often simply called the Agile manifesto – is where a lot of this really took off.
In February 2001, 17 developers, representing various disciplines such as Scrum, XP and DSDM, met to discuss where the similarities were in their methodologies.
There they wrote their manifesto, which declared that they valued:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
and their supporting principles behind the Agile manifesto.
The manifesto and principles are still valuable resources. They are short and simple and can still be referred to when considering your own Agile practices. Just last week, in response to a change, someone on our team quoted the second princple, that we “welcome changing requirements, even late in development.”
Interestingly, there is currently a debate going on in some areas of the Agile community asking: does the Agile manifesto need an update? But that’s perhaps a topic for another blog post.
2. The art of Agile development
by James Shore and Shane Warden (O’Reilly, 2008)
This is the book that started it all off for me, and in my opinion, it’s still one of the best books on Agile out there. A few months ago we had an Agile coach in for a quick Agile health-check, and when he spotted this book on my bookshelf he said that this was one of his favourite books too.
The book focuses very much on XP methodologies, but there is little presented that cannot be used by a team using Scrum or DSDM.
The book is arranged into three parts. Part one looks at why you might wish to use Agile, it introduces the reader to Agile ways of thinking and practical ways to adopt Agile, including a list of prerequisites (mangagement support, team agreement, a colocated team, onsite customers, the right team size and a commitment to using all the practices).
Part two explored various practices used by XP teams, organised into categories: thinking, collaborating, releasing, planning, developing. These cover all sorts of things from pair programming and informative workspaces, to “done done”, version control, estimating, risk management and retrospectives. This, for me, is one of the most practical parts of the book. The sections are easily digestable and practical, covering the hows and whys of each methodology, answering questions, looking at the results of using that method, as well as what to expect if you don’t use it. Each section includes a brief look at alternatives and indicates which other XP methods can be used to support this one.
Part three begins to look at ways to master Agility, looking at Agile values and principles, the importance of relationships and quality, and examining ways to improve the process, deliver value and eliminate waste.
This is a book that I go back to again and again. So much so that I eventually bought a second copy in PDF so that I could access it wherever I was, even from my smartphone.
If I had to recommend only one book on Agile then hands down it would be this one.
3. Agile project management in easy steps
by John Carroll (In Easy Steps, 2012)
If you are looking for a broad introduction to Agile project management then you can’t go far wrong with Agile Project Management in easy steps by John Carroll.
The book first contrasts how Agile is different from traditional project management methodologies and frameworks before introducing the reader to four of the main Agile approaches: DSDM, Scrum, XP (extreme programming), and lean.
The remainder of the book walks the reader through the five main phases in any project which the author calls getting started, foundations, development, deployment and post project.
Most topics are covered in only one or two pages, but the author manages to really get the key concepts into a very readable, very rich book.
If you are looking for a very clear, usable book to get started then I can’t recommend this one highly enough. I even used it when revising for my DSDM practitioner exam, that’s how good it is.
4. DSDM handbook
by DSDM Consortium (edited by Andrew Craddock, Barry Fazackerley, Steve Messenger, Barbara Roberts, and Jennifer Stapleton)
This is the official handbook for DSDM (formerly DSDM Atern), the Agile project management framework that we use in the digital communications team. The handbooks that we used to pass both our foundation and practitioner exams.
This is a book that I have gone back to again and again; it is rarely off my desk. I learned using the 2008 edition, some of my colleagues learned from the 2014 edition. While I appreciate many of the updates in the 2014 edition, there are still a few really useful resources that never made the jump between editions that I hope they return in future edits, such as appendix C which details every DSDM product (think: document): what it is, who is involved in its creation, quality criteria, and in which phase it is created.
If you do use DSDM, then I recommend that you also get a copy of, or at least bookmark, both editions. That way you get a wider perspective of the framework.
5. Getting value out of Agile retrospectives: a toolbox of retrospective exercises
by Luis Gonçalves and Ben Linders (Leanpub, 2015)
Agile teams are invited to continuously reflect on their practices and behaviours, to tweak and improve their effectiveness. Often this is done during sprint and iteration retrospectives, where the team looks back over the previous timebox and critically evaluates what went well and what didn’t.
Luis Gonçalves’ and Ben Linders’ book Getting Value out of Agile Retrospectives is a really useful and practical book for running retrospective meetings effectively.
After explaining what a retrospective is and the benefits achieved from running them, the authors document 13 retrospective exercises that teams can use to approach the task of reflecting on their practices and habits from different angles.
There is a wealth of knowledge contained in this short book (60 pages) that has helped our team immensely. Ben Linders‘ website is also very useful resource; his blog posts are often thought-provoking and challenging.
6. Agile planning with a multi-customer, multi-project, multi-discipline team
Download PDF (257 KB)
Although this is only a short paper, it’s one that I still find challenging and inspiring.
I blogged about this paper last November in a post entitled Agile release planning with multiple projects, but it’s worth adding it to this list too.
As I said in that post, most Agile literature assumes one cross-functional team working on a single project for a single customer. They have a backlog of tasks which any team member can dip into and pull work towards themselves: everyone has the skills required to work on any of the tasks.
Unfortunately, over here in the real world, not everything works like that and Karl Scotland’s article was the first article I read that addressed how working with multiple teams on multiple projects for multiple customers might be managed within an Agile context.
Two years ago, Karl wrote a post, The BBC Seeds of Kanban Thinking, that reflects on this article; it’s also worth reading.
7. The people’s scrum: Agile ideas for revolutionary transformation
by Tobias Mayer (Dymaxicon, 2013)
Mayer’s book is a collection of short essays and favourite blog posts from two of his early blogs: Agile Thinking and Agile Anarchy.
A lot of books on Agile focus on the mechanics of how it all fits together, who needs to be where with whom in order for the machine to work effectively.
This book is different. It focuses not on the how, but challenges the why. It is open to critically questioning every aspect of Agile with the intention of uncovering the core drivers behind Agile practices.
I love Mayer’s boldness and passion for Agile. He is unrelenting in his belief that Agile cannot be pinned down: by its nature it has to be fluid and adaptive. At the heart of Agile are people who collaborate, who gather around a workflow board, who self-organise, and who regularly and critically evaluate their own practices and adapt. Sounds pretty close to the Agile manifesto to me.
More than any other book I’ve read on Agile this is the one that got me thinking most deeply about why we do certain things. Mayer doesn’t always offer the answer, because – in good post-modern tradition – my answer may be different to your answer, but he does make you think. Like all good books I come away from this one feeling like I have changed, and seeing the world a little differently. I thoroughly recommend it.