What is User Story
A User Story is a note that captures what a user does or needs to do as part of her work. Each User Story consists of a short description written from user's point of view, with natural language.
The 3C's refer to the three critical aspects of good user stories. The concept was suggested by Ron Jeffries, the co-inventor of the user stories practice. Nowadays, when we talk about User Stories, we usually are referring to the kind of User Stories that are composed of these three aspects. Card, Conversation & Confermation.
User Stories are written as cards. Each User Story card has a short sentence with just-enough text to remind everyone of what the story is about.
Requirements are found and re-fined through a continuous conversations between customers and development team throughout the whole software project. Important ideas and decisions would be discovered and recorded during the stakeholder meetings.
Confirmation is also known as the acceptance criteria of the User Story. During the discussion of requirements, the customers tells the analyst not only what he/she wants, but also confirming under what conditions and criteria the working software would be accepted or rejected. The cases defined are written as confirmation. Note that confirmation focuses on verifying the correctness of work of the corresponding User Story. It is not an integration testing.
Use Cases, introduced by Ivar Jacobson more than 20 years ago, are used to capture user (actor) point of view while describing functional requirements of the system. They describe the step by step process a user goes through to complete that goal using a software system.
Simple Use Case Diagram
A Use Case is a description of all the ways an end-user wants to "use" a system. Use Cases capture all the possible ways the user and system can interact that result in the user achieving the goal. They also capture all the things that can go wrong along the way that prevent the user from achieving the goal.
A Use-Case model consists of a number of model elements. The most important model elements are:
- Use Cases,
- and the relationships between them.