Where to Start…
A friend, who I met at a data geek conference last year, recently emailed me for advice:
Do you have a recommendation for a good book (or two) about agile development methodologies? I’m trying to get more formal development processes in place here, and I’ve read through most of the Wikipedia articles. I’m looking for something with a little more meat, and maybe some real-world examples. A lot of the focus seems to be on scrum. Is that the predominant agile method that people find most effective? I also saw literature about XP and Kanban. Do you have any opinions on the good and the bad about these other ones? Thanks for your advice, I really appreciate getting your perspective.”
Here’s my reply:
Agile Development Methodologies Explained
Scrum is the main approach for most teams these days. It’s really helpful for a new team because it’s so prescriptive (step 1, step 2, step 3, etc.); it really helps a new team with the mindset and habits change from the old way to the new way.
Kanban is relatively similar to scrum, except it’s not quite as structured, so it requires a lot more self-motivated discipline from the team. I know teams who do really well on Scrum that eventually switch over to Kanban, once they’ve got the mindset figured out and have developed healthy agile habits, since Kanban requires fewer meetings and checkpoints than Scrum. In Kanban, the team can spend more time on delivery rather than project management. However, without the mindset and healthy habits, Kanban may not work so well for a new team.
While Scrum and Kanban are like “project management approaches” to agile, XP is a set of technical practices that would be really beneficial to teams, regardless of whether they are using Scrum or Kanban as their framework. I strongly recommend including XP in your agile practice.
Remember, agile is a journey not a destination. So, start with one thing that seems it will add value to your team, and try it for a few weeks. Then take on another, then another, etc.
Agile Book Recommendations
- Get Ken Collier’s book, Agile Analytics. He does a great job explaining agile in terms of both scrum and Kanban, and all within the context of data teams. It will be your guidebook.
- Mike Cohn’s book, Succeeding with Agile, is my second all-time favorite Agile book (my first is Ken Collier’s Agile Analytics, of course)! However, it’s not an introduction; it’s how to fine tune and be successful after you’ve done the intro stuff. It’s EXCELLENT, though.
- Agile Project Management, by Jim Highsmith, is a really well-rounded and useful book that will guide your organization in terms of “program management” beyond what the scrum/Kanban team does each sprint. I first met Jim years ago at a PMI Global Congress… got him to sign my copy of his first edition, and still today find myself flipping through the pages for ideas on key topics whenever I get stuck.
For technical practices that are a level deeper than the foundation:
- Ken’s book will be really helpful here as well.
- eXtreme Programming is a must-read for developers.
- Scott Ambler’s Refactoring book is about making safe, incremental change to your data model as you go… and this is where most DW/BI teams get distracted at the ideal of agile, since they aren’t sure how to safely evolve their designs.
Of course, if you have a team that wants to go agile, the best way is to train everyone (including key business analysts and stakeholders), then have a coach help you stop doing the old habits and start doing the new ones. You know, an experienced coach, like me!