Key Features for User Story Implementation
written by gunther gerlach-2009
A user story describes desired functionality from the customer (user) perspective. A good user story describes the desired functionality, who wants it, and how and why the functionality will be used.
The INVEST model define a User Story as Independent, Negotiable, Valuable, Estimable, Small, Testable. Let’s see what each one means:
Independent - One user story should be independent of another (as much as possible). Dependencies between stories make planning, prioritization, and estimation much more difficult. Often enough, dependencies can be reduced by either combining stories into one or by splitting the stories differently.
Negotiable - A user story is negotiable. The “Card” of the story is just a short description of the story which do not include details. The details are worked out during the “Conversation” phase.
Valuable - Each story has to be of value to the customer. One very good way of making stories valuable is to get the customer to write them. Once a customer realizes that a user story is not a contract and is negotiable, they will be much more comfortable writing stories.
Estimable - The developers need to be able to estimate a user story to allow prioritization and planning of the story. Problems that can keep developers from estimating a story are: lack of domain knowledge, or if the story is too big.
Small - A good story should be small in effort, typically representing no more, than 2-3 person weeks of effort. A story which is more than that in effort can have more errors associated with scoping and estimation.
Testable - A story needs to be testable for the “Confirmation” to take place. Remember, we do not develop what we cannot test. If you can’t test it then you will never know when you are done. An example of non-testable story: “software should be easy to use”.
few steps to make User Stories Perfect
conclusion As you discuss stories, write cards, and split stories, the INVEST acronym can help remind you of characteristics of good stories. When creating a task plan, applying the SMART acronym can improve your tasks.
Posted by agilesoftwaredevelopment.com

