DEFINING THE USER STORIES

In an agile development methodology, user stories define business rules and work flows for the application. These user stories, which are driven by the business's needs, become the application's functional requirements. As user stories are collected, they are decomposed into application features that are assigned to developers, which the developers then use to define their tests, which drive development. For more background on agile methodologies, please refer to the section “A Quick Introduction to Agile Methodologies” in Chapter 1.

Collecting the Stories

User stories are representations of the business requirements for an application. They should describe the expected interactions the business users will have with the application. The act of collecting user stories roughly correlates to the activities described in the section “The Project Overview” above. Therefore at this point you should be trying to remain technology-agnostic while defining the users' interaction with the system in broad terms.

Gathering the information needed to create these stories and then reengaging with the business to validate them can be one of the most difficult tasks on an application development project. Developers tend to think technology first. Business users are usually not as technologically savvy as the development team. To engage these business users, it's important to communicate with them in a language, setting, and manner that make them comfortable. For that reason, ...

Get Professional Test-Driven Development with C#: Developing Real World Applications with TDD now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.