Friday, February 10, 2012

Agile is simple but not easy: advice for agile beginners


As we prepared for yesterday's user story mapping session at Agile Winnipeg, Jon Labun and I reflected on agile stories that we've been a part of or heard about. A common theme emerged - agile is simple but not easy. We touched on this in the presentation and argued that user story mapping should be a central part of your agile practices in order to make many things 'easier'. Many agile stories start off well with organizations and teams wanting to give agile a try, but then fail to put in the investment to understand what being agile is about. The teams assume that agile is simple but lack the knowledge of how all the pieces fit together and end up running a project that is just an agile facade - agile words on the surface, but traditional methods (or no methods) underneath. It isn't the fault of agile that the projects end up in trouble or fail. 

Some common problems:
  • Unending backlogs that are hard to visualize and prioritize
  • Definitions of done that don't include testing & deployment
  • 20 page requirements documents for one user story
  • Incorrectly assuming that agile means 'no planning'
  • Planning at the task level vs. the story level
  • Testing after development is done rather than throughout the project.
  • Out of control scope
  • Out of control change management
  • Never ending projects
  • Significant quality issues
  • etc
If you are beginning your agile journey then welcome to the club! It can be a lot of fun and very rewarding. But please, please, don't start without gaining some knowledge first. The agile community has a good head start on you and can help you through some initial hurdles to make your 'simple' journey a little easier. Please do read some articles and books, listen to podcasts etc, but your best learning will come from interactions and conversations with others who are further along the journey. Here are two important pieces of advice for you:

1) Find your local user group and support it with your attendance. Bring real questions and ask the group to help you find some answers. If you are in Winnipeg, visit www.agilewinnipeg.com. If you are elsewhere, consult the Agile Alliance's list of local user groups.

2) Attend conferences. Many of the successful agile teams I know point to ideas and practices they learned at conferences as crucial steps in their organization's agile journey. But don't expect to only 'attend' sessions - plan to interact with the audience and speakers during the sessions and also over lunch, dinner, drinks, or even indoor sky diving. There are several great conferences you can attend, but I'll highlight one in my region - PrairieDeveloper Conference in Calgary, Alberta from March 12-15. Regardless of your location, this is a can't miss conference with 80 sessions + full day workshops. See you there?

To paraphrase Mike Cohn, the agile community has helped me up my game - now up yours.

* P.S. Prairie Developer Conference is more than just agile of course, bring your whole team, your IT pros, your managers, etc.