SlideShare a Scribd company logo
Tasking a Story
MARTIN LAPOINTE • SENIOR AGILE COACH •
YELLOW PAGES CANADA • @MDELAPOINTE
What size should a user story be?
• A story should be small enough to be coded and tested within
an iteration—ideally just a few days.
• When a story is too large, it is called an epic. Backlog items
tend to start as epics.
Why split a Story into tasks ?
1. The team finds out all WHAT needs to be done for each user
stories.
2. Multiple developers can work on the same story in Scrum.
3. It allows us to measure progress.
A piece of working software
To accomplish this, you will have to pass through the UI layer, service
layer, persist some data in the data layer, and make an API calls, etc..
Example
In order to easily be able to follow my friends' tweets, as a
registered user, I want to automatically follow all of my gmail
contacts that have twitter accounts.
Your tasks might be:
• Add an option to the menu
• Add a new gmail authentication screen
• Add a twitter authentication screen
• Add a contact selection screen
• Add a controller that calls into your service layer
• Save contacts to the database
• Modify your existing gmail API calling service to get contacts
• Add a twitter API calling service to follow selected contacts
Working with acceptance
criteria
Allows us to:
• Think “from the outside in”
• In other words implement only those behaviors which contribute
most directly to the expected business outcomes, so as to
minimize waste.
• Describe behaviors in a single notation which is directly
accessible to domain experts, testers and developers to
improve communication.
• Gather in a single place the specification of an outcome
valuable to a user, as well as examples or scenarios expressed.
How to write better tasks
Write "functional" task
Imagine an objective "the story” and then write an
algorithm in order to fulfil the objective.
Impacts :
• You are sure to not forget anything, and to don't do too much
• Possible to measure progress
• Tasks really say what to do and should be easily understandable by
any team member, or even by people outside the team
• Tasks are independent and the team can work together on the same
story
• Tasks are testable and so issues and bugs are noticed earlier
“Given - When - Then” model
The Given-When-Then formula is a template intended to guide
the writing of acceptance criteria for a User Story:
• (Given) some context
• (When) some action is carried out
• (Then) a particular set of observable consequences should
obtain
An example:
• When I attempt to withdraw an amount less than my card's
limit, Then the withdrawal should complete without errors or
warnings.
Example
Let’s use the classic example of an ATM machine:
Customer withdraws cash
As a customer, I want to withdraw cash from an ATM, so that I
don’t have to wait in line at the bank.
• There are several scenarios to consider
• Let’s take one for the example
Using the given-when-then
template
Scenario 1: Account is in credit
• Given the account is in credit
• And the card is valid
• And the dispenser contains cash
• When the customer requests cash
• Then ensure the account is debited
• And ensure cash is dispensed
• And ensure the card is returned
Using the given-when-then
template
Acceptance criteria (behaviour oriented):
• Verify that the card is valid
• Validate the account is in credit
• Allow the customer to requests cash
• Ensure that the account is debited
• Dispense cash based on the amount debited
• Upon completion of transaction, return card to customer
Using the given-when-then
template
Tasks from the team (behaviour oriented):
• Read card and validate serials to authenticate
• Connect to system x to validate account is in credit
• Send request to system x with $ parameters to requests cash
• Get confirmation code from system x to confirm account is
debited
• Trigger function y to Dispense cash
• Trigger function z to return card to customer
Conclusion
Tasks :
• Are the response of expected behaviours
• Are in the form of working and testable units
• Should be fine grained (7h-14h max)
• Are independent
• Allow multiple team members to work simultaneously on a
User Story
• Used to validate the scope of a Story

More Related Content

What's hot (20)

PPTX
What is Scrum? SlideShare
Invensis Learning
 
PPTX
Extreme Programming
pearlcatcharro
 
PPTX
SRS Of Social Networking
maaano786
 
PPTX
Agile Methodology
Aciron Consulting
 
PDF
Another Scrum Cheat Sheet (great one pager)
CollectiveKnowledge
 
PPTX
Agile Methodology PPT
Mohit Kumar
 
PPTX
Agile Methodology and Tools
Naresh Gajuveni
 
PPTX
Introduction to Scrum.ppt
Mohan Late
 
PPTX
User stories in agile software development
Sandra Svanidzaitė, PhD, CBAP
 
PDF
How to write good user stories
Jose E. Rodriguez Huerta
 
PDF
Introduction to Acceptance Test Driven Development
Elisabeth Hendrickson
 
PDF
Writing Good User Stories (Hint: It's not about writing)
one80
 
PPT
Agile best practices
Areeba jabeen
 
PDF
E0 dd1d scrum-cheat-sheet
Rama Devi Drakshpalli
 
PPTX
Strategies to split user stories
cpolc
 
PDF
30 testing interview questions for experienced
dilipambhore
 
DOCX
Software requirements specification
Krishnasai Gudavalli
 
PPTX
Scrum and JIRA
Mikael Chudinov
 
PPT
Agile Scrum Methodology
Rajeev Misra
 
PPTX
Waterfall model in SDLC
HND Assignment Help
 
What is Scrum? SlideShare
Invensis Learning
 
Extreme Programming
pearlcatcharro
 
SRS Of Social Networking
maaano786
 
Agile Methodology
Aciron Consulting
 
Another Scrum Cheat Sheet (great one pager)
CollectiveKnowledge
 
Agile Methodology PPT
Mohit Kumar
 
Agile Methodology and Tools
Naresh Gajuveni
 
Introduction to Scrum.ppt
Mohan Late
 
User stories in agile software development
Sandra Svanidzaitė, PhD, CBAP
 
How to write good user stories
Jose E. Rodriguez Huerta
 
Introduction to Acceptance Test Driven Development
Elisabeth Hendrickson
 
Writing Good User Stories (Hint: It's not about writing)
one80
 
Agile best practices
Areeba jabeen
 
E0 dd1d scrum-cheat-sheet
Rama Devi Drakshpalli
 
Strategies to split user stories
cpolc
 
30 testing interview questions for experienced
dilipambhore
 
Software requirements specification
Krishnasai Gudavalli
 
Scrum and JIRA
Mikael Chudinov
 
Agile Scrum Methodology
Rajeev Misra
 
Waterfall model in SDLC
HND Assignment Help
 

Similar to Defining tasks for User Stories (20)

PDF
Story of user story
Balaji Sathram
 
PDF
User Stories Training
Clarion Marketing
 
PPT
User stories
tanvir afzal
 
PPTX
How to Write Great User Stories Today.pptx
AlanJamisonMBASPC
 
PPTX
Untangling Agile Estimation - PMI Houston 2019 Symposium
Jami Anderson
 
PDF
Effective User Stories.pdf
SiddharthGarhwal1
 
PDF
The Scrum Guide
Maryam Erfani
 
PPTX
User Story Splitting.pptx
Paul Boos
 
PPTX
How to Foster Engagement and Understanding Using Agile
Salesforce Admins
 
PPTX
SDLC. BA Role
eleksdev
 
PDF
Backlog Management & Discovery
Tarun Singh
 
PPSX
Agile User Stories
Sunil-QA
 
PDF
IIT Academy: 204 User stories and acceptance criteria
Steven HK Ma | 馬國豪
 
PPTX
User Story Writing & Estimation For Testers By Mahesh Varadharajan
Agile Testing Alliance
 
PPTX
Dashlane Mission Teams
Dashlane
 
PPSX
Agile User Stories
Sunil-QA
 
PPTX
Agile - User Stories
Sunil-QA
 
PPTX
How to Break the Requirements into User Stories
ShriKant Vashishtha
 
PPTX
Agile.pptx
Rafeeq T
 
PPTX
User_stories_part_2, Mike Cohn, Chapter 2.pptx
gapes15393
 
Story of user story
Balaji Sathram
 
User Stories Training
Clarion Marketing
 
User stories
tanvir afzal
 
How to Write Great User Stories Today.pptx
AlanJamisonMBASPC
 
Untangling Agile Estimation - PMI Houston 2019 Symposium
Jami Anderson
 
Effective User Stories.pdf
SiddharthGarhwal1
 
The Scrum Guide
Maryam Erfani
 
User Story Splitting.pptx
Paul Boos
 
How to Foster Engagement and Understanding Using Agile
Salesforce Admins
 
SDLC. BA Role
eleksdev
 
Backlog Management & Discovery
Tarun Singh
 
Agile User Stories
Sunil-QA
 
IIT Academy: 204 User stories and acceptance criteria
Steven HK Ma | 馬國豪
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
Agile Testing Alliance
 
Dashlane Mission Teams
Dashlane
 
Agile User Stories
Sunil-QA
 
Agile - User Stories
Sunil-QA
 
How to Break the Requirements into User Stories
ShriKant Vashishtha
 
Agile.pptx
Rafeeq T
 
User_stories_part_2, Mike Cohn, Chapter 2.pptx
gapes15393
 
Ad

Recently uploaded (20)

PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
Top Managed Service Providers in Los Angeles
Captain IT
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PPTX
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Français Patch Tuesday - Juillet
Ivanti
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Rethinking Security Operations - SOC Evolution Journey.pdf
Haris Chughtai
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Top Managed Service Providers in Los Angeles
Captain IT
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Building and Operating a Private Cloud with CloudStack and LINBIT CloudStack ...
ShapeBlue
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Français Patch Tuesday - Juillet
Ivanti
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Ad

Defining tasks for User Stories

  • 1. Tasking a Story MARTIN LAPOINTE • SENIOR AGILE COACH • YELLOW PAGES CANADA • @MDELAPOINTE
  • 2. What size should a user story be? • A story should be small enough to be coded and tested within an iteration—ideally just a few days. • When a story is too large, it is called an epic. Backlog items tend to start as epics.
  • 3. Why split a Story into tasks ? 1. The team finds out all WHAT needs to be done for each user stories. 2. Multiple developers can work on the same story in Scrum. 3. It allows us to measure progress.
  • 4. A piece of working software To accomplish this, you will have to pass through the UI layer, service layer, persist some data in the data layer, and make an API calls, etc..
  • 5. Example In order to easily be able to follow my friends' tweets, as a registered user, I want to automatically follow all of my gmail contacts that have twitter accounts. Your tasks might be: • Add an option to the menu • Add a new gmail authentication screen • Add a twitter authentication screen • Add a contact selection screen • Add a controller that calls into your service layer • Save contacts to the database • Modify your existing gmail API calling service to get contacts • Add a twitter API calling service to follow selected contacts
  • 6. Working with acceptance criteria Allows us to: • Think “from the outside in” • In other words implement only those behaviors which contribute most directly to the expected business outcomes, so as to minimize waste. • Describe behaviors in a single notation which is directly accessible to domain experts, testers and developers to improve communication. • Gather in a single place the specification of an outcome valuable to a user, as well as examples or scenarios expressed.
  • 7. How to write better tasks Write "functional" task Imagine an objective "the story” and then write an algorithm in order to fulfil the objective. Impacts : • You are sure to not forget anything, and to don't do too much • Possible to measure progress • Tasks really say what to do and should be easily understandable by any team member, or even by people outside the team • Tasks are independent and the team can work together on the same story • Tasks are testable and so issues and bugs are noticed earlier
  • 8. “Given - When - Then” model The Given-When-Then formula is a template intended to guide the writing of acceptance criteria for a User Story: • (Given) some context • (When) some action is carried out • (Then) a particular set of observable consequences should obtain An example: • When I attempt to withdraw an amount less than my card's limit, Then the withdrawal should complete without errors or warnings.
  • 9. Example Let’s use the classic example of an ATM machine: Customer withdraws cash As a customer, I want to withdraw cash from an ATM, so that I don’t have to wait in line at the bank. • There are several scenarios to consider • Let’s take one for the example
  • 10. Using the given-when-then template Scenario 1: Account is in credit • Given the account is in credit • And the card is valid • And the dispenser contains cash • When the customer requests cash • Then ensure the account is debited • And ensure cash is dispensed • And ensure the card is returned
  • 11. Using the given-when-then template Acceptance criteria (behaviour oriented): • Verify that the card is valid • Validate the account is in credit • Allow the customer to requests cash • Ensure that the account is debited • Dispense cash based on the amount debited • Upon completion of transaction, return card to customer
  • 12. Using the given-when-then template Tasks from the team (behaviour oriented): • Read card and validate serials to authenticate • Connect to system x to validate account is in credit • Send request to system x with $ parameters to requests cash • Get confirmation code from system x to confirm account is debited • Trigger function y to Dispense cash • Trigger function z to return card to customer
  • 13. Conclusion Tasks : • Are the response of expected behaviours • Are in the form of working and testable units • Should be fine grained (7h-14h max) • Are independent • Allow multiple team members to work simultaneously on a User Story • Used to validate the scope of a Story