SlideShare a Scribd company logo
Agile Analysis with Use Cases:  Balancing Utility with Simplicity May Program Guest Speaker: Ted Husted May 7, 2009 ROCHESTER, NY Chapter
Agenda 1. President’s Welcome and Chapter Update 2. Upcoming Programs 3. May Program with Guest Speaker Ted Husted © International Institute of Business Analysis™
Chapter Update 1.  Chapter Board of Director Elections 2.  Chapter Charter 3.  Chapter Membership 4.  Chapter's social networks to join 5.  Chapter Surveys  6.  Volunteer Opportunities Chapter Website:  rochesterny.theiiba.org © International Institute of Business Analysis™
Upcoming Programs Thursday, 6/4  – Chapter Launch Dinner Celebration and Special Guest Speaker Ernest Hicks on Effective Communication at Sanibel Cottage Thursday, 7/16 –  Summer Networking (i.e. – Happy Hour  ) at Pomodoro Grill Thursday, 8/13 –  Summer Networking at Pomodoro Grill Thursday, 9/24  – Requirements Management Lunch Program with Guest speaker David Walker from Borland at Sanibel Cottage   © International Institute of Business Analysis™
Upcoming Programs Thursday, 10/22  – Lunch event with Matt Smith from iRise at Sanibel Cottage Thursday, 11/19 –  Lunch event at Sanibel Cottage Thursday, 12/10 –  Holiday Party at Sanibel Cottage © International Institute of Business Analysis™
Agile Analysis with Use Cases Balancing Simplicity with Utility Presented by Ted Husted VanDamme Associates, Inc. twitter.com/TedHusted
How is Pong like a Use Case?
How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. 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?
Do you take questions? Slides Available at  slideshare.net  /  rochesterny.theiiba.org
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
First Draft System sends puck toward player. Player moves paddle to meet puck. Puck  intersects  paddle  … Second Draft System sends puck toward player. Player moves paddle to meet puck. Puck  misses  paddle. … What? Main Scenario
What? Extensions
What? Annotations
What? Annotations
What? Annotations 1a Browser does not provide cookie  System redirects to login page and passes original URL through a parameter System authenticates user (UC-4) Return at Step 1
What? Annotations 1a Browser does not provide cookie  System redirects to  login page  and passes original URL through a  parameter System authenticates user (UC-4) Return at Step 1
What? Annotations 1a Browser does not provide cookie  System redirects to login page and passes original URL through a parameter https:// www.domain.org/sso/ Signon.aspx ? redirectUrl = default.aspx System authenticates user (UC-4) Return at Step 1
What? Annotations Extensions 1a Browser does not provide cookie  System redirects to login page and passes original URL through a parameter System authenticates user (UC-4) 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  Vision and Scope Document Use Cases Software Requirements Specification Business Rules
Where? Requirements Outline  Findings Requirements Use Cases Technical Specification
When? Requirements Analysis
When? Organize and Allocate
Who? You …
Who? Them …
Who? Us!
How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
How? Use Case Template Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
How? Use Case Template Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
How? Right-size templates Name Brief description Actors Main Scenario Extensions Pre-conditions Post-Conditions Other stakeholders System/sub-system Special requirements
Adapt?
Adapt? Agile
Adapt? Backlog Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
Adapt? Iteration Planning Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
Agile? Backlog Pruning Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
Agile? Epic Iteration Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system 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  /  rochesterny.theiiba.org
About Ted Husted Co-author of JUnit in Action (1 st  Edition) Speaker at Ajax Experience, ApacheCon  Business Analyst, VanDamme Associates Member, International Institute for Business Analysis (IIBA) Executive VP Elect, Rochester NY IIBA twitter.com/TedHusted
Inventor of Pong, Alan Alcorn Disclaimer Alan Alcorn is not Ted’s cousin,  but he did invent Pong,  though without the help of use cases. Use cases and Pong can both make you cross-eyed
Thank you Ted! Next Chapter Meeting: June 4, 2009 with Ernest Hicks “ A speaker you don’t want to miss”

More Related Content

PDF
How Playstyles Evolve: Progression Analysis and Profiling in Just Cause 2
PDF
力のある情報系学生をうまく採用して欲しいのです
PDF
Agile Analysis with Use Cases: Balancing Utility with Simplicity
PDF
Lineup Efficiency
DOCX
The lost testreport_1115
PPTX
Systems Thinking with the Ball Point Game - A&B 2019
PDF
Digital Dragons 2023 (1).pdf
PPTX
Create Tabletop Games to Foster Organizational Learning
How Playstyles Evolve: Progression Analysis and Profiling in Just Cause 2
力のある情報系学生をうまく採用して欲しいのです
Agile Analysis with Use Cases: Balancing Utility with Simplicity
Lineup Efficiency
The lost testreport_1115
Systems Thinking with the Ball Point Game - A&B 2019
Digital Dragons 2023 (1).pdf
Create Tabletop Games to Foster Organizational Learning

Similar to Agile Use Cases: Balancing Utility with Simplicity - May 2009 (20)

DOCX
Phoenix Suns SportVU
DOCX
Phoenix Suns SportVU
PDF
Analysis on Attributes Deciding Cricket Winning
PDF
Aipapercpt
PDF
Coping with Verbal Abuse in Online Games
DOCX
Appendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docx
PPTX
Hawk-Eye System
PPTX
LAFS Game Mechanics - Information and Game Mechanics
DOCX
Ginyu force leelisa_week3assignment_0315 (1)
PPTX
LAFS Game Design 1 - Structural Elements
PDF
Play to Learn: Effective Learning Game Design
PDF
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PDF
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PDF
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PDF
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PDF
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PDF
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PPT
Effective Use Of Performance Analysis
DOCX
How to Allow Java Applets for physics labsWindows 7Ope.docx
PPTX
Casual Game Design: Designing Play for the Gamer in All of Us
Phoenix Suns SportVU
Phoenix Suns SportVU
Analysis on Attributes Deciding Cricket Winning
Aipapercpt
Coping with Verbal Abuse in Online Games
Appendix A Peer Review Feedback Form 1Reviewer’s Name _Date _.docx
Hawk-Eye System
LAFS Game Mechanics - Information and Game Mechanics
Ginyu force leelisa_week3assignment_0315 (1)
LAFS Game Design 1 - Structural Elements
Play to Learn: Effective Learning Game Design
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
PREDICTIVE MODELS FOR GAME OUTCOMES IN WOMEN’S LACROSSE
Effective Use Of Performance Analysis
How to Allow Java Applets for physics labsWindows 7Ope.docx
Casual Game Design: Designing Play for the Gamer in All of Us
Ad

More from IIBA Rochester NY (14)

PDF
Quality Starts with Requirements (Feb 2012, Patrick Martin)
PDF
Increasing the Perceived Value of Business Analysis Activities (Mar 2012, Lau...
PDF
Crucial Conversations - Sep 2011
PPT
IIBA Rochester NY Chapter Kickoff - Jan 2009
PDF
Requirements Manager Center of Excellence: “Achieving Goals Without Formaliz...
PDF
Communication Modeling for Personal and Professional Excellence - Jun 2009
PPTX
Generic IIBA Member Presentation
PPT
IIBA Study Group Orientation - Sep 2010
PDF
ITIL v3 Awareness - Jun 2010
PPT
IIBA Rochester NY General Meeting - Jun 2010
PDF
Moving Minds and Moving Code - Understanding, Exploring and Defining SMB Web...
PDF
Business Process Optimization - Jan 2010
PPT
IIBA Study Group Orientation - Dec 2009
PDF
Bringing Software Requirements to Life by David Walker (Micro Focus) - Sep 2009
Quality Starts with Requirements (Feb 2012, Patrick Martin)
Increasing the Perceived Value of Business Analysis Activities (Mar 2012, Lau...
Crucial Conversations - Sep 2011
IIBA Rochester NY Chapter Kickoff - Jan 2009
Requirements Manager Center of Excellence: “Achieving Goals Without Formaliz...
Communication Modeling for Personal and Professional Excellence - Jun 2009
Generic IIBA Member Presentation
IIBA Study Group Orientation - Sep 2010
ITIL v3 Awareness - Jun 2010
IIBA Rochester NY General Meeting - Jun 2010
Moving Minds and Moving Code - Understanding, Exploring and Defining SMB Web...
Business Process Optimization - Jan 2010
IIBA Study Group Orientation - Dec 2009
Bringing Software Requirements to Life by David Walker (Micro Focus) - Sep 2009
Ad

Recently uploaded (20)

PDF
Getting Started with Data Integration: FME Form 101
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
August Patch Tuesday
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
A Presentation on Touch Screen Technology
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Mushroom cultivation and it's methods.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
1. Introduction to Computer Programming.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Web App vs Mobile App What Should You Build First.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
Getting Started with Data Integration: FME Form 101
Hindi spoken digit analysis for native and non-native speakers
August Patch Tuesday
Univ-Connecticut-ChatGPT-Presentaion.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
A Presentation on Touch Screen Technology
NewMind AI Weekly Chronicles - August'25-Week II
Mushroom cultivation and it's methods.pdf
Unlocking AI with Model Context Protocol (MCP)
1. Introduction to Computer Programming.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Web App vs Mobile App What Should You Build First.pdf
Group 1 Presentation -Planning and Decision Making .pptx
cloud_computing_Infrastucture_as_cloud_p
Building Integrated photovoltaic BIPV_UPV.pdf
A comparative study of natural language inference in Swahili using monolingua...
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Heart disease approach using modified random forest and particle swarm optimi...

Agile Use Cases: Balancing Utility with Simplicity - May 2009

  • 1. Agile Analysis with Use Cases: Balancing Utility with Simplicity May Program Guest Speaker: Ted Husted May 7, 2009 ROCHESTER, NY Chapter
  • 2. Agenda 1. President’s Welcome and Chapter Update 2. Upcoming Programs 3. May Program with Guest Speaker Ted Husted © International Institute of Business Analysis™
  • 3. Chapter Update 1.  Chapter Board of Director Elections 2.  Chapter Charter 3.  Chapter Membership 4.  Chapter's social networks to join 5. Chapter Surveys 6.  Volunteer Opportunities Chapter Website: rochesterny.theiiba.org © International Institute of Business Analysis™
  • 4. Upcoming Programs Thursday, 6/4 – Chapter Launch Dinner Celebration and Special Guest Speaker Ernest Hicks on Effective Communication at Sanibel Cottage Thursday, 7/16 – Summer Networking (i.e. – Happy Hour  ) at Pomodoro Grill Thursday, 8/13 – Summer Networking at Pomodoro Grill Thursday, 9/24 – Requirements Management Lunch Program with Guest speaker David Walker from Borland at Sanibel Cottage   © International Institute of Business Analysis™
  • 5. Upcoming Programs Thursday, 10/22 – Lunch event with Matt Smith from iRise at Sanibel Cottage Thursday, 11/19 – Lunch event at Sanibel Cottage Thursday, 12/10 – Holiday Party at Sanibel Cottage © International Institute of Business Analysis™
  • 6. Agile Analysis with Use Cases Balancing Simplicity with Utility Presented by Ted Husted VanDamme Associates, Inc. twitter.com/TedHusted
  • 7. How is Pong like a Use Case?
  • 8. How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
  • 9. How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
  • 10. How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
  • 11. How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
  • 12. How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
  • 13. How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
  • 14. How do we play use case? System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. System increments score for other player. System resets acceleration factor. Round repeats for other player.
  • 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. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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.
  • 24. How is a user story different?
  • 25. 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.
  • 26. 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.
  • 27. 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.
  • 28. 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.
  • 29. What can go wrong with this story?
  • 30. 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
  • 32. Do you take questions? Slides Available at slideshare.net / rochesterny.theiiba.org
  • 33. How to write use cases The Why, What, Where, When, Who, and How of use cases
  • 38. First Draft System sends puck toward player. Player moves paddle to meet puck. Puck intersects paddle … Second Draft System sends puck toward player. Player moves paddle to meet puck. Puck misses paddle. … What? Main Scenario
  • 42. What? Annotations 1a Browser does not provide cookie System redirects to login page and passes original URL through a parameter System authenticates user (UC-4) Return at Step 1
  • 43. What? Annotations 1a Browser does not provide cookie System redirects to login page and passes original URL through a parameter System authenticates user (UC-4) Return at Step 1
  • 44. What? Annotations 1a Browser does not provide cookie System redirects to login page and passes original URL through a parameter https:// www.domain.org/sso/ Signon.aspx ? redirectUrl = default.aspx System authenticates user (UC-4) Return at Step 1
  • 45. What? Annotations Extensions 1a Browser does not provide cookie System redirects to login page and passes original URL through a parameter System authenticates user (UC-4) Return at Step 1 Annotations 1a1 Example URL: https:// www.domain.org/sso/ Signon.aspx ? redirectUrl = default.aspx
  • 46. Where? Can use cases do it all?
  • 47. Where? Requirements Outline Vision and Scope Document Use Cases Software Requirements Specification Business Rules
  • 48. Where? Requirements Outline Findings Requirements Use Cases Technical Specification
  • 50. When? Organize and Allocate
  • 54. How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
  • 55. How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
  • 56. How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
  • 57. How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
  • 58. How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
  • 59. How? Use Case Workflow Identify the actors Identify the use cases Identify actor/use case relationships Outline use cases Refine use cases
  • 60. How? Use Case Template Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
  • 61. How? Use Case Template Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
  • 62. How? Right-size templates Name Brief description Actors Main Scenario Extensions Pre-conditions Post-Conditions Other stakeholders System/sub-system Special requirements
  • 65. Adapt? Backlog Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
  • 66. Adapt? Iteration Planning Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
  • 67. Agile? Backlog Pruning Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
  • 68. Agile? Epic Iteration Name Brief description Actors Main Scenario Extensions Pre-conditions Post-conditions Other stakeholders System/sub-system Special requirements
  • 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
  • 73. Adapt? Testing Open Signin Page  Signin page:  http:// domain.org/sso /   Enter credentials Username: mg  Password:   va123123 Process Succeeds System Creates Cookie System Redirects
  • 74. Adapt? Testing Open Signin Page  Signin page:  http:// domain.org/sso /   Enter credentials Username: mg  Password:   va123123 Process Succeeds System Creates Cookie System Redirects
  • 75. Adapt? Testing Open Signin Page  Signin page:  http:// domain.org/sso /   Enter credentials Username: mg  Password:   va123123 Process Succeeds System Creates Cookie System Redirects
  • 79. Adapt? Testing http:// seleniumhq.org /
  • 81. Any questions? Slides Available at slideshare.net / rochesterny.theiiba.org
  • 82. About Ted Husted Co-author of JUnit in Action (1 st Edition) Speaker at Ajax Experience, ApacheCon Business Analyst, VanDamme Associates Member, International Institute for Business Analysis (IIBA) Executive VP Elect, Rochester NY IIBA twitter.com/TedHusted
  • 83. Inventor of Pong, Alan Alcorn Disclaimer Alan Alcorn is not Ted’s cousin, but he did invent Pong, though without the help of use cases. Use cases and Pong can both make you cross-eyed
  • 84. Thank you Ted! Next Chapter Meeting: June 4, 2009 with Ernest Hicks “ A speaker you don’t want to miss”

Editor's Notes

  • #2: June 9, 2009 © International Institute of Business Analysis