By Howard Young
A “user story” is a software or system requirement specifying functionality from the user’s perspective of the system. Often the user story is stated in terms of role, functionality and value. These terms usually map to inputs, processing and outputs. An example user story could be written this way:
As a pilot (role), I need a navigation system (functionality) which will provide me present position within 5 meters (value).
In this example, the pilot is indirectly providing input to to the navigation system (that is, by flying the aircraft) whereby the system is providing present position to 5 meters.
- Start at the highest requirement and subdivide the requirement into additional derived requirements. These requirements are called child stories.
- User stories should define “what” the system does and not “how” it is implemented.
- The “value” proposition in the user store should be stated so that it is verifiable.