Saturday, May 17, 2008

Agile techniques - Why User Stories

Extending the discussion of Consulting Techniques and adapting Agile, approaches, this article by Mike Cohn is still relevant today. I've included a snippet from his discussion with a meaningful example. The bottom line is that a clear story line is critical to ensuring a report is effective.


Mountain Goat Software - Advantages of User Stories for Requirements
IEEE 830–style requirements have sent many projects astray because they focus attention on a checklist of requirements rather than on the user᾿s goals. And lists of requirements don't give the reader the same overall understanding of a product that stories do. It's very difficult to read a list of requirements without automatically considering solutions in your head as you read. Carroll, for example, suggests that designers “may produce a solution for only the first few requirements they encounter.”6 For example, consider the following requirements:7

3.4) The product shall have a gasoline-powered engine.

3.5) The product shall have four wheels.

3.5.1) The product shall have a rubber tire mounted to each wheel.

3.6) The product shall have a steering wheel.

3.7) The product shall have a steel body.

By this point, I suppose images of an automobile are floating around your head. Of course, an automobile satisfies all of the requirements listed above. The one in your head may be a bright red convertible, while I might envision a blue pickup. Presumably the differences between your convertible and my pickup are covered in additional requirements statements.

But suppose that instead of writing an IEEE 830–style requirements specification, the customer told us her goals for the product:

* The product makes it easy and fast for me to mow my lawn.
* I am comfortable while using the product.

By looking at goals, we get a completely different view of the product: the customer really wants a riding lawnmower, not an automobile. These goals are not user stories, but where IEEE 830 documents are a list of requirements, stories describe a user’s goals. By focusing on the user’s goals for the new product, rather than a list of attributes of the new product, we can design a better solution to the user’s needs.

No comments: