SlideShare uma empresa Scribd logo
1 de 12
USER STORIES &
DECOMPOSING
REQUIREMENTS
WHAT IS A USER STORY?
• A REGULAR STORY IS ABOUT SOME PERSONS, THEY ARE IN A
SITUATION, SOMETHING HAPPENS THAT IS INTERESTING, THEN THERE
IS AN OUTCOME AND AN END
• SOMETIMES THERE IS A MORAL OR SOME RATIONALE FOR IT ALL
• USER STORIES ARE STORIES ABOUT A USER OF OUR PRODUCT.
THERE IS A SITUATION, THE USER DOES SOMETHING AND THE
PRODUCT RESPONDS GIVING THE USER SOME RESULT (HOPEFULLY
OF VALUE FOR THE USER)
WHAT IS A USER STORY?
• A USER’S NEED
• A PLANNING ITEM
• A REQUIREMENT
• A (CHUNK OF) PRODUCT DESCRIPTION
• A COMMUNICATION TOOL
• A DISCUSSION OPENER
USER STORY FORMATS
FOCUS ON THE BUSINESS GOAL
•TITLE
•IN ORDER TO <BUSINESS GOAL>
•AS <A ROLE>
•I WANT <FUNCTIONALITY>
USER STORY FORMATS
FOCUS ON THE ROLE
•TITLE
•AS <A ROLE>
•IN ORDER TO <BUSINESS GOAL>
•I WANT <FUNCTIONALITY>
WHY USER STORIES?
• USER STORIES PROMOTE TRANSPARENCY BEING INTUITIVELY
UNDERSTANDABLE FOR ALL INVOLVED (USUALLY ALSO FOR
STAKEHOLDERS)
• HELP FOCUS ON THE USER AND VALUABLE BUSINESS OUTCOMES
• HELP START DISCUSSIONS – BUT ALSO HELP CAPTURE THEIR
OUTCOMES
GWT – GIVEN WHEN
THEN
• “GIVEN-WHEN-THEN” – PART OF THE BDD APPROACH, GAINING
POPULARITY AS ACCEPTANCE TESTING SO FORMULATED
REQUIREMENTS CAN BE AUTOMATED (JBEHAVE, RSPEC, CUCUMBER
ETC.).
• ALSO USEFUL WITHOUT BDD&TOOLS FOR DESCRIBING
REQUIREMENTS FOR SYSTEMS WITHOUT HUMAN USERS WHICH
USUALLY ARE STATE MACHINES RESPONDING TO EXTERNAL EVENTS
GIVEN WHEN THEN
DETAILS
• STRUCTURE:
• GIVEN <INITIAL CONTEXT>
• WHEN <ACTION / EVENT>
• THEN <OUTCOME>
• EXAMPLE:
• GIVEN I AM A PREMIUM USER AND I HAVE A HOTEL RESERVATION
• WHEN I CANCEL IT UP TO 4 DAYS BEFORE TRAVELING
• THEN I GET FULL REFUND
TYPES OF LARGE
STORIES
• COMPOUND STORIES - USUALLY MADE UP OF SEVERAL SMALLER
STORIES
• COMPLEX STORIES - USUALLY INHERENTLY LARGE STORIES,
OFTEN BECAUSE THERE IS SOME UNCERTAINTY ABOUT WHAT NEEDS
TO BE DONE.
BREAKING DOWN USER
STORIES
• CRUD – CREATE, READ, UPDATE, DELETE
• ACCEPTANCE CRITERIA – SEPARATELY POSITIVE SCENARIO, NEGATIVE
SCENARIO, EXCEPTIONS ETC.
• DECISION TREES – CONSIDER, THEN IMPLEMENT BRANCHES
• WORKFLOW STEPS – WORKFLOW SEQUENCE ONE BY ONE
• NONE, ONE, MANY – CONSIDER SEPARATELY SIZES
• EXTERNAL (INCREMENTAL) QUALITY – GRADUALLY IMPROVE UI,
PERFORMANCE ETC.
• “SPIKES” – TIME-BOXED EXPLORATION
SOURCES
• “GROWING AGILE” – BLOG POST ABOUT BREAKING DOWN
REQUIREMENTS
• HTTP://GROWINGAGILE.CO.ZA/2012/12/BREAKING-DOWN-USER-
STORIES/
• “PATTERNS FOR SPLITTING USER STORIES” – RICHARD LAWRENCE
• HTTP://WWW.RICHARDLAWRENCE.INFO/2009/10/28/PATTERNS-
FOR-SPLITTING-USER-STORIES/
• “USER STORIES APPLIED” – MIKE COHN, 2004 ISBN 978-0321205681
WWW.CODESPRINTERS.COM
THANK YOU
v5

Mais conteúdo relacionado

Semelhante a User stories and decomposing requirements

Agile User Stories | The complete Review
Agile User Stories | The complete ReviewAgile User Stories | The complete Review
Agile User Stories | The complete ReviewDavid Tzemach
 
Agile vs Waterfall Project management
Agile vs Waterfall  Project management Agile vs Waterfall  Project management
Agile vs Waterfall Project management Kostiantyn Trefiak
 
Agile lean workshop
Agile lean workshopAgile lean workshop
Agile lean workshopJesse Wang
 
Reigniting the Volusion platform
Reigniting the Volusion platformReigniting the Volusion platform
Reigniting the Volusion platformAndrew Siemer
 
What is product management?
What is product management?What is product management?
What is product management?Martin Sabag
 
Introduction to Agile scrum
Introduction to Agile scrumIntroduction to Agile scrum
Introduction to Agile scrumSachin Khosla
 
Software engineering presentation on modelling requirement engineering and bp...
Software engineering presentation on modelling requirement engineering and bp...Software engineering presentation on modelling requirement engineering and bp...
Software engineering presentation on modelling requirement engineering and bp...Shaila Rahman Shammi
 
Webinar marketing sucess
Webinar marketing sucessWebinar marketing sucess
Webinar marketing sucessFaraad Coston
 
DevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at HaufeDevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at HaufeHaufe-Lexware GmbH & Co KG
 
Thin Slicing the Technology Adoption Life Cycle
Thin Slicing the Technology Adoption Life CycleThin Slicing the Technology Adoption Life Cycle
Thin Slicing the Technology Adoption Life CycleKent Richmond
 
Product Management
Product ManagementProduct Management
Product ManagementADITYA KARWA
 
the HeART of the CLOSE, Raju Mandhyan
the HeART of the CLOSE, Raju Mandhyanthe HeART of the CLOSE, Raju Mandhyan
the HeART of the CLOSE, Raju MandhyanRaju Mandhyan
 
Hilary Corna - Real Time Reset for a Business Interrupted -- EOS Conference M...
Hilary Corna - Real Time Reset for a Business Interrupted -- EOS Conference M...Hilary Corna - Real Time Reset for a Business Interrupted -- EOS Conference M...
Hilary Corna - Real Time Reset for a Business Interrupted -- EOS Conference M...Hilary Corna
 
Business for engineers part 4: Value proposition
Business for engineers part 4: Value propositionBusiness for engineers part 4: Value proposition
Business for engineers part 4: Value propositionJan Isakovic
 
StartupCamp Bratislava #29 - Manage Strategy tool
StartupCamp Bratislava #29 - Manage Strategy toolStartupCamp Bratislava #29 - Manage Strategy tool
StartupCamp Bratislava #29 - Manage Strategy toolStartupCamp
 

Semelhante a User stories and decomposing requirements (20)

Agile_Software_Development_SCRUM_18Jan2022.pptx
Agile_Software_Development_SCRUM_18Jan2022.pptxAgile_Software_Development_SCRUM_18Jan2022.pptx
Agile_Software_Development_SCRUM_18Jan2022.pptx
 
Agile User Stories | The complete Review
Agile User Stories | The complete ReviewAgile User Stories | The complete Review
Agile User Stories | The complete Review
 
Agile vs Waterfall Project management
Agile vs Waterfall  Project management Agile vs Waterfall  Project management
Agile vs Waterfall Project management
 
Agile lean workshop
Agile lean workshopAgile lean workshop
Agile lean workshop
 
Strange Data
Strange DataStrange Data
Strange Data
 
Reigniting the Volusion platform
Reigniting the Volusion platformReigniting the Volusion platform
Reigniting the Volusion platform
 
What is product management?
What is product management?What is product management?
What is product management?
 
Introduction to Agile scrum
Introduction to Agile scrumIntroduction to Agile scrum
Introduction to Agile scrum
 
Software engineering presentation on modelling requirement engineering and bp...
Software engineering presentation on modelling requirement engineering and bp...Software engineering presentation on modelling requirement engineering and bp...
Software engineering presentation on modelling requirement engineering and bp...
 
Customer satisfaction
Customer satisfactionCustomer satisfaction
Customer satisfaction
 
Post production
Post productionPost production
Post production
 
Webinar marketing sucess
Webinar marketing sucessWebinar marketing sucess
Webinar marketing sucess
 
DevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at HaufeDevOps Journey of Foundational Services at Haufe
DevOps Journey of Foundational Services at Haufe
 
Discovery Phase: Planing Your Web Project
Discovery Phase: Planing Your Web ProjectDiscovery Phase: Planing Your Web Project
Discovery Phase: Planing Your Web Project
 
Thin Slicing the Technology Adoption Life Cycle
Thin Slicing the Technology Adoption Life CycleThin Slicing the Technology Adoption Life Cycle
Thin Slicing the Technology Adoption Life Cycle
 
Product Management
Product ManagementProduct Management
Product Management
 
the HeART of the CLOSE, Raju Mandhyan
the HeART of the CLOSE, Raju Mandhyanthe HeART of the CLOSE, Raju Mandhyan
the HeART of the CLOSE, Raju Mandhyan
 
Hilary Corna - Real Time Reset for a Business Interrupted -- EOS Conference M...
Hilary Corna - Real Time Reset for a Business Interrupted -- EOS Conference M...Hilary Corna - Real Time Reset for a Business Interrupted -- EOS Conference M...
Hilary Corna - Real Time Reset for a Business Interrupted -- EOS Conference M...
 
Business for engineers part 4: Value proposition
Business for engineers part 4: Value propositionBusiness for engineers part 4: Value proposition
Business for engineers part 4: Value proposition
 
StartupCamp Bratislava #29 - Manage Strategy tool
StartupCamp Bratislava #29 - Manage Strategy toolStartupCamp Bratislava #29 - Manage Strategy tool
StartupCamp Bratislava #29 - Manage Strategy tool
 

Mais de Andy Brandt

Samozarzadzanie - Produkt nad Wisłą
Samozarzadzanie - Produkt nad WisłąSamozarzadzanie - Produkt nad Wisłą
Samozarzadzanie - Produkt nad WisłąAndy Brandt
 
Uważaj! Możesz urosnąć!
Uważaj! Możesz urosnąć!Uważaj! Możesz urosnąć!
Uważaj! Możesz urosnąć!Andy Brandt
 
Agile - 5 points for managers
Agile - 5 points for managersAgile - 5 points for managers
Agile - 5 points for managersAndy Brandt
 
Skalowanie Agile dla ALE Krakow
Skalowanie Agile dla ALE KrakowSkalowanie Agile dla ALE Krakow
Skalowanie Agile dla ALE KrakowAndy Brandt
 
Prezentacje z Agile Update listopad 2014
Prezentacje z Agile Update listopad 2014Prezentacje z Agile Update listopad 2014
Prezentacje z Agile Update listopad 2014Andy Brandt
 
Wymagania - cele, funkcjonalność, rozwiązania
Wymagania - cele, funkcjonalność, rozwiązaniaWymagania - cele, funkcjonalność, rozwiązania
Wymagania - cele, funkcjonalność, rozwiązaniaAndy Brandt
 
Startup Offshoring from StartupCamp Switzerland 2014
Startup Offshoring from StartupCamp Switzerland 2014Startup Offshoring from StartupCamp Switzerland 2014
Startup Offshoring from StartupCamp Switzerland 2014Andy Brandt
 
Skalowanie Agile
Skalowanie AgileSkalowanie Agile
Skalowanie AgileAndy Brandt
 
Agile introduction for the American Chamber of Commerce members
Agile introduction for the American Chamber of Commerce membersAgile introduction for the American Chamber of Commerce members
Agile introduction for the American Chamber of Commerce membersAndy Brandt
 
Agile company pl
Agile company plAgile company pl
Agile company plAndy Brandt
 
Zwinne metodyki w zarządzaniu
Zwinne metodyki w zarządzaniuZwinne metodyki w zarządzaniu
Zwinne metodyki w zarządzaniuAndy Brandt
 

Mais de Andy Brandt (12)

Samozarzadzanie - Produkt nad Wisłą
Samozarzadzanie - Produkt nad WisłąSamozarzadzanie - Produkt nad Wisłą
Samozarzadzanie - Produkt nad Wisłą
 
Uważaj! Możesz urosnąć!
Uważaj! Możesz urosnąć!Uważaj! Możesz urosnąć!
Uważaj! Możesz urosnąć!
 
Agile - 5 points for managers
Agile - 5 points for managersAgile - 5 points for managers
Agile - 5 points for managers
 
Skalowanie Agile dla ALE Krakow
Skalowanie Agile dla ALE KrakowSkalowanie Agile dla ALE Krakow
Skalowanie Agile dla ALE Krakow
 
Prezentacje z Agile Update listopad 2014
Prezentacje z Agile Update listopad 2014Prezentacje z Agile Update listopad 2014
Prezentacje z Agile Update listopad 2014
 
Wymagania - cele, funkcjonalność, rozwiązania
Wymagania - cele, funkcjonalność, rozwiązaniaWymagania - cele, funkcjonalność, rozwiązania
Wymagania - cele, funkcjonalność, rozwiązania
 
Startup Offshoring from StartupCamp Switzerland 2014
Startup Offshoring from StartupCamp Switzerland 2014Startup Offshoring from StartupCamp Switzerland 2014
Startup Offshoring from StartupCamp Switzerland 2014
 
Skalowanie Agile
Skalowanie AgileSkalowanie Agile
Skalowanie Agile
 
Agile introduction for the American Chamber of Commerce members
Agile introduction for the American Chamber of Commerce membersAgile introduction for the American Chamber of Commerce members
Agile introduction for the American Chamber of Commerce members
 
Agile company pl
Agile company plAgile company pl
Agile company pl
 
Agile managers
Agile managersAgile managers
Agile managers
 
Zwinne metodyki w zarządzaniu
Zwinne metodyki w zarządzaniuZwinne metodyki w zarządzaniu
Zwinne metodyki w zarządzaniu
 

Último

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Último (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

User stories and decomposing requirements

  • 2. WHAT IS A USER STORY? • A REGULAR STORY IS ABOUT SOME PERSONS, THEY ARE IN A SITUATION, SOMETHING HAPPENS THAT IS INTERESTING, THEN THERE IS AN OUTCOME AND AN END • SOMETIMES THERE IS A MORAL OR SOME RATIONALE FOR IT ALL • USER STORIES ARE STORIES ABOUT A USER OF OUR PRODUCT. THERE IS A SITUATION, THE USER DOES SOMETHING AND THE PRODUCT RESPONDS GIVING THE USER SOME RESULT (HOPEFULLY OF VALUE FOR THE USER)
  • 3. WHAT IS A USER STORY? • A USER’S NEED • A PLANNING ITEM • A REQUIREMENT • A (CHUNK OF) PRODUCT DESCRIPTION • A COMMUNICATION TOOL • A DISCUSSION OPENER
  • 4. USER STORY FORMATS FOCUS ON THE BUSINESS GOAL •TITLE •IN ORDER TO <BUSINESS GOAL> •AS <A ROLE> •I WANT <FUNCTIONALITY>
  • 5. USER STORY FORMATS FOCUS ON THE ROLE •TITLE •AS <A ROLE> •IN ORDER TO <BUSINESS GOAL> •I WANT <FUNCTIONALITY>
  • 6. WHY USER STORIES? • USER STORIES PROMOTE TRANSPARENCY BEING INTUITIVELY UNDERSTANDABLE FOR ALL INVOLVED (USUALLY ALSO FOR STAKEHOLDERS) • HELP FOCUS ON THE USER AND VALUABLE BUSINESS OUTCOMES • HELP START DISCUSSIONS – BUT ALSO HELP CAPTURE THEIR OUTCOMES
  • 7. GWT – GIVEN WHEN THEN • “GIVEN-WHEN-THEN” – PART OF THE BDD APPROACH, GAINING POPULARITY AS ACCEPTANCE TESTING SO FORMULATED REQUIREMENTS CAN BE AUTOMATED (JBEHAVE, RSPEC, CUCUMBER ETC.). • ALSO USEFUL WITHOUT BDD&TOOLS FOR DESCRIBING REQUIREMENTS FOR SYSTEMS WITHOUT HUMAN USERS WHICH USUALLY ARE STATE MACHINES RESPONDING TO EXTERNAL EVENTS
  • 8. GIVEN WHEN THEN DETAILS • STRUCTURE: • GIVEN <INITIAL CONTEXT> • WHEN <ACTION / EVENT> • THEN <OUTCOME> • EXAMPLE: • GIVEN I AM A PREMIUM USER AND I HAVE A HOTEL RESERVATION • WHEN I CANCEL IT UP TO 4 DAYS BEFORE TRAVELING • THEN I GET FULL REFUND
  • 9. TYPES OF LARGE STORIES • COMPOUND STORIES - USUALLY MADE UP OF SEVERAL SMALLER STORIES • COMPLEX STORIES - USUALLY INHERENTLY LARGE STORIES, OFTEN BECAUSE THERE IS SOME UNCERTAINTY ABOUT WHAT NEEDS TO BE DONE.
  • 10. BREAKING DOWN USER STORIES • CRUD – CREATE, READ, UPDATE, DELETE • ACCEPTANCE CRITERIA – SEPARATELY POSITIVE SCENARIO, NEGATIVE SCENARIO, EXCEPTIONS ETC. • DECISION TREES – CONSIDER, THEN IMPLEMENT BRANCHES • WORKFLOW STEPS – WORKFLOW SEQUENCE ONE BY ONE • NONE, ONE, MANY – CONSIDER SEPARATELY SIZES • EXTERNAL (INCREMENTAL) QUALITY – GRADUALLY IMPROVE UI, PERFORMANCE ETC. • “SPIKES” – TIME-BOXED EXPLORATION
  • 11. SOURCES • “GROWING AGILE” – BLOG POST ABOUT BREAKING DOWN REQUIREMENTS • HTTP://GROWINGAGILE.CO.ZA/2012/12/BREAKING-DOWN-USER- STORIES/ • “PATTERNS FOR SPLITTING USER STORIES” – RICHARD LAWRENCE • HTTP://WWW.RICHARDLAWRENCE.INFO/2009/10/28/PATTERNS- FOR-SPLITTING-USER-STORIES/ • “USER STORIES APPLIED” – MIKE COHN, 2004 ISBN 978-0321205681

Notas do Editor

  1. The last sentence is just an opinion/suggestion. I think when dealing with systems like eg. routers, transaction systems or some SCADA systems where there are no human users specifying reqs as user stories feels awkward and doesn’t help in testing. GWT is a better idea there, though it can of course be used with all kinds of systems.