User Stories in Agile Software Development
In Agile software development and product management User Story refers to a short, informal, and simple description of software features that are required by the end-users in the software system. Its main purpose is to provide software features that will add value to the customer requirements. User stories are considered an important tool in Incremental software development. Mainly a user story defines the type of user, their need, and why they need that. So in simple, a user story is a simple description of requirements that needs to be implemented in the software system.
Pattern of User Story :
User stories are completely from the end-user perspective which follows the Role-Feature-Benefit pattern.
As a [ type of user ], I want [ an action ], so that [ some reason ]
For example :
As the project manager of a construction team, I want our team-messaging app to include file sharing and information update so that my team can collaborate and communicate with each other in real-time as a result the construction project development and completion will be fast.
Writing User Stories :
User stories are from a user perspective. So when user stories are written, users are given more importance during the process. Some points outlined which are taken into consideration during writing user stories like
- Tasks and their subtasks
- Actual user
- Importance to user words/feedback
- Breaking user stories for larger requirements
With this also some other principles which are given importance during creating user stories are discussed below.
INVEST Principle of User story :
A good user story should be based on INVEST principle which expresses the quality of the user story because in base a good software product is completely dependent upon a good user story. In 2003 INVEST checklist was introduced by Bill Wake in an article.
- Independent –
Not dependent on other.
- Negotiable –
Includes the important avoid contract.
- Valuable –
Provide value to customer.
- Estimable –
It should be estimated.
- Small –
It should be simple and small not complex.
- Testable –
It should be evaluated by pre-written acceptance criteria.
3 C’s in User Stories :
- Card –
Write stories on cards, prioritize, estimate and schedule it accordingly.
- Conversation –
Conduct conversations, Specify the requirements and bring clarity.
- Confirmation –
Meet the acceptance criteria of the software.
Working with User Stories :
Below points represents working with user stories
- Once the user story is fully written then it undergoes review and verification.
- In project workflow meetings it is reviewed and verified then added to the actual workflow.
- Actual requirements and functionality are decided based on the stories.
- User stories are scored based on their complexity and the team starts work based on user stories.
Importance of creating User stories :
- Stories clear idea about requirements
- Makes it easy to understand the features
- Delivers higher customer satisfaction
- Fasten development process
- Creates an effective work environment
- Enables collaboration between teams
- Delivery of valuable software