SlideShare a Scribd company logo
1 of 13
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

Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
kahgeh75
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
Janeve George
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writting
Phil van Dulm Consultancy
 

What's hot (20)

Effective User Stories
Effective User StoriesEffective User Stories
Effective User Stories
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
User Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
Effective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum teamEffective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum team
 
Guide to User Story Creation
Guide to User Story CreationGuide to User Story Creation
Guide to User Story Creation
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writting
 
Product Backlog Mapping
Product Backlog MappingProduct Backlog Mapping
Product Backlog Mapping
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Using Postman to Automate API On-Boarding
Using Postman to Automate API On-BoardingUsing Postman to Automate API On-Boarding
Using Postman to Automate API On-Boarding
 
Code Quality in Ruby and Java
Code Quality in Ruby and JavaCode Quality in Ruby and Java
Code Quality in Ruby and Java
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering Techniques
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Postman Introduction
Postman IntroductionPostman Introduction
Postman Introduction
 
Technical... User Stories?!
Technical... User Stories?!Technical... User Stories?!
Technical... User Stories?!
 

Similar to Defining tasks for User Stories

Requirements Management Part 2 - Analysis and Communication
Requirements Management Part 2 - Analysis and CommunicationRequirements Management Part 2 - Analysis and Communication
Requirements Management Part 2 - Analysis and Communication
Mohamed Shaaban
 

Similar to Defining tasks for User Stories (20)

User stories
User storiesUser stories
User stories
 
How to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptxHow to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptx
 
Untangling Agile Estimation - PMI Houston 2019 Symposium
Untangling Agile Estimation - PMI Houston 2019 SymposiumUntangling Agile Estimation - PMI Houston 2019 Symposium
Untangling Agile Estimation - PMI Houston 2019 Symposium
 
Effective User Stories.pdf
Effective User Stories.pdfEffective User Stories.pdf
Effective User Stories.pdf
 
The Scrum Guide
The Scrum GuideThe Scrum Guide
The Scrum Guide
 
How to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using AgileHow to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using Agile
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Role
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteria
 
User Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh VaradharajanUser Story Writing & Estimation For Testers By Mahesh Varadharajan
User Story Writing & Estimation For Testers By Mahesh Varadharajan
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission Teams
 
Agile User Stories
Agile  User StoriesAgile  User Stories
Agile User Stories
 
Agile - User Stories
Agile - User StoriesAgile - User Stories
Agile - User Stories
 
Agile.pptx
Agile.pptxAgile.pptx
Agile.pptx
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
 
Requirements Management Part 2 - Analysis and Communication
Requirements Management Part 2 - Analysis and CommunicationRequirements Management Part 2 - Analysis and Communication
Requirements Management Part 2 - Analysis and Communication
 
Xamariners - BDD + Mobile
Xamariners - BDD + MobileXamariners - BDD + Mobile
Xamariners - BDD + Mobile
 
Agile Techniques
Agile TechniquesAgile Techniques
Agile Techniques
 
The Nuts and Bolts of Automating Your Workflow and Going Paperless
The Nuts and Bolts of Automating Your Workflow and Going PaperlessThe Nuts and Bolts of Automating Your Workflow and Going Paperless
The Nuts and Bolts of Automating Your Workflow and Going Paperless
 

Recently uploaded

Recently uploaded (20)

Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 

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