On Monday, I attended Mike Cohn's User Story class in Dallas. User stories are a concise, flexible way to write requirements for Agile projects. They take the form:
As a <user role> I want a feature so that <business benefit>
Agile is about software craftsmanship so even when talking about user stories we're also talking about design. My favorite topic in Mike's class is tracer bullets. Instead of splitting stories based on different technology layers, write user stories that provide a full slice of functionality. With a tracer bullet, you shoot the tracer through all layers of the architecture.
What are the benefits?
- Reduces architecture risk
- Easier to prioritize stories
- Software application can be released early because features are complete