SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
Janeve George
 

Mais procurados (20)

User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
Scrum - Product Owner
Scrum - Product OwnerScrum - Product Owner
Scrum - Product Owner
 
User stories
User storiesUser stories
User stories
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in Practice
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
User Story Mapping Workshop
User Story Mapping WorkshopUser Story Mapping Workshop
User Story Mapping Workshop
 
Cheat Sheet: 8 ways to split your user stories
Cheat Sheet:  8 ways to split your user storiesCheat Sheet:  8 ways to split your user stories
Cheat Sheet: 8 ways to split your user stories
 
Présentation de l’agilité
Présentation de l’agilitéPrésentation de l’agilité
Présentation de l’agilité
 
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 Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
Certified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photosCertified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photos
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Scrum Process
Scrum ProcessScrum Process
Scrum Process
 
Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile Methodology
 
The Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and ClassroomsThe Agile Product Owner: Beyond the Books and Classrooms
The Agile Product Owner: Beyond the Books and Classrooms
 
Agile coach - roadmap and user story map
Agile coach - roadmap and user story map Agile coach - roadmap and user story map
Agile coach - roadmap and user story map
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 

Semelhante a 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
 

Semelhante a Defining tasks for User Stories (20)

User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
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
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
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
 
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
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

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