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
Next Time: How to schedule User Stories