SlideShare a Scribd company logo
Agile Requirements
How to Model Lightweight Requirements using Examples
1
Speaker Bio
2
• Excella Business Analysis
Center of Excellence Lead
• CBAP, PMP, PMI-ACP,
CSM, CSPO
• President of the IIBA DC
Chapter
• Contact Information:
– rebecca.halstead@excella.com
– http://excella.com/people/rebecca-
halstead.aspx
• Specification by Example
• Executable Specifications
• Scenarios
• Automated Acceptance Tests (AAT)
• Behavior Driven Development (BDD)
• Acceptance Test Driven Development
(AATDD)
• Gherkin Syntax
Today’s Topic
3
Requirements using Examples
Tooling
Documentation
Collaboration
Three Elements of this Technique
4
Building in Quality
5
Plan Collaborate Deliver
Build the
right thing
Build the thing
right
Characteristics of “good” requirements
6
Communicating Requirements
7
Level of Documentation
8
• Using Examples:
– Makes abstract
concepts more
relatable
– Minimizes
misinterpretation
– Highlights
success,
alternative and
exception cases
How do you specify the right amount?
9
Optimism Bias
10
An Example of Using an
Example…
Developing examples
12
1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
How it all relates
13
Background:
You are developing an
online ordering website
for a local company that
grows, harvests and sells
botanicals directly to
customers.
Feature:
Calculate customer order
Feature
14
1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
Calculate Order Feature
15
User Story:
As a customer, I want to review shipping costs in
my shopping cart before checking out, so that I
can see if I will receive free shipping.
User Story
16
1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
Collaborate
17
How do I
describe
what I
want?
How do I
validate
that this
work is
done?
How do I
code this
feature?
What are
the details
of this
feature?
1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
What is Gherkin?
18
Scenario: Standard Shipping Rate
Given I am a customer
And my order amount is $49.99
When I view my cart
Then I see that shipping costs are $3.99
Scenarios
19
1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
Scenario: Free Shipping Rate
Given I am a customer
And my order amount is $50.00
When I view my cart
Then I see no shipping costs
Scenarios
20
1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
Scenario Outline: Shipping Rate
Given I am a customer
And my order amount is “<order_total>”
When I view my cart
Then I see the “<shipping_cost>”
Scenarios
21
1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
Examples:
Examples
22
order_total shipping_cost
$12.79 $3.99
$49.99 $3.99
$50.00 $0.00
$250.00 $0.00
1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
Alternate Method
23
Story As a customer, I want to review shipping costs in my shopping cart before
checking out, so that I can see if I will receive free shipping.
Scenario Customer adds less than $50.00 worth of botanicals to his cart.
Business Rule Standard shipping for orders under $50.00 and free for orders over $50.00.
GIVEN
Precondition(s) Order amount: $49.99
Fixed Data Product Id: 12299
Quantity: 3
WHEN
Action View cart
Input Data
THEN
Output Data Shipping cost = $3.99
Postcondition Shipping rate determined
Based on examples from: http://ebgconsulting.com
Feature: Application Access
Scenario: User with valid credentials
Imperative (Narrative)
GIVEN I am an unauthenticated user
AND I am on the login page
AND I enter a valid name in the Name field
AND I enter the corresponding password in the Password field
WHEN I select the Login button
THEN I should see the welcome page
Imperative Style…
24
Implementation Detail – what if
decide to use Token-based
authentication or single sign-on?
UI Detail – what if the user interface
changes and you select name from
a drop-down list or select a radio
button?
Feature: Application Access
Scenario: User with valid credentials
Declarative (Informative)
GIVEN I am an unauthenticated user
AND I am on the login page
WHEN I submit valid credentials
THEN I should see the welcome page
Declarative Style…
25
Feature: Application Access
Scenario: User with valid credentials
Side-by-side Comparison
26
Imperative (Narrative) Declarative (Informative)
GIVEN I am an unauthenticated user
AND I am on the login page
AND I enter a valid name in the Name field
AND I enter the corresponding password
in the Password field
WHEN I select the Login button
THEN I should see the welcome page
GIVEN I am an unauthenticated user
AND I am on the login page
WHEN I submit valid credentials
THEN I should see the welcome page
—If the user interface is constantly changing, it is better to
use imperative.
—Declarative is easier to maintain.
—Developers prefer the imperative style.
—If a stakeholder is concerned about the user’s interaction
experience, use imperative.
—Declarative specifies implementation details.
Myth or Fact?
27
• Make each line of the acceptance criteria
stand on its own
• Use active voice, not passive
• Have a single action trigger the expected
behavior (WHEN condition)
• Use parameters to allow concise
expression of examples
Guidelines
28
Exercise #1
Okay Example:
GIVEN an active user with valid credentials and that user has previously
submitted a ticket
WHEN that user finds a previously submitted ticket in an active status
THEN that user has the option of sending a message
Better Example:
GIVEN I am an active user with valid credentials
AND I previously submitted a ticket
AND the ticket is in an active status
WHEN I find a previously submitted ticket
THEN I should see an option for sending a message
Exercise #1, Scenario 1
30
Okay Example:
GIVEN I am an unregistered user
WHEN I enter username “jsmith” and password “secret123!”
THEN I see a profile successfully created message on the Welcome page
Better Example:
GIVEN I am an unregistered user
WHEN I successfully create a user profile
THEN I see a profile successfully created message on the Welcome page
Exercise #1, Scenario 2
31
Okay Example:
GIVEN I add three items costing $5.25 each to my shopping cart
AND I am shipping to VA
WHEN I view my shopping cart
THEN I see an order total of $20.69
Better Example:
GIVEN I add these items to my shopping cart:
| item_id | quantity | price
| 10000 | 2 | $2.49
| 29901 | 1 | $11.98
AND I am shipping to “<state>”
WHEN I view my shopping cart
THEN I see an order total of “<order_total>”
Exercise #1, Scenario 3
32
Exercise #2
Exercise #2
34
Product Name: CoffeeSpot
Mobile Application
Vision: The CoffeeSpot application allows customers to request
a spot to decrease wait time at a specified location. It allows
administrators to provide an alternate work location to the
remote workforce while minimizing unclaimed inventory.
Personas Big Picture Product Details
Joe Cupps
(Administrator)
Indicate
Available
Spots
Show
Available
Spots
Track Usage
Details
Claim Spot
View Usage
Details
Release
Spot
Lisa Java
(Customer)
To automate or not to
automate…
ACCEPTANCE TESTS
End-to-end system tests
INTEGRATION TESTS
Tests that verify integrated
components or subsystems
UNIT TESTS
Tests that verify components in isolation
Test Pyramid
36
Exploratory
Testing
Adapted from: https://www.ibm.com/developerworks/library/j-aopwork11/
• Consistency makes it easier to automate
• BAs need to continue to own acceptance
tests
• Involve developers early
• Use a Gherkin editor
• Automate an end-to-end user journey
Tips for Automation
37
• Automated acceptance tests does not mean no
manual testing
• Business users find G-W-T difficult to
understand
• No all Product Owners see the value in
automation
• Factor in reduced team capacity due to
instrumenting the tests
• Automate by user journeys
• Provide BAs with a tool for maintaining
Lessons Learned
38
Books
• Gojko Adzic, Specification by Example: How Successful Teams
Deliver the Right Software
• Mario Cardinal, Executable Specifications with Scrum: A Practical
Guide to Agile Requirements Discovery
Blogs
• http://ebgconsulting.com/blog
• http://dannorth.net
• http://watirmelon.com/
• http://gojko.net/
Want to learn more?
39
Benefits of Failure:
http://www.ted.com/talks/tim_harford
Optimism Bias:
http://www.ted.com/talks/tali_sharot_the_optimism_bias
Gherkin Syntax:
http://docs.behat.org/guides/1.gherkin.html
http://www.concordion.org/Technique.html
Expert Panel:
http://www.infoq.com/articles/virtual-panel-bdd
More resources
40
• Advanced Certified Scrum Product Owner (CSPO) –
Agile Business Analysis (BA) 3/31/14 9AM - 4/1/14
5PM
– Discount Code: IIBADC
• Certified ScrumMaster (CSM) Training 4/23/14 9AM -
4/24/14 5PM
• Advanced Certified Scrum Product Owner (CSPO)
4/28/14 9AM - 4/29/14 5PM
For more details: http://www.eventbrite.com/o/excella-consulting-
2232953017
Excella Agile Courses
41

More Related Content

What's hot

Uncovering Need and Validating Ideas with UserTesting by Marieke McCloskey
Uncovering Need and Validating Ideas with UserTesting by Marieke McCloskeyUncovering Need and Validating Ideas with UserTesting by Marieke McCloskey
Uncovering Need and Validating Ideas with UserTesting by Marieke McCloskey
UserTesting
 
Minimum Viable Product
Minimum Viable ProductMinimum Viable Product
Minimum Viable Product
Bernard Leong
 
Lean Better : Basic Lean Principles for Startups
Lean Better : Basic Lean Principles for StartupsLean Better : Basic Lean Principles for Startups
Lean Better : Basic Lean Principles for Startups
Ujjwal Trivedi
 
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
2008 09 06 Eric Ries Haas Columbia Customer Development Engineeringguest472f47
 
Boost Your Intelligent Assistants with UX Testing
Boost Your Intelligent Assistants with UX TestingBoost Your Intelligent Assistants with UX Testing
Boost Your Intelligent Assistants with UX Testing
Applause
 
Best Practices for Benchmarking the Website User Experience featuring Measuri...
Best Practices for Benchmarking the Website User Experience featuring Measuri...Best Practices for Benchmarking the Website User Experience featuring Measuri...
Best Practices for Benchmarking the Website User Experience featuring Measuri...
UserZoom
 
Usability testing - have fun and improve your work
Usability testing - have fun and improve your workUsability testing - have fun and improve your work
Usability testing - have fun and improve your work
onthegosystems
 
Tips for involving users in your website design - commercial property markete...
Tips for involving users in your website design - commercial property markete...Tips for involving users in your website design - commercial property markete...
Tips for involving users in your website design - commercial property markete...
estatesgazette.com, RBI
 
Minimum Viable Product
Minimum Viable ProductMinimum Viable Product
Minimum Viable ProductEric Ries
 
Clean up the mess with MVP
Clean up the mess with MVPClean up the mess with MVP
Clean up the mess with MVP
Gena Drahun
 
Testing Your MVP
Testing Your MVPTesting Your MVP
Testing Your MVP
Tathagat Varma
 
Building an MVP
Building an MVPBuilding an MVP
Building an MVP
Rolands Krumbergs
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability Testing
Andy Budd
 
Why should I care about the Minimum Viable Product (MVP)
Why should  I care about the Minimum Viable Product  (MVP)Why should  I care about the Minimum Viable Product  (MVP)
Why should I care about the Minimum Viable Product (MVP)
Nektarios Sylligardakis
 
Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story DecompositionDave Neuman
 
The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)
Movel
 
Empowering Data-Driven Marketers: How UX Research & Usability Testing Can Pos...
Empowering Data-Driven Marketers: How UX Research & Usability Testing Can Pos...Empowering Data-Driven Marketers: How UX Research & Usability Testing Can Pos...
Empowering Data-Driven Marketers: How UX Research & Usability Testing Can Pos...
UserZoom
 
Website Testing WINS!
Website Testing WINS!Website Testing WINS!
Website Testing WINS!
Joanne Rigby (Richardson)
 
Front-end Culture @ Booking.com
Front-end Culture @ Booking.comFront-end Culture @ Booking.com
Front-end Culture @ Booking.com
Eduardo Shiota Yasuda
 
User testing methodology
User testing methodologyUser testing methodology
User testing methodology
James Hatfield
 

What's hot (20)

Uncovering Need and Validating Ideas with UserTesting by Marieke McCloskey
Uncovering Need and Validating Ideas with UserTesting by Marieke McCloskeyUncovering Need and Validating Ideas with UserTesting by Marieke McCloskey
Uncovering Need and Validating Ideas with UserTesting by Marieke McCloskey
 
Minimum Viable Product
Minimum Viable ProductMinimum Viable Product
Minimum Viable Product
 
Lean Better : Basic Lean Principles for Startups
Lean Better : Basic Lean Principles for StartupsLean Better : Basic Lean Principles for Startups
Lean Better : Basic Lean Principles for Startups
 
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
2008 09 06 Eric Ries Haas Columbia Customer Development Engineering
 
Boost Your Intelligent Assistants with UX Testing
Boost Your Intelligent Assistants with UX TestingBoost Your Intelligent Assistants with UX Testing
Boost Your Intelligent Assistants with UX Testing
 
Best Practices for Benchmarking the Website User Experience featuring Measuri...
Best Practices for Benchmarking the Website User Experience featuring Measuri...Best Practices for Benchmarking the Website User Experience featuring Measuri...
Best Practices for Benchmarking the Website User Experience featuring Measuri...
 
Usability testing - have fun and improve your work
Usability testing - have fun and improve your workUsability testing - have fun and improve your work
Usability testing - have fun and improve your work
 
Tips for involving users in your website design - commercial property markete...
Tips for involving users in your website design - commercial property markete...Tips for involving users in your website design - commercial property markete...
Tips for involving users in your website design - commercial property markete...
 
Minimum Viable Product
Minimum Viable ProductMinimum Viable Product
Minimum Viable Product
 
Clean up the mess with MVP
Clean up the mess with MVPClean up the mess with MVP
Clean up the mess with MVP
 
Testing Your MVP
Testing Your MVPTesting Your MVP
Testing Your MVP
 
Building an MVP
Building an MVPBuilding an MVP
Building an MVP
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability Testing
 
Why should I care about the Minimum Viable Product (MVP)
Why should  I care about the Minimum Viable Product  (MVP)Why should  I care about the Minimum Viable Product  (MVP)
Why should I care about the Minimum Viable Product (MVP)
 
Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story Decomposition
 
The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)
 
Empowering Data-Driven Marketers: How UX Research & Usability Testing Can Pos...
Empowering Data-Driven Marketers: How UX Research & Usability Testing Can Pos...Empowering Data-Driven Marketers: How UX Research & Usability Testing Can Pos...
Empowering Data-Driven Marketers: How UX Research & Usability Testing Can Pos...
 
Website Testing WINS!
Website Testing WINS!Website Testing WINS!
Website Testing WINS!
 
Front-end Culture @ Booking.com
Front-end Culture @ Booking.comFront-end Culture @ Booking.com
Front-end Culture @ Booking.com
 
User testing methodology
User testing methodologyUser testing methodology
User testing methodology
 

Viewers also liked

CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
mohamed khalaf alla mohamedain
 
Computer Systems - Input, Process, Output
Computer Systems - Input, Process, OutputComputer Systems - Input, Process, Output
Computer Systems - Input, Process, Outputcorb201
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Modeling System Requirements
Modeling System RequirementsModeling System Requirements
Modeling System Requirements
Asjad Raza
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
nethisip13
 
Dfd examples
Dfd examplesDfd examples
Dfd examplesMohit
 
Agile Model Developement- Daniel Leroux
Agile Model Developement-  Daniel LerouxAgile Model Developement-  Daniel Leroux
Agile Model Developement- Daniel LerouxRoopa Nadkarni
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
Rupesh Vaishnav
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
Rupesh Vaishnav
 
Software QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath DarshanaSoftware QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath Darshana
Shamain Peiris
 
Laws of test automation framework
Laws of test automation frameworkLaws of test automation framework
Laws of test automation framework
vodqancr
 
Se 20150507
Se 20150507Se 20150507
Se 20150507
葵慶 李
 
AIG Seven QC Tools
AIG Seven QC ToolsAIG Seven QC Tools
AIG Seven QC Tools
advanceinnovationgroup
 
Data flow oriented modeling
Data flow oriented modelingData flow oriented modeling
Data flow oriented modelingKavithaGowri
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagram
Upendra Sengar
 
Data Flow 1
Data Flow 1Data Flow 1
Data Flow 1MISY
 
Data Flow Diagram and Sequence Diagram
Data Flow Diagram and Sequence DiagramData Flow Diagram and Sequence Diagram
Data Flow Diagram and Sequence Diagram
Hamna Shahzad
 
Modelling System Requirements: Events & Things
Modelling System Requirements: Events & ThingsModelling System Requirements: Events & Things
Modelling System Requirements: Events & Thingswmomoni
 
Sheet Four - Data Flow Diagram
Sheet Four - Data Flow DiagramSheet Four - Data Flow Diagram
Sheet Four - Data Flow Diagram
Amr E. Mohamed
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagramipoyish29
 

Viewers also liked (20)

CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Computer Systems - Input, Process, Output
Computer Systems - Input, Process, OutputComputer Systems - Input, Process, Output
Computer Systems - Input, Process, Output
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Modeling System Requirements
Modeling System RequirementsModeling System Requirements
Modeling System Requirements
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Dfd examples
Dfd examplesDfd examples
Dfd examples
 
Agile Model Developement- Daniel Leroux
Agile Model Developement-  Daniel LerouxAgile Model Developement-  Daniel Leroux
Agile Model Developement- Daniel Leroux
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
 
Software QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath DarshanaSoftware QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath Darshana
 
Laws of test automation framework
Laws of test automation frameworkLaws of test automation framework
Laws of test automation framework
 
Se 20150507
Se 20150507Se 20150507
Se 20150507
 
AIG Seven QC Tools
AIG Seven QC ToolsAIG Seven QC Tools
AIG Seven QC Tools
 
Data flow oriented modeling
Data flow oriented modelingData flow oriented modeling
Data flow oriented modeling
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagram
 
Data Flow 1
Data Flow 1Data Flow 1
Data Flow 1
 
Data Flow Diagram and Sequence Diagram
Data Flow Diagram and Sequence DiagramData Flow Diagram and Sequence Diagram
Data Flow Diagram and Sequence Diagram
 
Modelling System Requirements: Events & Things
Modelling System Requirements: Events & ThingsModelling System Requirements: Events & Things
Modelling System Requirements: Events & Things
 
Sheet Four - Data Flow Diagram
Sheet Four - Data Flow DiagramSheet Four - Data Flow Diagram
Sheet Four - Data Flow Diagram
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagram
 

Similar to Modeling Requirements Using Examples

1501 meetup
1501 meetup1501 meetup
1501 meetup
Stephanie Vineyard
 
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
Thoughtworks
 
Testable requirements
Testable requirementsTestable requirements
Testable requirements
Wyn B. Van Devanter
 
Testable Requirements
Testable Requirements Testable Requirements
Testable Requirements
Bharti Rupani
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
Stephanie Lewandowski
 
Using Stories to Test Requirements and Systems
Using Stories to Test Requirements and SystemsUsing Stories to Test Requirements and Systems
Using Stories to Test Requirements and Systems
Paul Gerrard
 
Growing software from examples
Growing software from examplesGrowing software from examples
Growing software from examples
Seb Rose
 
Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
Anand Bagmar
 
How to Ace Your Product Management Interview by League Senior PM
How to Ace Your Product Management Interview by League Senior PMHow to Ace Your Product Management Interview by League Senior PM
How to Ace Your Product Management Interview by League Senior PM
Product School
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)
Anand Bagmar
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria
An Nguyen
 
[UserZoom Webinar] The Online Shopping Experience: Benchmarking Four Ecommerc...
[UserZoom Webinar] The Online Shopping Experience: Benchmarking Four Ecommerc...[UserZoom Webinar] The Online Shopping Experience: Benchmarking Four Ecommerc...
[UserZoom Webinar] The Online Shopping Experience: Benchmarking Four Ecommerc...
UserZoom
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteria
b4usolution .
 
Build the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingBuild the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven Testing
TechWell
 
Payment Methods Usability Research
Payment Methods Usability ResearchPayment Methods Usability Research
Payment Methods Usability Research
Tim Broadwater
 
Lecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxLecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptx
GracePeter10
 
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
Test Evolve
 
UK Online Fashion UX Benchmarking slides
UK Online Fashion UX Benchmarking slidesUK Online Fashion UX Benchmarking slides
UK Online Fashion UX Benchmarking slidesarthurmoan
 
Ecommerce shopper research-11.15.17_jb
Ecommerce shopper research-11.15.17_jbEcommerce shopper research-11.15.17_jb
Ecommerce shopper research-11.15.17_jb
Eye Square
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writtingPhil van Dulm Consultancy
 

Similar to Modeling Requirements Using Examples (20)

1501 meetup
1501 meetup1501 meetup
1501 meetup
 
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
 
Testable requirements
Testable requirementsTestable requirements
Testable requirements
 
Testable Requirements
Testable Requirements Testable Requirements
Testable Requirements
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
Using Stories to Test Requirements and Systems
Using Stories to Test Requirements and SystemsUsing Stories to Test Requirements and Systems
Using Stories to Test Requirements and Systems
 
Growing software from examples
Growing software from examplesGrowing software from examples
Growing software from examples
 
Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
 
How to Ace Your Product Management Interview by League Senior PM
How to Ace Your Product Management Interview by League Senior PMHow to Ace Your Product Management Interview by League Senior PM
How to Ace Your Product Management Interview by League Senior PM
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria
 
[UserZoom Webinar] The Online Shopping Experience: Benchmarking Four Ecommerc...
[UserZoom Webinar] The Online Shopping Experience: Benchmarking Four Ecommerc...[UserZoom Webinar] The Online Shopping Experience: Benchmarking Four Ecommerc...
[UserZoom Webinar] The Online Shopping Experience: Benchmarking Four Ecommerc...
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteria
 
Build the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingBuild the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven Testing
 
Payment Methods Usability Research
Payment Methods Usability ResearchPayment Methods Usability Research
Payment Methods Usability Research
 
Lecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxLecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptx
 
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
 
UK Online Fashion UX Benchmarking slides
UK Online Fashion UX Benchmarking slidesUK Online Fashion UX Benchmarking slides
UK Online Fashion UX Benchmarking slides
 
Ecommerce shopper research-11.15.17_jb
Ecommerce shopper research-11.15.17_jbEcommerce shopper research-11.15.17_jb
Ecommerce shopper research-11.15.17_jb
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writting
 

More from Excella

DCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer WorksheetDCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer Worksheet
Excella
 
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa AdkinsDCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
Excella
 
DCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutDCSUG - Servant Leadership Handout
DCSUG - Servant Leadership Handout
Excella
 
DCSUG - Servant Leadership
DCSUG - Servant LeadershipDCSUG - Servant Leadership
DCSUG - Servant Leadership
Excella
 
DCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile WorldDCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile World
Excella
 
DCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile LeaderDCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile Leader
Excella
 
DCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileDCSUG - Finding Lean in Agile
DCSUG - Finding Lean in Agile
Excella
 
DCSUG - Impact Mapping
DCSUG - Impact MappingDCSUG - Impact Mapping
DCSUG - Impact Mapping
Excella
 
DCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of AgileDCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of Agile
Excella
 
The Awkward Teenager of Testing
The Awkward Teenager of TestingThe Awkward Teenager of Testing
The Awkward Teenager of Testing
Excella
 
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeLet's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Excella
 
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Excella
 
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
Excella
 
Get Your Productivity Game On!!
Get Your Productivity Game On!!Get Your Productivity Game On!!
Get Your Productivity Game On!!
Excella
 
How to Structure Multi Team Organizations
How to Structure Multi Team OrganizationsHow to Structure Multi Team Organizations
How to Structure Multi Team Organizations
Excella
 
Tactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOpsTactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOps
Excella
 
Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015
Excella
 
Tactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous DeliveryTactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous Delivery
Excella
 
Using ansible vault to protect your secrets
Using ansible vault to protect your secretsUsing ansible vault to protect your secrets
Using ansible vault to protect your secrets
Excella
 
Using Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of AgileUsing Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of Agile
Excella
 

More from Excella (20)

DCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer WorksheetDCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer Worksheet
 
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa AdkinsDCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
 
DCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutDCSUG - Servant Leadership Handout
DCSUG - Servant Leadership Handout
 
DCSUG - Servant Leadership
DCSUG - Servant LeadershipDCSUG - Servant Leadership
DCSUG - Servant Leadership
 
DCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile WorldDCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile World
 
DCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile LeaderDCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile Leader
 
DCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileDCSUG - Finding Lean in Agile
DCSUG - Finding Lean in Agile
 
DCSUG - Impact Mapping
DCSUG - Impact MappingDCSUG - Impact Mapping
DCSUG - Impact Mapping
 
DCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of AgileDCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of Agile
 
The Awkward Teenager of Testing
The Awkward Teenager of TestingThe Awkward Teenager of Testing
The Awkward Teenager of Testing
 
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeLet's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting Time
 
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
 
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
 
Get Your Productivity Game On!!
Get Your Productivity Game On!!Get Your Productivity Game On!!
Get Your Productivity Game On!!
 
How to Structure Multi Team Organizations
How to Structure Multi Team OrganizationsHow to Structure Multi Team Organizations
How to Structure Multi Team Organizations
 
Tactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOpsTactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOps
 
Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015
 
Tactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous DeliveryTactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous Delivery
 
Using ansible vault to protect your secrets
Using ansible vault to protect your secretsUsing ansible vault to protect your secrets
Using ansible vault to protect your secrets
 
Using Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of AgileUsing Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of Agile
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 

Modeling Requirements Using Examples

  • 1. Agile Requirements How to Model Lightweight Requirements using Examples 1
  • 2. Speaker Bio 2 • Excella Business Analysis Center of Excellence Lead • CBAP, PMP, PMI-ACP, CSM, CSPO • President of the IIBA DC Chapter • Contact Information: – rebecca.halstead@excella.com – http://excella.com/people/rebecca- halstead.aspx
  • 3. • Specification by Example • Executable Specifications • Scenarios • Automated Acceptance Tests (AAT) • Behavior Driven Development (BDD) • Acceptance Test Driven Development (AATDD) • Gherkin Syntax Today’s Topic 3 Requirements using Examples
  • 5. Building in Quality 5 Plan Collaborate Deliver Build the right thing Build the thing right
  • 9. • Using Examples: – Makes abstract concepts more relatable – Minimizes misinterpretation – Highlights success, alternative and exception cases How do you specify the right amount? 9
  • 11. An Example of Using an Example…
  • 12. Developing examples 12 1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
  • 13. How it all relates 13
  • 14. Background: You are developing an online ordering website for a local company that grows, harvests and sells botanicals directly to customers. Feature: Calculate customer order Feature 14 1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
  • 16. User Story: As a customer, I want to review shipping costs in my shopping cart before checking out, so that I can see if I will receive free shipping. User Story 16 1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
  • 17. Collaborate 17 How do I describe what I want? How do I validate that this work is done? How do I code this feature? What are the details of this feature? 1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
  • 19. Scenario: Standard Shipping Rate Given I am a customer And my order amount is $49.99 When I view my cart Then I see that shipping costs are $3.99 Scenarios 19 1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
  • 20. Scenario: Free Shipping Rate Given I am a customer And my order amount is $50.00 When I view my cart Then I see no shipping costs Scenarios 20 1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
  • 21. Scenario Outline: Shipping Rate Given I am a customer And my order amount is “<order_total>” When I view my cart Then I see the “<shipping_cost>” Scenarios 21 1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
  • 22. Examples: Examples 22 order_total shipping_cost $12.79 $3.99 $49.99 $3.99 $50.00 $0.00 $250.00 $0.00 1. Feature 2. User Story 3. Collaborate 4. Scenarios 5. Examples
  • 23. Alternate Method 23 Story As a customer, I want to review shipping costs in my shopping cart before checking out, so that I can see if I will receive free shipping. Scenario Customer adds less than $50.00 worth of botanicals to his cart. Business Rule Standard shipping for orders under $50.00 and free for orders over $50.00. GIVEN Precondition(s) Order amount: $49.99 Fixed Data Product Id: 12299 Quantity: 3 WHEN Action View cart Input Data THEN Output Data Shipping cost = $3.99 Postcondition Shipping rate determined Based on examples from: http://ebgconsulting.com
  • 24. Feature: Application Access Scenario: User with valid credentials Imperative (Narrative) GIVEN I am an unauthenticated user AND I am on the login page AND I enter a valid name in the Name field AND I enter the corresponding password in the Password field WHEN I select the Login button THEN I should see the welcome page Imperative Style… 24 Implementation Detail – what if decide to use Token-based authentication or single sign-on? UI Detail – what if the user interface changes and you select name from a drop-down list or select a radio button?
  • 25. Feature: Application Access Scenario: User with valid credentials Declarative (Informative) GIVEN I am an unauthenticated user AND I am on the login page WHEN I submit valid credentials THEN I should see the welcome page Declarative Style… 25
  • 26. Feature: Application Access Scenario: User with valid credentials Side-by-side Comparison 26 Imperative (Narrative) Declarative (Informative) GIVEN I am an unauthenticated user AND I am on the login page AND I enter a valid name in the Name field AND I enter the corresponding password in the Password field WHEN I select the Login button THEN I should see the welcome page GIVEN I am an unauthenticated user AND I am on the login page WHEN I submit valid credentials THEN I should see the welcome page
  • 27. —If the user interface is constantly changing, it is better to use imperative. —Declarative is easier to maintain. —Developers prefer the imperative style. —If a stakeholder is concerned about the user’s interaction experience, use imperative. —Declarative specifies implementation details. Myth or Fact? 27
  • 28. • Make each line of the acceptance criteria stand on its own • Use active voice, not passive • Have a single action trigger the expected behavior (WHEN condition) • Use parameters to allow concise expression of examples Guidelines 28
  • 30. Okay Example: GIVEN an active user with valid credentials and that user has previously submitted a ticket WHEN that user finds a previously submitted ticket in an active status THEN that user has the option of sending a message Better Example: GIVEN I am an active user with valid credentials AND I previously submitted a ticket AND the ticket is in an active status WHEN I find a previously submitted ticket THEN I should see an option for sending a message Exercise #1, Scenario 1 30
  • 31. Okay Example: GIVEN I am an unregistered user WHEN I enter username “jsmith” and password “secret123!” THEN I see a profile successfully created message on the Welcome page Better Example: GIVEN I am an unregistered user WHEN I successfully create a user profile THEN I see a profile successfully created message on the Welcome page Exercise #1, Scenario 2 31
  • 32. Okay Example: GIVEN I add three items costing $5.25 each to my shopping cart AND I am shipping to VA WHEN I view my shopping cart THEN I see an order total of $20.69 Better Example: GIVEN I add these items to my shopping cart: | item_id | quantity | price | 10000 | 2 | $2.49 | 29901 | 1 | $11.98 AND I am shipping to “<state>” WHEN I view my shopping cart THEN I see an order total of “<order_total>” Exercise #1, Scenario 3 32
  • 34. Exercise #2 34 Product Name: CoffeeSpot Mobile Application Vision: The CoffeeSpot application allows customers to request a spot to decrease wait time at a specified location. It allows administrators to provide an alternate work location to the remote workforce while minimizing unclaimed inventory. Personas Big Picture Product Details Joe Cupps (Administrator) Indicate Available Spots Show Available Spots Track Usage Details Claim Spot View Usage Details Release Spot Lisa Java (Customer)
  • 35. To automate or not to automate…
  • 36. ACCEPTANCE TESTS End-to-end system tests INTEGRATION TESTS Tests that verify integrated components or subsystems UNIT TESTS Tests that verify components in isolation Test Pyramid 36 Exploratory Testing Adapted from: https://www.ibm.com/developerworks/library/j-aopwork11/
  • 37. • Consistency makes it easier to automate • BAs need to continue to own acceptance tests • Involve developers early • Use a Gherkin editor • Automate an end-to-end user journey Tips for Automation 37
  • 38. • Automated acceptance tests does not mean no manual testing • Business users find G-W-T difficult to understand • No all Product Owners see the value in automation • Factor in reduced team capacity due to instrumenting the tests • Automate by user journeys • Provide BAs with a tool for maintaining Lessons Learned 38
  • 39. Books • Gojko Adzic, Specification by Example: How Successful Teams Deliver the Right Software • Mario Cardinal, Executable Specifications with Scrum: A Practical Guide to Agile Requirements Discovery Blogs • http://ebgconsulting.com/blog • http://dannorth.net • http://watirmelon.com/ • http://gojko.net/ Want to learn more? 39
  • 40. Benefits of Failure: http://www.ted.com/talks/tim_harford Optimism Bias: http://www.ted.com/talks/tali_sharot_the_optimism_bias Gherkin Syntax: http://docs.behat.org/guides/1.gherkin.html http://www.concordion.org/Technique.html Expert Panel: http://www.infoq.com/articles/virtual-panel-bdd More resources 40
  • 41. • Advanced Certified Scrum Product Owner (CSPO) – Agile Business Analysis (BA) 3/31/14 9AM - 4/1/14 5PM – Discount Code: IIBADC • Certified ScrumMaster (CSM) Training 4/23/14 9AM - 4/24/14 5PM • Advanced Certified Scrum Product Owner (CSPO) 4/28/14 9AM - 4/29/14 5PM For more details: http://www.eventbrite.com/o/excella-consulting- 2232953017 Excella Agile Courses 41