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

Más contenido relacionado

La actualidad más candente

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 McCloskeyUserTesting
 
Minimum Viable Product
Minimum Viable ProductMinimum Viable Product
Minimum Viable ProductBernard 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 StartupsUjjwal 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 TestingApplause
 
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 workonthegosystems
 
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 MVPGena Drahun
 
Guerilla Usability Testing
Guerilla Usability TestingGuerilla Usability Testing
Guerilla Usability TestingAndy 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
 
User testing methodology
User testing methodologyUser testing methodology
User testing methodologyJames Hatfield
 

La actualidad más candente (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
 

Destacado

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 moddelmohamed 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 RequirementsAsjad Raza
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagramnethisip13
 
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 engineeringRupesh Vaishnav
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineeringRupesh Vaishnav
 
Software QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath DarshanaSoftware QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath DarshanaShamain Peiris
 
Laws of test automation framework
Laws of test automation frameworkLaws of test automation framework
Laws of test automation frameworkvodqancr
 
Data flow oriented modeling
Data flow oriented modelingData flow oriented modeling
Data flow oriented modelingKavithaGowri
 
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 DiagramHamna 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 DiagramAmr E. Mohamed
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagramipoyish29
 

Destacado (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 a Modeling Requirements Using 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)Thoughtworks
 
Testable Requirements
Testable Requirements Testable Requirements
Testable Requirements Bharti Rupani
 
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 SystemsPaul Gerrard
 
Growing software from examples
Growing software from examplesGrowing software from examples
Growing software from examplesSeb 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 PMProduct 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 criteriab4usolution .
 
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 TestingTechWell
 
Payment Methods Usability Research
Payment Methods Usability ResearchPayment Methods Usability Research
Payment Methods Usability ResearchTim Broadwater
 
Lecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxLecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxGracePeter10
 
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_jbEye 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 a 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
 

Más de 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 WorksheetExcella
 
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 AdkinsExcella
 
DCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutDCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutExcella
 
DCSUG - Servant Leadership
DCSUG - Servant LeadershipDCSUG - Servant Leadership
DCSUG - Servant LeadershipExcella
 
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 WorldExcella
 
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 LeaderExcella
 
DCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileDCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileExcella
 
DCSUG - Impact Mapping
DCSUG - Impact MappingDCSUG - Impact Mapping
DCSUG - Impact MappingExcella
 
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 AgileExcella
 
The Awkward Teenager of Testing
The Awkward Teenager of TestingThe Awkward Teenager of Testing
The Awkward Teenager of TestingExcella
 
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 TimeExcella
 
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/2016Excella
 
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 OrganizationsExcella
 
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 DevOpsExcella
 
Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Excella
 
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 DeliveryExcella
 
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 secretsExcella
 
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 AgileExcella
 

Más de 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
 

Último

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 

Último (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
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)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 

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