Now you’ve read the basic introductory books to Agile Software development and you want to learn more, here’s my recent reading list:
Agile Software Development: The Cooperative Game (2nd Edition)” by Alistair Cockburn. Possibly the most interesting book I’ve ever read about agile software development. Its not about any one methodology, instead Alistair analyses game play, individual communication, team cooperation the elements that are the core of all software development. The second edition (which is finally at Amazon as Nov 13) builds on the strengths of the first with a number of new sections including applications of Agile outside of the computer industry. To get a taste of the second edition read the story of Alistair’s home renovation in Mishkin’s blog – this is what finally crystallized Agile Software development for my wife. If you want to understand the principles and philosophies of Agile Software development start here.
“Fearless Change: Patterns for Introducing New Ideas” by Mary Lynn Manns, Linda Rising. Trying to introduce change into your organization (if you’re reading this post that’s a safe bet). Finding it hard? Look to Fearless Change for some great ideas – there are no silver bullets but this will at least give a fresh source of ideas and a starting point.
“Agile Retrospectives: Making Good Teams Great” by Esther Derby and Diana Larsen – some great ideas for taking your Agile Retrospectives to the next level. Many of these ideas come across as a bit touchy feelly for the hardcore development crowd – so I would trying doing a few retrospectives using techniques like Mishkin describes. Once you’ve got the basics going th en Esther and Diana’s techniques will help take you to the next level. Added bonus Esther hangs out on the scrum development list and will often answer questions.
Behind Closed Doors: Secrets of Great Management” by Johanna Rothman, Esther Derby. Another great Pragmatic Programmers book – its short and to the point. Esther and Johanna use the story of Sam a second level manager to illustrate a number of management challenges that a new technical manager will face in the first eight weeks on the job. The last third of the book is a batch of techniques to help deal with all of the challenges.
“Working Effectively with Legacy Code (Paperback) ” by Micheal Feathers – solid advice on to handle older code that might not be structured in the way you expect it. This advice can even be useful on a green Field project that has grown out of control.
“Refactoring to Patterns” by Joshua Kerievsky. This one goes hand in hand with Micheal Feathers. A mess to left of you, A mess to right of you, A mess in front of you (with apologies to Tennyson); Joshua will help with the details of tidying up that mess. Pull this book off the shelf anytime to you need to tease some order out of that mess.
“Agile Estimating and Planning” by Mike Cohn – trying to produce useful estimates for your Agile project? Need some ideas on how to run your first iteration planning session? Trying to pull together your first release plan? This book is your one stop shopping – it answers all these questions and more. As added bonus I find the writing style very quick and easy to read. I finished this book in about five hours. Even as I parent I can find time to read a book like this. Like Esther, Mike is an occasional poster on the scrum development list and has patiently answered a few of my questions. Finally his website mountain goat software has a great selection of presentations and articles.
“User Stories Applied: For Agile Software Development” by Mike Cohn. I’m running out steam here. Trying to write requirements for an Agile project – start here. Enough said.
Please excuse the formatting – I’m doing battle with typepad.