Sunday, March 09, 2008

What's in a User Story?

Being Agile: my occasional ramblings on Agile development & Extreme Programming

I constantly run into people who claim to be Agile but don't understand XP (extreme programming). And a lot of people fail to grasp the essence of XP because they get stuck on an XP principle that they find threatening - 'pair programming' and 'test driven development' are the usual suspects.

I'll focus on Pair Programming and TDD another day. Today I want to discuss the most important and fundamental aspect of XP - User Stories.

User Stories are like better, state-of-the-art Use-Cases - simpler and lending themselves to be scheduled individually.

Think of a User Story as a fine-grained Use-Case, leading to better estimation of effort, tracking of progress, and higher quality of implementation (fewer bugs due to requirements that are fine-grained, thorough and less ambiguous).

A User Story looks just like a bug would in a bug tracking system:
  • a one-line title summarizing the requirement that the user story encapsulates
  • a detailed description consisting of a bulleted list of acceptance criteria
  • a schedulable unit of work whose progress can be tracked
It is the schedulable nature of a User Story that gives it a huge advantage over any other form of requirement gathering, including Use Cases.

Next Time: How to schedule User Stories

No comments:

Post a Comment

Is the world upside down?

Is the world upside down?
It's a topsy-turvy world out there!