USER STORIES IN AGILE SOFTWARE DEVELOPMENT
Kent Beck1 and David West2
1Three Rivers Institute, Oregon, USA
2NewMexico Highlands University, NewMexico, USA
A STORY is just a story, but a user story is key for extreme programming (and agile software development). A user story is distinct from similar techniques (scenarios and use cases) because it is always told from the point of view of the user, not the developer.
A user story begins as text-on-a-card but its life extends throughout development as the on-site customer and the developers engage in dialog that confirms, evaluates, expands, and modifies the original story premise. Users can become more proficient at telling stories, and developers in listening to stories, by recognizing some basic story categories.
User stories are appropriate, applicable and essential to every type of software application—from embedded safety critical systems to prosaic back office accounting systems. Despite the doubts advanced by traditional software engineers, user stories (and XP and Agile methods in general) are appropriate for projects at any level of scale.
While it may appear that the assertions in the previous paragraph are a bit extreme or extravagant, a bit of reflection brings the recognition: if a system has users, those users must communicate their expectations and needs and they will do so by telling you stories. Even if a user handed you a nonstory based document like a flow chart, data flow diagram, or ...