SlideShare a Scribd company logo
1 of 79
Download to read offline
Agile Analysis with Use Cases
        Balancing Simplicity with Utility




Presented by Ted Husted
NimbleUser
twitter.com/TedHusted
How is Pong like a Use Case?
How do we play use case?
1. System sends puck toward player.
2. Player moves paddle to meet puck.
3. Puck misses paddle.
4. System increments score for other player.
5. System resets acceleration factor.
6. Round repeats for other player.
How do we play use case?
1. System sends puck toward player.
2. Player moves paddle to meet puck.
3. Puck misses paddle.
4. System increments score for other player.
5. System resets acceleration factor.
6. Round repeats for other player.
How do we play use case?
1. System sends puck toward player.
2. Player moves paddle to meet puck.
3. Puck misses paddle.
4. System increments score for other player.
5. System resets acceleration factor.
6. Round repeats for other player.
How do we play use case?
1. System sends puck toward player.
2. Player moves paddle to meet puck.
3. Puck misses paddle.
4. System increments score for other player.
5. System resets acceleration factor.
6. Round repeats for other player.
How do we play use case?
1. System sends puck toward player.
2. Player moves paddle to meet puck.
3. Puck misses paddle.
4. System increments score for other player.
5. System resets acceleration factor.
6. Round repeats for other player.
How do we play use case?
1. System sends puck toward player.
2. Player moves paddle to meet puck.
3. Puck misses paddle.
4. System increments score for other player.
5. System resets acceleration factor.
6. Round repeats for other player.
How do we play use case?
1. System sends puck toward player.
2. Player moves paddle to meet puck.
3. Puck misses paddle.
4. System increments score for other player.
5. System resets acceleration factor.
6. Round repeats for other player.
Is that all there is?
2a Puck trajectory is too steep
2b Puck angles for a corner shot
3a Player returns puck
3b Puck intersects center segment
3c Puck intersects outer segment
5a Player wins
Is that all there is?
2a Puck trajectory is too steep
2b Puck angles for a corner shot
3a Player returns puck
3b Puck intersects center segment
3c Puck intersects outer segment
5a Player wins
Is that all there is?
2a Puck trajectory is too steep
2b Puck angles for a corner shot
3a Player returns puck
3b Puck intersects center segment
3c Puck intersects outer segment
5a Player wins
Is that all there is?
2a Puck trajectory is too steep
2b Puck angles for a corner shot
3a Player returns puck
3b Puck intersects center segment
3c Puck intersects outer segment
5a Player wins
Is that all there is?
2a Puck trajectory is too steep
2b Puck angles for a corner shot
3a Player returns puck
3b Puck intersects center segment
3c Puck intersects outer segment
5a Player wins
Is that all there is?
2a Puck trajectory is too steep
2b Puck angles for a corner shot
3a Player returns puck
3b Puck intersects center segment
3c Puck intersects outer segment
5a Player wins
How do we win?
2a Puck trajectory is too steep
2b Puck angles for a corner shot
3a Player returns puck
3b Puck intersects center segment
3c Puck intersects outer segment
5a Player wins
How do we win?
2a Puck trajectory is too steep
2b Puck angles for a corner shot
3a Player returns puck
3b Puck intersects center segment
3c Puck intersects outer segment
5a Player wins
1. Score exceeds the maximum number of points.
2. System presents game over banner.
3. End.
What about diagrams?
How is a user story different?
What’s wrong with this story?
Pong is a two-dimensional sports game which
simulates table tennis.
The player controls an in-game paddle by moving it
vertically across the left side of the screen, and can
compete against either a computer controlled opponent
or another player controlling a second paddle on the
opposing side.
Players use the paddles to hit a ball back and forth.
The aim is for a player to earn more points than the
opponent; points are earned when one fails to return the
ball to the other.
What’s wrong with this story?
Pong is a two-dimensional sports game which simulates
table tennis.
The player controls an in-game paddle by moving it
vertically across the left side of the screen, and can
compete against either a computer controlled opponent
or another player controlling a second paddle on the
opposing side.
Players use the paddles to hit a ball back and forth.
The aim is for a player to earn more points than the
opponent; points are earned when one fails to return the
ball to the other.
What’s wrong with this story?
Pong is a two-dimensional sports game which simulates
table tennis.
The player controls an in-game paddle by moving it
vertically across the left side of the screen, and can
compete against either a computer controlled opponent
or another player controlling a second paddle on the
opposing side.
Players use the paddles to hit a ball back and forth.
The aim is for a player to earn more points than the
opponent; points are earned when one fails to return the
ball to the other.
What’s wrong with this story?
Pong is a two-dimensional sports game which simulates
table tennis.
The player controls an in-game paddle by moving it
vertically across the left side of the screen, and can
compete against either a computer controlled opponent
or another player controlling a second paddle on the
opposing side.
Players use the paddles to hit a ball back and forth.
The aim is for a player to earn more points than the
opponent; points are earned when one fails to return the
ball to the other.
What can go wrong with this story?
Agile Analysis with Use Cases
  A mainstay of conventional requirements
  gathering, use cases can ease the
  transition to agile methodologies.
  In this practical program, we explore:
    how to write uses cases
    how to adapt uses cases to agile projects
    how to automate acceptance testing with use
    cases
What’s our agenda?
About Ted Husted
  Co-author of JUnit in Action (1st Edition)
  Speaker at Ajax Experience, ApacheCon
  Business Analyst, NimbleUser
  Member, International Institute for
  Business Analysis (IIBA)
  Executive VP, Rochester NY IIBA
  twitter.com/TedHusted
Do you take questions?




Slides Available at slideshare.net / ted.husted
How to write use cases
               The
Why, What, Where, When, Who, and
             How
           of use cases
Why? Actors Interact
Why? Change Happens
Why? Systems Adapt
What? Main Scenario
What? Main Scenario

First Draft                  Second Draft
 1. System sends puck        1. System sends puck
    toward player.              toward player.
 2. Player moves paddle to   2. Player moves paddle to
    meet puck.                  meet puck.
 3. Puck intersects paddle   3. Puck misses paddle.
 4. …                        4. …
What? Extensions
What? Annotations
What? Annotations
What? Annotations
1a Browser does not provide cookie
1. System redirects to login page and passes
   original URL through a parameter
2. System authenticates user (UC-4)
3. Return at Step 1
What? Annotations
1a Browser does not provide cookie
1. System redirects to login page and passes
   original URL through a parameter
2. System authenticates user (UC-4)
3. Return at Step 1
What? Annotations
1a Browser does not provide cookie
1. System redirects to login page and passes
   original URL through a parameter
     https://www.domain.org/sso/Signon.aspx?redirectUrl=default.aspx

2. System authenticates user (UC-4)
3. Return at Step 1
What? Annotations
Extensions
  1a Browser does not provide cookie
  1. System redirects to login page and passes
     original URL through a parameter
  2. System authenticates user (UC-4)
  3. Return at Step 1
Annotations
    1a1 Example URL: https://www.domain.org/sso/Signon.aspx?
    redirectUrl=default.aspx
Where? Can use cases do it all?
Where? Requirements Outline
1. Vision and Scope Document
2. Use Cases
3. Software Requirements Specification
4. Business Rules
Where? Requirements Outline
1. Findings
2. Requirements
3. Use Cases
4. Technical Specification
When? Requirements Analysis
When? Organize and Allocate
Who? You …
Who? Them …
Who? Us!
How? Use Case Workflow
1. Identify the actors
2. Identify the use cases
3. Identify actor/use case relationships
4. Outline use cases
5. Refine use cases
How? Use Case Workflow
1. Identify the actors
2. Identify the use cases
3. Identify actor/use case relationships
4. Outline use cases
5. Refine use cases
How? Use Case Workflow
1. Identify the actors
2. Identify the use cases
3. Identify actor/use case relationships
4. Outline use cases
5. Refine use cases
How? Use Case Workflow
1. Identify the actors
2. Identify the use cases
3. Identify actor/use case relationships
4. Outline use cases
5. Refine use cases
How? Use Case Workflow
1. Identify the actors
2. Identify the use cases
3. Identify actor/use case relationships
4. Outline use cases
5. Refine use cases
How? Use Case Workflow
1. Identify the actors
2. Identify the use cases
3. Identify actor/use case relationships
4. Outline use cases
5. Refine use cases
How? Use Case Template
1. Name                1. Pre-conditions
2. Brief description   2. Post-conditions
3. Actors              3. Other stakeholders
4. Main Scenario       4. System/sub-system
5. Extensions          5. Special requirements
How? Use Case Template
1. Name                1. Pre-conditions
2. Brief description   2. Post-conditions
3. Actors              3. Other stakeholders
4. Main Scenario       4. System/sub-system
5. Extensions          5. Special requirements
How? Right-size templates
             1.   Name
             2.   Brief description
             3.   Actors
             4.   Main Scenario
             5.   Extensions
             6.   Pre-conditions
             7.   Post-Conditions
             8.   Other stakeholders
             9.   System/sub-system
            10.   Special requirements
Adapt?
Adapt? Agile
Adapt? Agile
Adapt? Backlog
1. Name                1. Pre-conditions
2. Brief description   2. Post-conditions
3. Actors              3. Other stakeholders
4. Main Scenario       4. System/sub-system
5. Extensions          5. Special requirements
Adapt? Iteration Planning
1. Name                1. Pre-conditions
2. Brief description   2. Post-conditions
3. Actors              3. Other stakeholders
4. Main Scenario       4. System/sub-system
5. Extensions          5. Special requirements
Agile? Backlog Pruning
1. Name                1. Pre-conditions
2. Brief description   2. Post-conditions
3. Actors              3. Other stakeholders
4. Main Scenario       4. System/sub-system
5. Extensions          5. Special requirements
Agile? Epic Iteration
1. Name                1. Pre-conditions
2. Brief description   2. Post-conditions
3. Actors              3. Other stakeholders
4. Main Scenario       4. System/sub-system
5. Extensions          5. Special requirements
Adapt? Training Materials
Adapt? Quality Assurance
Adapt? Testing
Open Signin Page
  Signin page: http://domain.org/sso/
Enter credentials
  Username: mg
  Password: va123123
Process Succeeds
  System Creates Cookie
System Redirects
Adapt? Testing
Open Signin Page
  Signin page: http://domain.org/sso/
Enter credentials
  Username: mg
  Password: va123123
Process Succeeds
  System Creates Cookie
System Redirects
Adapt? Testing
Open Signin Page
  Signin page: http://domain.org/sso/
Enter credentials
  Username: mg
  Password: va123123
Process Succeeds
  System Creates Cookie
System Redirects
Adapt? Testing
Open Signin Page
  Signin page: http://domain.org/sso/
Enter credentials
  Username: mg
  Password: va123123
Process Succeeds
  System Creates Cookie
System Redirects
Adapt? Testing
Open Signin Page
  Signin page: http://domain.org/sso/
Enter credentials
  Username: mg
  Password: va123123
Process Succeeds
  System Creates Cookie
System Redirects
Automate?
Automate? Testing
Automate? Testing
Adapt? Testing




http://seleniumhq.org/
Resources




http://www.rose-hulman.edu/class/csse/csse371/csse371-2007-2008/Lectures/usecases.ppt
Any questions?




Slides Available at slideshare.net / ted.husted
Inventor of Pong, Alan Alcorn




                                                               Disclaimer
Use cases and Pong can both make you cross-eyed
                                                     Alan Alcorn is not Ted’s cousin,
                                                         but he did invent Pong,
                                                  though without the help of use cases.

More Related Content

Similar to Agile Analysis with Use Cases: Balancing Utility with Simplicity

Game design document template for serious games
Game design document template for serious gamesGame design document template for serious games
Game design document template for serious gamesAntoine Taly
 
Create Tabletop Games to Foster Organizational Learning
Create Tabletop Games to Foster Organizational LearningCreate Tabletop Games to Foster Organizational Learning
Create Tabletop Games to Foster Organizational LearningKarl Kapp
 
University of Cincinnati Badminton Club Practice Session Simulation
 University of Cincinnati Badminton Club Practice Session Simulation University of Cincinnati Badminton Club Practice Session Simulation
University of Cincinnati Badminton Club Practice Session SimulationSarita Maharia
 
[HCM Scrum Breakfast] Agile estimation - Story points
[HCM Scrum Breakfast] Agile estimation - Story points[HCM Scrum Breakfast] Agile estimation - Story points
[HCM Scrum Breakfast] Agile estimation - Story pointsScrum Breakfast Vietnam
 
Casual Game Design: Designing Play for the Gamer in All of Us
Casual Game Design: Designing Play for the Gamer in All of UsCasual Game Design: Designing Play for the Gamer in All of Us
Casual Game Design: Designing Play for the Gamer in All of UsGreg Trefry
 
Digital Dragons 2023 (1).pdf
Digital Dragons 2023 (1).pdfDigital Dragons 2023 (1).pdf
Digital Dragons 2023 (1).pdfMarta Fijak
 
Appendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docx
Appendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docxAppendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docx
Appendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docxlisandrai1k
 
BISY2003 Object Oriented Programming.docx
BISY2003 Object Oriented Programming.docxBISY2003 Object Oriented Programming.docx
BISY2003 Object Oriented Programming.docxstudywriters
 
LAFS Game Design 1 - Structural Elements
LAFS Game Design 1 - Structural ElementsLAFS Game Design 1 - Structural Elements
LAFS Game Design 1 - Structural ElementsDavid Mullich
 
Your Game Analytics Playbook
Your Game Analytics PlaybookYour Game Analytics Playbook
Your Game Analytics PlaybookGameAnalytics
 
Ball Point Game: Self-organizing Your Flow of Work
Ball Point Game: Self-organizing Your Flow of WorkBall Point Game: Self-organizing Your Flow of Work
Ball Point Game: Self-organizing Your Flow of WorkMark Grove
 
Play to Learn: Effective Learning Game Design
Play to Learn: Effective Learning Game DesignPlay to Learn: Effective Learning Game Design
Play to Learn: Effective Learning Game DesignSharon Boller
 
How to Design Effective Learning Games: Sharon Boller and Karl Kapp
How to Design Effective Learning Games: Sharon Boller and Karl KappHow to Design Effective Learning Games: Sharon Boller and Karl Kapp
How to Design Effective Learning Games: Sharon Boller and Karl KappSharon Boller
 
Thesis Presentation - Jorge Montolio
Thesis Presentation - Jorge MontolioThesis Presentation - Jorge Montolio
Thesis Presentation - Jorge MontolioJorge Montolio Conde
 
The jellokaraboosqaud assignment3_0715
The jellokaraboosqaud assignment3_0715The jellokaraboosqaud assignment3_0715
The jellokaraboosqaud assignment3_0715Aaron Christian
 

Similar to Agile Analysis with Use Cases: Balancing Utility with Simplicity (20)

MASTERS_THESIS_PDF
MASTERS_THESIS_PDFMASTERS_THESIS_PDF
MASTERS_THESIS_PDF
 
Game design document template for serious games
Game design document template for serious gamesGame design document template for serious games
Game design document template for serious games
 
Lineup Efficiency
Lineup EfficiencyLineup Efficiency
Lineup Efficiency
 
Segap project(lncs)
Segap project(lncs)Segap project(lncs)
Segap project(lncs)
 
Create Tabletop Games to Foster Organizational Learning
Create Tabletop Games to Foster Organizational LearningCreate Tabletop Games to Foster Organizational Learning
Create Tabletop Games to Foster Organizational Learning
 
University of Cincinnati Badminton Club Practice Session Simulation
 University of Cincinnati Badminton Club Practice Session Simulation University of Cincinnati Badminton Club Practice Session Simulation
University of Cincinnati Badminton Club Practice Session Simulation
 
[HCM Scrum Breakfast] Agile estimation - Story points
[HCM Scrum Breakfast] Agile estimation - Story points[HCM Scrum Breakfast] Agile estimation - Story points
[HCM Scrum Breakfast] Agile estimation - Story points
 
Casual Game Design: Designing Play for the Gamer in All of Us
Casual Game Design: Designing Play for the Gamer in All of UsCasual Game Design: Designing Play for the Gamer in All of Us
Casual Game Design: Designing Play for the Gamer in All of Us
 
PHP games
PHP gamesPHP games
PHP games
 
Digital Dragons 2023 (1).pdf
Digital Dragons 2023 (1).pdfDigital Dragons 2023 (1).pdf
Digital Dragons 2023 (1).pdf
 
Appendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docx
Appendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docxAppendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docx
Appendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docx
 
BISY2003 Object Oriented Programming.docx
BISY2003 Object Oriented Programming.docxBISY2003 Object Oriented Programming.docx
BISY2003 Object Oriented Programming.docx
 
Hawk-Eye System
Hawk-Eye SystemHawk-Eye System
Hawk-Eye System
 
LAFS Game Design 1 - Structural Elements
LAFS Game Design 1 - Structural ElementsLAFS Game Design 1 - Structural Elements
LAFS Game Design 1 - Structural Elements
 
Your Game Analytics Playbook
Your Game Analytics PlaybookYour Game Analytics Playbook
Your Game Analytics Playbook
 
Ball Point Game: Self-organizing Your Flow of Work
Ball Point Game: Self-organizing Your Flow of WorkBall Point Game: Self-organizing Your Flow of Work
Ball Point Game: Self-organizing Your Flow of Work
 
Play to Learn: Effective Learning Game Design
Play to Learn: Effective Learning Game DesignPlay to Learn: Effective Learning Game Design
Play to Learn: Effective Learning Game Design
 
How to Design Effective Learning Games: Sharon Boller and Karl Kapp
How to Design Effective Learning Games: Sharon Boller and Karl KappHow to Design Effective Learning Games: Sharon Boller and Karl Kapp
How to Design Effective Learning Games: Sharon Boller and Karl Kapp
 
Thesis Presentation - Jorge Montolio
Thesis Presentation - Jorge MontolioThesis Presentation - Jorge Montolio
Thesis Presentation - Jorge Montolio
 
The jellokaraboosqaud assignment3_0715
The jellokaraboosqaud assignment3_0715The jellokaraboosqaud assignment3_0715
The jellokaraboosqaud assignment3_0715
 

More from Ted Husted

.NET @ apache.org
 .NET @ apache.org .NET @ apache.org
.NET @ apache.orgTed Husted
 
The secret life_of_open_source
The secret life_of_open_sourceThe secret life_of_open_source
The secret life_of_open_sourceTed Husted
 
Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Ted Husted
 
NU FaceBook 101 JCC 2010
NU  FaceBook 101 JCC 2010NU  FaceBook 101 JCC 2010
NU FaceBook 101 JCC 2010Ted Husted
 
Developing java Web Applications Using Google Apps RJUG 2011
Developing java Web Applications Using Google Apps RJUG 2011Developing java Web Applications Using Google Apps RJUG 2011
Developing java Web Applications Using Google Apps RJUG 2011Ted Husted
 
Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Ted Husted
 
Drupal kickstart-workshop
Drupal kickstart-workshopDrupal kickstart-workshop
Drupal kickstart-workshopTed Husted
 
Open source-secret-sauce-rit-2010
Open source-secret-sauce-rit-2010Open source-secret-sauce-rit-2010
Open source-secret-sauce-rit-2010Ted Husted
 
Testing Web Application Security
Testing Web Application SecurityTesting Web Application Security
Testing Web Application SecurityTed Husted
 
API Doc Smackdown
API Doc SmackdownAPI Doc Smackdown
API Doc SmackdownTed Husted
 
Testing The Testers
Testing The TestersTesting The Testers
Testing The TestersTed Husted
 
Testing Ajax Applications
Testing Ajax ApplicationsTesting Ajax Applications
Testing Ajax ApplicationsTed Husted
 
Testing Ajax Web Applications
Testing Ajax Web ApplicationsTesting Ajax Web Applications
Testing Ajax Web ApplicationsTed Husted
 
Open Source Secret Sauce
Open Source Secret SauceOpen Source Secret Sauce
Open Source Secret SauceTed Husted
 

More from Ted Husted (19)

Ship It!
Ship It!Ship It!
Ship It!
 
.NET @ apache.org
 .NET @ apache.org .NET @ apache.org
.NET @ apache.org
 
The secret life_of_open_source
The secret life_of_open_sourceThe secret life_of_open_source
The secret life_of_open_source
 
Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011
 
NU FaceBook 101 JCC 2010
NU  FaceBook 101 JCC 2010NU  FaceBook 101 JCC 2010
NU FaceBook 101 JCC 2010
 
Developing java Web Applications Using Google Apps RJUG 2011
Developing java Web Applications Using Google Apps RJUG 2011Developing java Web Applications Using Google Apps RJUG 2011
Developing java Web Applications Using Google Apps RJUG 2011
 
Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010
 
Drupal kickstart-workshop
Drupal kickstart-workshopDrupal kickstart-workshop
Drupal kickstart-workshop
 
Open source-secret-sauce-rit-2010
Open source-secret-sauce-rit-2010Open source-secret-sauce-rit-2010
Open source-secret-sauce-rit-2010
 
Testing Web Application Security
Testing Web Application SecurityTesting Web Application Security
Testing Web Application Security
 
API Doc Smackdown
API Doc SmackdownAPI Doc Smackdown
API Doc Smackdown
 
Testing The Testers
Testing The TestersTesting The Testers
Testing The Testers
 
Testing Ajax Applications
Testing Ajax ApplicationsTesting Ajax Applications
Testing Ajax Applications
 
Testing Ajax Web Applications
Testing Ajax Web ApplicationsTesting Ajax Web Applications
Testing Ajax Web Applications
 
Testing Tools
Testing ToolsTesting Tools
Testing Tools
 
Coding Ajax
Coding AjaxCoding Ajax
Coding Ajax
 
Coding Ajax
Coding AjaxCoding Ajax
Coding Ajax
 
Retrofitting
RetrofittingRetrofitting
Retrofitting
 
Open Source Secret Sauce
Open Source Secret SauceOpen Source Secret Sauce
Open Source Secret Sauce
 

Recently uploaded

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
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
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"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
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 

Recently uploaded (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
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
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"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
 
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)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 

Agile Analysis with Use Cases: Balancing Utility with Simplicity

  • 1. Agile Analysis with Use Cases Balancing Simplicity with Utility Presented by Ted Husted NimbleUser twitter.com/TedHusted
  • 2. How is Pong like a Use Case?
  • 3. How do we play use case? 1. System sends puck toward player. 2. Player moves paddle to meet puck. 3. Puck misses paddle. 4. System increments score for other player. 5. System resets acceleration factor. 6. Round repeats for other player.
  • 4. How do we play use case? 1. System sends puck toward player. 2. Player moves paddle to meet puck. 3. Puck misses paddle. 4. System increments score for other player. 5. System resets acceleration factor. 6. Round repeats for other player.
  • 5. How do we play use case? 1. System sends puck toward player. 2. Player moves paddle to meet puck. 3. Puck misses paddle. 4. System increments score for other player. 5. System resets acceleration factor. 6. Round repeats for other player.
  • 6. How do we play use case? 1. System sends puck toward player. 2. Player moves paddle to meet puck. 3. Puck misses paddle. 4. System increments score for other player. 5. System resets acceleration factor. 6. Round repeats for other player.
  • 7. How do we play use case? 1. System sends puck toward player. 2. Player moves paddle to meet puck. 3. Puck misses paddle. 4. System increments score for other player. 5. System resets acceleration factor. 6. Round repeats for other player.
  • 8. How do we play use case? 1. System sends puck toward player. 2. Player moves paddle to meet puck. 3. Puck misses paddle. 4. System increments score for other player. 5. System resets acceleration factor. 6. Round repeats for other player.
  • 9. How do we play use case? 1. System sends puck toward player. 2. Player moves paddle to meet puck. 3. Puck misses paddle. 4. System increments score for other player. 5. System resets acceleration factor. 6. Round repeats for other player.
  • 10. Is that all there is? 2a Puck trajectory is too steep 2b Puck angles for a corner shot 3a Player returns puck 3b Puck intersects center segment 3c Puck intersects outer segment 5a Player wins
  • 11. Is that all there is? 2a Puck trajectory is too steep 2b Puck angles for a corner shot 3a Player returns puck 3b Puck intersects center segment 3c Puck intersects outer segment 5a Player wins
  • 12. Is that all there is? 2a Puck trajectory is too steep 2b Puck angles for a corner shot 3a Player returns puck 3b Puck intersects center segment 3c Puck intersects outer segment 5a Player wins
  • 13. Is that all there is? 2a Puck trajectory is too steep 2b Puck angles for a corner shot 3a Player returns puck 3b Puck intersects center segment 3c Puck intersects outer segment 5a Player wins
  • 14. Is that all there is? 2a Puck trajectory is too steep 2b Puck angles for a corner shot 3a Player returns puck 3b Puck intersects center segment 3c Puck intersects outer segment 5a Player wins
  • 15. Is that all there is? 2a Puck trajectory is too steep 2b Puck angles for a corner shot 3a Player returns puck 3b Puck intersects center segment 3c Puck intersects outer segment 5a Player wins
  • 16. How do we win? 2a Puck trajectory is too steep 2b Puck angles for a corner shot 3a Player returns puck 3b Puck intersects center segment 3c Puck intersects outer segment 5a Player wins
  • 17. How do we win? 2a Puck trajectory is too steep 2b Puck angles for a corner shot 3a Player returns puck 3b Puck intersects center segment 3c Puck intersects outer segment 5a Player wins 1. Score exceeds the maximum number of points. 2. System presents game over banner. 3. End.
  • 19. How is a user story different?
  • 20. What’s wrong with this story? Pong is a two-dimensional sports game which simulates table tennis. The player controls an in-game paddle by moving it vertically across the left side of the screen, and can compete against either a computer controlled opponent or another player controlling a second paddle on the opposing side. Players use the paddles to hit a ball back and forth. The aim is for a player to earn more points than the opponent; points are earned when one fails to return the ball to the other.
  • 21. What’s wrong with this story? Pong is a two-dimensional sports game which simulates table tennis. The player controls an in-game paddle by moving it vertically across the left side of the screen, and can compete against either a computer controlled opponent or another player controlling a second paddle on the opposing side. Players use the paddles to hit a ball back and forth. The aim is for a player to earn more points than the opponent; points are earned when one fails to return the ball to the other.
  • 22. What’s wrong with this story? Pong is a two-dimensional sports game which simulates table tennis. The player controls an in-game paddle by moving it vertically across the left side of the screen, and can compete against either a computer controlled opponent or another player controlling a second paddle on the opposing side. Players use the paddles to hit a ball back and forth. The aim is for a player to earn more points than the opponent; points are earned when one fails to return the ball to the other.
  • 23. What’s wrong with this story? Pong is a two-dimensional sports game which simulates table tennis. The player controls an in-game paddle by moving it vertically across the left side of the screen, and can compete against either a computer controlled opponent or another player controlling a second paddle on the opposing side. Players use the paddles to hit a ball back and forth. The aim is for a player to earn more points than the opponent; points are earned when one fails to return the ball to the other.
  • 24. What can go wrong with this story?
  • 25. Agile Analysis with Use Cases A mainstay of conventional requirements gathering, use cases can ease the transition to agile methodologies. In this practical program, we explore: how to write uses cases how to adapt uses cases to agile projects how to automate acceptance testing with use cases
  • 27. About Ted Husted Co-author of JUnit in Action (1st Edition) Speaker at Ajax Experience, ApacheCon Business Analyst, NimbleUser Member, International Institute for Business Analysis (IIBA) Executive VP, Rochester NY IIBA twitter.com/TedHusted
  • 28. Do you take questions? Slides Available at slideshare.net / ted.husted
  • 29. How to write use cases The Why, What, Where, When, Who, and How of use cases
  • 34. What? Main Scenario First Draft Second Draft 1. System sends puck 1. System sends puck toward player. toward player. 2. Player moves paddle to 2. Player moves paddle to meet puck. meet puck. 3. Puck intersects paddle 3. Puck misses paddle. 4. … 4. …
  • 38. What? Annotations 1a Browser does not provide cookie 1. System redirects to login page and passes original URL through a parameter 2. System authenticates user (UC-4) 3. Return at Step 1
  • 39. What? Annotations 1a Browser does not provide cookie 1. System redirects to login page and passes original URL through a parameter 2. System authenticates user (UC-4) 3. Return at Step 1
  • 40. What? Annotations 1a Browser does not provide cookie 1. System redirects to login page and passes original URL through a parameter https://www.domain.org/sso/Signon.aspx?redirectUrl=default.aspx 2. System authenticates user (UC-4) 3. Return at Step 1
  • 41. What? Annotations Extensions 1a Browser does not provide cookie 1. System redirects to login page and passes original URL through a parameter 2. System authenticates user (UC-4) 3. Return at Step 1 Annotations 1a1 Example URL: https://www.domain.org/sso/Signon.aspx? redirectUrl=default.aspx
  • 42. Where? Can use cases do it all?
  • 43. Where? Requirements Outline 1. Vision and Scope Document 2. Use Cases 3. Software Requirements Specification 4. Business Rules
  • 44. Where? Requirements Outline 1. Findings 2. Requirements 3. Use Cases 4. Technical Specification
  • 46. When? Organize and Allocate
  • 50. How? Use Case Workflow 1. Identify the actors 2. Identify the use cases 3. Identify actor/use case relationships 4. Outline use cases 5. Refine use cases
  • 51. How? Use Case Workflow 1. Identify the actors 2. Identify the use cases 3. Identify actor/use case relationships 4. Outline use cases 5. Refine use cases
  • 52. How? Use Case Workflow 1. Identify the actors 2. Identify the use cases 3. Identify actor/use case relationships 4. Outline use cases 5. Refine use cases
  • 53. How? Use Case Workflow 1. Identify the actors 2. Identify the use cases 3. Identify actor/use case relationships 4. Outline use cases 5. Refine use cases
  • 54. How? Use Case Workflow 1. Identify the actors 2. Identify the use cases 3. Identify actor/use case relationships 4. Outline use cases 5. Refine use cases
  • 55. How? Use Case Workflow 1. Identify the actors 2. Identify the use cases 3. Identify actor/use case relationships 4. Outline use cases 5. Refine use cases
  • 56. How? Use Case Template 1. Name 1. Pre-conditions 2. Brief description 2. Post-conditions 3. Actors 3. Other stakeholders 4. Main Scenario 4. System/sub-system 5. Extensions 5. Special requirements
  • 57. How? Use Case Template 1. Name 1. Pre-conditions 2. Brief description 2. Post-conditions 3. Actors 3. Other stakeholders 4. Main Scenario 4. System/sub-system 5. Extensions 5. Special requirements
  • 58. How? Right-size templates 1. Name 2. Brief description 3. Actors 4. Main Scenario 5. Extensions 6. Pre-conditions 7. Post-Conditions 8. Other stakeholders 9. System/sub-system 10. Special requirements
  • 62. Adapt? Backlog 1. Name 1. Pre-conditions 2. Brief description 2. Post-conditions 3. Actors 3. Other stakeholders 4. Main Scenario 4. System/sub-system 5. Extensions 5. Special requirements
  • 63. Adapt? Iteration Planning 1. Name 1. Pre-conditions 2. Brief description 2. Post-conditions 3. Actors 3. Other stakeholders 4. Main Scenario 4. System/sub-system 5. Extensions 5. Special requirements
  • 64. Agile? Backlog Pruning 1. Name 1. Pre-conditions 2. Brief description 2. Post-conditions 3. Actors 3. Other stakeholders 4. Main Scenario 4. System/sub-system 5. Extensions 5. Special requirements
  • 65. Agile? Epic Iteration 1. Name 1. Pre-conditions 2. Brief description 2. Post-conditions 3. Actors 3. Other stakeholders 4. Main Scenario 4. System/sub-system 5. Extensions 5. Special requirements
  • 68. Adapt? Testing Open Signin Page Signin page: http://domain.org/sso/ Enter credentials Username: mg Password: va123123 Process Succeeds System Creates Cookie System Redirects
  • 69. Adapt? Testing Open Signin Page Signin page: http://domain.org/sso/ Enter credentials Username: mg Password: va123123 Process Succeeds System Creates Cookie System Redirects
  • 70. Adapt? Testing Open Signin Page Signin page: http://domain.org/sso/ Enter credentials Username: mg Password: va123123 Process Succeeds System Creates Cookie System Redirects
  • 71. Adapt? Testing Open Signin Page Signin page: http://domain.org/sso/ Enter credentials Username: mg Password: va123123 Process Succeeds System Creates Cookie System Redirects
  • 72. Adapt? Testing Open Signin Page Signin page: http://domain.org/sso/ Enter credentials Username: mg Password: va123123 Process Succeeds System Creates Cookie System Redirects
  • 78. Any questions? Slides Available at slideshare.net / ted.husted
  • 79. Inventor of Pong, Alan Alcorn Disclaimer Use cases and Pong can both make you cross-eyed Alan Alcorn is not Ted’s cousin, but he did invent Pong, though without the help of use cases.