Share this
How to Write Effective User Stories and Acceptance Criteria
by Bhavin Dave, CBAP on Aug 26, 2022 8:22:56 AM
In the world of Software Development, the word 'Requirement' describes what the customer is looking for, what their goal is, or what they need to solve a specific business problem or need, which will ultimately help the organization boost its business.
Whether it's a product-based company that develops software products or a service-based company that offers services in the various types of software, the key point for all of them is the 'Requirement', and the success of the project or product is determined by how well the requirements are defined.
In this context, let's try to understand what user stories are and how to write them effectively to minimize ambiguity.
What is a User Story?
In Agile software development, a user story is a short description of the product functionality or feature from the perspective of the person who wants to use that functionality. A user story usually defines the smallest possible requirement and focuses on only one functionality or feature at a time.
The commonly used standard format in writing a user story is given below:
As a (user role/customer),
I want to (goal to be accomplished)
So that I can (reason of the goal)
Let's consider the case of a Supplier Portal that allows companies to manage and connect with 3rd party suppliers of goods and/or services. The web-based automated Supplier Portal handles registration, onboarding, and compliance, enabling suppliers to self-register and submit compliance and other required details such as VAT number, bank details, etc. Suppliers can raise invoices against the items/services they have provided and track their invoice status (pending, approved, rejected, paid, etc.).
Some user stories for the Supplier Portal from a Supplier's and Invoice Authorizer's view are given below:
- As a Supplier, I should be able to register myself with the Portal so that I can raise invoices
- As a Supplier, I should be able to raise invoices so that I can track the payment status
- As a Supplier, I should be able to upload details of invoices using excel so that I can track the payment status
- As a Supplier, I should be able to edit rejected invoices so that I can re-submit them for the approval
- As a Supplier, I should be able to add invoice line details so that it can calculate the VAT amount automatically
- As an Invoice Authorizer, I should be able to able to approve the invoices so that payment can be released to suppliers
- As an Invoice Authorizer, I should be able to reject invoices with comments so that Suppliers can re-submit them
You must rely on the INVEST acronym for assessing a user story's quality.
Independent: A particular user story must be developed independently of other user stories - Avoid introducing any dependencies or combining user stories.
Negotiable: User stories are not contracts; hence it would need the flexibility to be adjusted based on how much gets implemented.
Valuable: How is it beneficial or what value it provides to users, customers, and stakeholders
Estimable: The team needs enough information to estimate the efforts
Small: It should be sized appropriately for completion within a Sprint (includes testing)
Testable: Meets customer needs, is understood by all and is clear enough to assess if the story is done. (it should be easily unit and acceptance tested)
What are Acceptance Criteria?
Acceptance criteria (sometimes referred to as the "definition of done") are the conditions that must be met in order for a user story to be marked as complete and be accepted by a user, a customer, or any other system. It is usually presented in the form of statements that can be verified as pass or fail. Each product backlog item or user story should have at least one acceptance criterion.
Good acceptance criteria should include
- Usability: Make sure to contain measures of usability in the acceptance criteria. It indicates how to answer the questions like: Is it easy to use? The important point is to identify the correct measurements and ensure each is quantifiable.
- Functionality: Acceptance criteria define what precisely must be developed by the development team. Once the team has exact requirements, they can divide user stories into tasks that can be estimated correctly.
- Error handling: Acceptance criteria may require the system to identify error cases and how each error should be handled. For example, Invalid password input or password format requirements. Acceptance Criteria should define these scenarios and explain how a system should react to them.
- Performance: Acceptance criteria should define system performance from the individual user perspective. For example, UI should be responsive, or it should navigate to a new page
- Stress tests: Acceptance criteria should describe how the system should respond when it is under stress because there are many users, transactions, volumes, or queries. Acceptance criteria should also define acceptable thresholds for stress testing. For example -The system responds within a 275-millisecond threshold when there are 100 users submitting queries simultaneously.
Here are some good acceptance criteria for the user story that we discussed above:
"As a Supplier, I should be able to register myself with the portal so that I can raise invoices."
- The supplier user must provide information for every field marked as required.
- All fields should successfully pass validations (e.g., Name cannot contain numbers, phone number must contain a numeric value, etc.). Error messages must be displayed for incorrect data format.
- Users should be able to upload a profile picture.
- Users should be able to set preferences regarding a business.
- Users should be able to upload VAT certificates and Bank statements as attachments. The error message must be displayed if the uploaded file format differs from the format it must be attached.
- Upon clicking the "Register" button, the system must display the message "Supplier Registered Successfully".
- The system must send an onboarding email to the Suppliers upon successful registration.
- The system must send a copy of the onboarding email to the concerned team.
Conclusion
In a nutshell, writing effective user stories and acceptance criteria is a win-win situation for both clients and development teams; it not only helps the team know exactly what they have to do but also keeps the client informed of the development process.
Share this
- Business analysis (135)
- CBAP (41)
- Business analysis skill (34)
- CBAP Certification (32)
- #CCBA (31)
- Career (29)
- ECBA (22)
- #AdaptiveUS (20)
- #BA Certification (18)
- #BA (16)
- IIBA Certifications (16)
- BABoK (15)
- #IIBA (14)
- #AdaptiveUS #BusinessAnalysis (13)
- Uncategorized (13)
- Most Popular (12)
- Announcements (11)
- cbap certification training (11)
- Requirement engineering (10)
- #CBAP_Certification (8)
- #LNMishra (8)
- countdowns (8)
- #BA Skills (7)
- #BA Techniques (7)
- CPRE (7)
- Press Release (7)
- #AdaptiveUS #BusinessAnalysis #BA #BABoK (6)
- #CCBA_Certification (6)
- #Elicitation (6)
- #business analyst (6)
- #BusinessAnalysis (5)
- #PressRelease (5)
- #Business_Analysis (4)
- #ECBA_Certification (4)
- #Requirements engineering (4)
- #cbap_exam_ preparation_tips (4)
- #certifications #AdaptiveUS #BusinessAnalysis #BA (4)
- Business analysis certification training (4)
- Most Recent (4)
- #AdaptiveRocks (3)
- #BA_Certification (3)
- #IIBA Membership (3)
- cbap certification cost (3)
- cbap certification course (3)
- cbap training certification online (3)
- #LearnwithLN (2)
- Business analysis study guides (2)
- CCBA Recertification (2)
- CPOA (2)
- Scrum (2)
- businessanalyst (2)
- cbap question banks (2)
- cbap study guide (2)
- ecba question banks (2)
- ecba study guide (2)
- #AAC (1)
- #AgileBA (1)
- #BAOT (1)
- #BATrends (1)
- #BridgingtheGap (1)
- #ECBA #IIBA #IIBAWorkshop #Certification (1)
- #IIBA #Agile (1)
- #IIBAEgyptChapter (1)
- #IREB (1)
- #NFR (1)
- #OneWorksGroup (1)
- #Partnership (1)
- #SimpleSim (1)
- #ba #businessanalysis #jobdescription #adaptiveus (1)
- #performancemetrics (1)
- Adaptive US (1)
- Agile BA (1)
- Awesome BA (1)
- BABoKV3 based certification (1)
- BACOE (1)
- CBAP Certification Tips (1)
- CBAP Exam Preparation (1)
- CBAP Exam Tips (1)
- CBAP Preparation Tips (1)
- CBAP certification preparation (1)
- CBDA (1)
- ECBA Certification steps (1)
- ECBA V3 certification (1)
- ECBA certificate (1)
- From our Archive (1)
- IIBA CBAP Certification (1)
- KPI (1)
- PMI PBA (1)
- PMP vs CBAP (1)
- Requirements Management (1)
- Scrum rules (1)
- Transitioning to BA (1)
- cbap e-learning (1)
- cbap training material (1)
- ccba certification training online (1)
- ccba or cbap certification (1)
- conflicts resolution techniques (1)
- iiba ecba online course (1)
- productowner (1)
- stakeholders (1)
- testing (1)
- what is scrum? (1)
- March 2023 (2)
- February 2023 (5)
- January 2023 (1)
- December 2022 (4)
- November 2022 (3)
- October 2022 (2)
- September 2022 (4)
- August 2022 (3)
- July 2022 (4)
- June 2022 (9)
- May 2022 (4)
- April 2022 (7)
- March 2022 (6)
- February 2022 (1)
- January 2022 (1)
- December 2021 (2)
- November 2021 (4)
- October 2021 (4)
- September 2021 (2)
- August 2021 (4)
- July 2021 (4)
- June 2021 (2)
- May 2021 (1)
- April 2021 (1)
- March 2021 (4)
- February 2021 (2)
- January 2021 (3)
- December 2020 (3)
- November 2020 (3)
- October 2020 (3)
- September 2020 (5)
- August 2020 (8)
- July 2020 (3)
- May 2020 (5)
- April 2020 (2)
- March 2020 (7)
- February 2020 (6)
- January 2020 (4)
- December 2019 (1)
- November 2019 (3)
- October 2019 (5)
- September 2019 (3)
- August 2019 (2)
- July 2019 (4)
- June 2019 (2)
- May 2019 (3)
- April 2019 (6)
- March 2019 (3)
- February 2019 (8)
- January 2019 (7)
- December 2018 (8)
- November 2018 (6)
- October 2018 (8)
- September 2018 (11)
- August 2018 (11)
- July 2018 (23)
- June 2018 (12)
- May 2018 (19)
- April 2018 (11)
- February 2018 (1)
- January 2018 (3)
- December 2017 (1)
- November 2017 (5)
- October 2017 (2)
- September 2017 (2)
- August 2017 (30)
Comments (1)