User Stories in Agile Software Development - GeeksforGeeks

25 Feb, 2021
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
RequirementsTasks and their subtasksActual userImportance to user words/feedbackBreaking user stories for larger requirements
Requirements
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.
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.
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.
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 requirementsMakes it easy to understand the featuresDelivers higher customer satisfactionFasten development processCreates an effective work environmentEnables collaboration between teamsDelivery of valuable software
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
Software Engineering
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Software Engineering | Integration Testing
System Testing
Software Engineering | Black box testing
Software Engineering | Software Quality Assurance
What is DFD(Data Flow Diagram)?
Difference between Unit Testing and Integration Testing
Difference between IAAS, PAAS and SAAS
Use Case Diagram for Library Management System
Object Oriented Analysis and Design
Software Development Life Cycle (SDLC)