Duration (30, 60, 90): 60 or 90 minutes, depending on how much time we want to spend practicing splitting stories or even applying the patterns to participant's real stories
Audience Level (New/Novice, Experienced, Expert): Any - The only assumption is some familiarity with user stories. I've used these patterns with new and experienced teams to good effect. And even experts have told me it gives them a new way to think about story splitting.
Session Style (Presentation, Workshop, Interview, Panel, Game): Presentation followed by practice. The 90 minute version would include a workshop component as participants get to collaborate to split their own real stories.
Description of Session:
Agile teams everywhere seem to struggle to break down features into valuable slices that can be completed in a day or two. In my work as an agile practitioner and coach, I've identified a handful of patterns for functional complexity in user stories and ways to split each one.
You can see the original description of the patterns here: http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories/. The latest resource I've created for this is an 11x17 diagram that breaks down the use of the patterns into a flow chart of questions: http://www.richardlawrence.info/2012/01/27/new-story-splitting-resource/. After almost two and half years since the original post went up, it still accounts for more than half the traffic to my blog—there's ongoing demand for help with story splitting.
In this session, I'll explain and illustrate the patterns. I'll have participants apply the patterns to fake stories I supply, first in small groups, and then all together. If we go with the 90 minute version, I would invite participants to bring some of their own hard-to-split stories, and we'd work on them together to further practice and demonstrate the approach. I would bring 11x17 color prints of the "How to Split a User Story" flow chart as a takeaway for people who attend.
Session Leader(s) Background:
I'm an agile trainer and coach with a developer background. In fact, I'm a second generation developer. I learned binary math before decimal math, with my dad running up and down the hall turning on and off lights.
I was one of the first Certified Scrum Coaches, so I work with teams to adopt and improve how they use Scrum. But I have particular expertise and passion for Behavior-Driven Development. I'm currently writing a book on BDD with Cucumber for Ruby, Java, and .NET, due out from Addison-Wesley later this year.
Teaching teams to split stories ends up being a part of most of my consulting engagement—even if we're talking about BDD, the inability to split stories often turns out to be an impediment to getting started—so I do variations on this session privately for my clients. But I've never presented publicly on the topic before.
Questions Answered By This Session: How can we split our user stories so they're still good stories at the end? How can we make story splitting take much less of our time?