SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Behavior Driven
 Development
      Naresh Jain
 naresh@agilefaqs.com
       @nashjain
  http://nareshjain.com

   Copyright © 2013, AgileFAQs. All Rights Reserved.
Warmup Scenarios
Pick one scenario and in relation to your scenario,
what are the specific observable results that will tell
you that the activity has been successfully
completed?
Going out for Movie (THX sound and Digital projection)
Going out for meal (one veg.)
Going shopping ($50)
                                                                              [5 Minutes]

Present back to the group your findings. [3 minutes per group]

                          Copyright © 2013, AgileFAQs. All Rights Reserved.
Commercial Break!
Copyright © 2013, AgileFAQs. All Rights Reserved.
Tech Talks!
Product	
  Discovery	
  -­‐	
  Overview
                                                            Personas
Elevator       Business   Pragmatic            User
 Pitch          Goals     Personas             Goals
      Chartering
                                             Scenarios      Day in Life
                                                 &           of each
                                             Narratives      Persona


                           Story Mapping                      Activity
                                                               Map

                                             Interaction
                           UI Sketch                         Task Map
                                               Design

                                  Planning
                                              Grouping
                          Reiterating                       Prioritization
                                             by Themes

                                            User Story Authoring
                                           Acceptance          User
                                             Criteria         Stories
Vision
               Elevator                 Business
                Pitch                    Goals


                                                                      Goal
                       Chartering


                                                   Personas
Pragmatic                   User
Personas                    Goals

                                                                    Capability
                                                   Day in Life
                          Scenarios &
                                                    of each
                           Narratives
                                                    Persona



 Story Mapping
                                                                     Feature
                                                   Activity Map



 UI Sketch
                          Interaction
                            Design
                                                    Task Map
                                                                      Story
            Planning
                          Grouping by
 Reiterating

                                                                    Scenario
                                                   Prioritization
                           Themes


                           User Story Authoring
                          Acceptance
                                                   User Stories
                            Criteria

                                                                      Code
User Stories
What are we really trying to build?




      Copyright © 2013, AgileFAQs. All Rights Reserved.
What is a Story?


Story is a smallest piece of functionality that add business value
Stories should follow Ron Jeffries’ 3 Cs
Card – Placeholder for conversation
Conversation – Actual discussion between dev team and user
Confirmation – Acceptance criteria to determine when the story is finished




                      Copyright © 2013, AgileFAQs. All Rights Reserved.
Typical Story Format

       Story Title - Actor Action Context


In order to... <user goal/business justification>
As a .. <user who requires this feature>
I need .. <do something>




            Copyright © 2013, AgileFAQs. All Rights Reserved.
Story Example


Title: Keen Reader subscribes to a blog
In order to stay up-to-date with new posts
As a keen reader of your blog
I need to subscribe to your blog




                  Copyright © 2013, AgileFAQs. All Rights Reserved.
Another Story Example


Title: Social Networking Enthusiast uploads profile picture
In order for my friends to see how I look and recognize me
As a Social Networking Enthusiast
I need to upload my profile picture




                   Copyright © 2013, AgileFAQs. All Rights Reserved.
Stories are fundamental unit of activity

Business Goals                    Product Backlog                    Release Backlog                     Sprint Backlog




                    Inception
                                                       Release planning                 Iteration planning

 User Goals
                                As a ____, I want to                 As a ____, I want to               As a ____, I want to
                                 be able to ____ so                   be able to ____ so                 be able to ____ so
                                     that ____                            that ____                          that ____
                                                                                                                               Possible automation
                                                                                                                                of the acceptance
                                                                                                                                       test

                                                                      I will know this is                I will know this is
                                                                     done when _______                  done when _______
                     Might have an initial
                 estimate (perhaps for both
                 analysis and development),
                                                                                                                               Development team
                    and an expression of
                                                                                                                                 breaks out the
                   technical and business                                                                To do this I must:
                                                                                                                                 detail of work
                 confidence that this is real      More detailed estimate, and                          1)        _____
                                                                                                                               needed to pass test
                       and achievable               a specific acceptance test –                        2)        _____
                                                   low confidence stories might
                                                     be “spiked” or prototyped




                                                Copyright © 2013, AgileFAQs. All Rights Reserved.
What makes a good Story?

Stories should follow the INVEST principle:
Independent
Negotiable
Valuable
Estimateable
Small
Testable


                    Copyright © 2013, AgileFAQs. All Rights Reserved.
Scenarios
  Acceptance Criteria




Copyright © 2013, AgileFAQs. All Rights Reserved.
Scenario

Is a set of conditions that the Story must meet for it to be
accepted as complete
Is typically provided by the customer or product owner.


       Is not a replacement for conversation.
          Is the results of the conversation


               Scenarios are NOT tests

                Copyright © 2013, AgileFAQs. All Rights Reserved.
Writing Scenarios
Scenario should contain:
  ACTOR
  VERB – DESCRIBING A BEHAVIOR
  OBSERVABLE RESULT


To accommodate pre-conditions scenarios can be expressed as
               Given [Precondition]
               When [Actor + Action]
               Then [Observable Result]

                           Copyright © 2013, AgileFAQs. All Rights Reserved.
Example
Social Networking Enthusiast uploads profile picture
  Given the user has a valid facebook account and a digital picture on her computer,
  When she uploads a picture in facebook,
  Then her the picture should be visible to all her friends in her network.

  Given an user is trying to find a friend on facebook,
  When the user searches for a person using their name,
  Then their profile picture should be displayed along with other details.

  In order to keep facebook's reputation intact and stay out of legal hassles
  As owner of facebook,
  I need users to upload authentic, personal profile picture
                           Copyright © 2013, AgileFAQs. All Rights Reserved.
Cucumber Style BDD
Feature: Login
 In order to access secure content
 As a registered user
 I need to authenticate myself

 Scenario: Login with valid credentials
  Given I am not logged in
  When I try to login with "test" and "secret"
  Then I should be logged in

 Scenario: Login with invalid credentials
  Given I am not logged in
  When I try to login with "test" and "wrongpassword"
  Then I should not be logged in
  And I should be shown error message "Invalid username or password"
                       Copyright © 2013, AgileFAQs. All Rights Reserved.
Step Definition
Given /^I am not logged in$/ do
 browser.navigate_to("http://your_url.com")
end

When /^I try to login with "([^"]*)" and "([^"]*)"$/ do |username, password|
 browser.textbox("user").value = username
 browser.password("password").value = password
 browser.submit("Login").click
end

Then /^I should be logged in$/ do                 Then /^I should not be logged in$/ do
 if !browser.button("Logout").exists?              if !browser.submit("Login").exists?
   raise "Not logged in"                             raise "Logged in"
 end                                               end
end                                               end

Then /^I should be shown error message "([^"]*)"$/ do |msg|
 value = browser.div("errorMessage").text
 if value != msg
   raise "Incorrect message: #{value}"
 end
end
                                        Copyright © 2013, AgileFAQs. All Rights Reserved.
Acceptance Criteria & Tests: Definition
         Acceptance Tests

      Acceptance Criteria
+ Examples (data + scenarios)

     Acceptance Tests
            Copyright © 2013, AgileFAQs. All Rights Reserved.
Scenarios
       =
Executable Tests

   Copyright © 2013, AgileFAQs. All Rights Reserved.
Tasks
        Team members further break down each story into tasks that need
          to be completed to meet the acceptance criteria for the story.

To accomplish this story:
we start off with a simple upload and image display
restrict user to only upload certain image types (gif, jpg and png)
figure out where to store the image. (performant and fault-tolerant)
scale down (size, resolution, etc.) of the image
and so on...




                       Copyright © 2013, AgileFAQs. All Rights Reserved.
Demo



Copyright © 2013, AgileFAQs. All Rights Reserved.
BDD



Copyright © 2013, AgileFAQs. All Rights Reserved.
Key Questions

                    Business Facing


Are we building the right product?


Are we building the product right?

     Technology/Implementation Facing



       Copyright © 2013, AgileFAQs. All Rights Reserved.
Brian Marick’s Test Categorization

                                      Business Facing
Supports Programming




                                                                             Critique product
                       Technology/Implementation Facing



                         Copyright © 2013, AgileFAQs. All Rights Reserved.
It Helps to Think of Tests this way...

                                             Business Facing

                     Acceptance Testing                       Exploratory Testing
Drives Development




                                                                                        Critique product
                     Low-fi prototypes                        UI and Usability Testing

                                                                 Performance Testing
                        Unit Testing
                                                                     System Tests
                              Technology/Implementation Facing



                                Copyright © 2013, AgileFAQs. All Rights Reserved.
Inverting the Testing Pyramid
  Typical testing strategies lead to an inverted testing pyramid...




                               Manual Checking




                                  End-to-End
                                   GUI Tests                               80-90%



                                  Integration
                                                                   5-15%
                                     Tests


                                       Unit
                                       Tests       1-5%
               Copyright © 2013, AgileFAQs. All Rights Reserved.
Inverting the Testing Pyramid
                            GUI 1%
                            Tests                          Performance
                                                               Tests
                      End to End                    4%          Security
                      Flow Tests                                 Tests
                   One Layer Below GUI


               Workflow Tests                               6%


            Integration Test                                    9%


     Biz Logic Acceptance Tests                                      10%


                   Unit Tests                                              70%

         This is the need of the hours...
       Copyright © 2013, AgileFAQs. All Rights Reserved.
Test Driven Development

                                                                        Add a Test

                                                         Pass
                                                                       Run the Test

                                                                               Fail
TDD Rhythm - Test, Code, Refactor                                      Make a little
                                                                         change

                                                                                       Fail
                                                                       Run the Test
                                                                               Pass
                                                                         Refactor




                   Copyright © 2013, AgileFAQs. All Rights Reserved.
Behavior Driven Development
                                          Iteration

                                      Automated
                                    Acceptance Tests                                      P
         Scenario                                                                         E
                                                                                          R
                                                                                          F
                                                                                          O
                                                                                          R
Story           Automated                                                                 M
                 Unit Test                                                                E
                                                                                              T
                                                                           Automated UI   N
                                                                                              E
                                                                                          C
                                                                               Tests          S
                                                                                          E
                                                                                              T
                                                                                              S



                                      Automated
                                    Acceptance Tests


                                        Exploratory                          Scenario
                                          Testing

                       Copyright © 2013, AgileFAQs. All Rights Reserved.
Benefits of BDD



   Copyright © 2013, AgileFAQs. All Rights Reserved.
Why?




Copyright © 2013, AgileFAQs. All Rights Reserved.
Better Commitment and Buy-in
               Focus on Business Value




       Copyright © 2013, AgileFAQs. All Rights Reserved.
Ubiquitous Domain Language




      Copyright © 2013, AgileFAQs. All Rights Reserved.
Right focus




Copyright © 2013, AgileFAQs. All Rights Reserved.
Evolutionary Design




  Copyright © 2013, AgileFAQs. All Rights Reserved.
Breaking the Knowledge Silos in Distributed Team




               Copyright © 2013, AgileFAQs. All Rights Reserved.
Greater ROI




Copyright © 2013, AgileFAQs. All Rights Reserved.
Predictability & Confidence




      Copyright © 2013, AgileFAQs. All Rights Reserved.
Thank you
     Naresh Jain
naresh@agilefaqs.com


 Copyright © 2013, AgileFAQs. All Rights Reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Cloud HR: clear flying or congested chaos?
Cloud HR: clear flying or congested chaos?Cloud HR: clear flying or congested chaos?
Cloud HR: clear flying or congested chaos?Rob Scott
 
Welcome to Innovation Territory - ProductCamp Vancouver 2013
Welcome to Innovation Territory - ProductCamp Vancouver 2013Welcome to Innovation Territory - ProductCamp Vancouver 2013
Welcome to Innovation Territory - ProductCamp Vancouver 2013Cynthia DuVal
 
YEO Wee John. PR-Охота! "Brand. Brain. Communication"
YEO Wee John. PR-Охота! "Brand. Brain. Communication"YEO Wee John. PR-Охота! "Brand. Brain. Communication"
YEO Wee John. PR-Охота! "Brand. Brain. Communication"prasu1995
 
Working through Screens Idea Cards | www.FlashbulbInteraction.com/WTS.html
Working through Screens Idea Cards  |  www.FlashbulbInteraction.com/WTS.htmlWorking through Screens Idea Cards  |  www.FlashbulbInteraction.com/WTS.html
Working through Screens Idea Cards | www.FlashbulbInteraction.com/WTS.htmlFlashbulb Interaction, Inc.
 
Design Thinking Simplified
Design Thinking SimplifiedDesign Thinking Simplified
Design Thinking Simplifiedkristinshares
 
Merging media access 360 roi workshop gamification 3.0
Merging media access 360 roi workshop   gamification 3.0Merging media access 360 roi workshop   gamification 3.0
Merging media access 360 roi workshop gamification 3.0Scott Dodson
 

Was ist angesagt? (9)

Cloud HR: clear flying or congested chaos?
Cloud HR: clear flying or congested chaos?Cloud HR: clear flying or congested chaos?
Cloud HR: clear flying or congested chaos?
 
Welcome to Innovation Territory - ProductCamp Vancouver 2013
Welcome to Innovation Territory - ProductCamp Vancouver 2013Welcome to Innovation Territory - ProductCamp Vancouver 2013
Welcome to Innovation Territory - ProductCamp Vancouver 2013
 
Adv prod tools assgn6
Adv prod tools assgn6Adv prod tools assgn6
Adv prod tools assgn6
 
YEO Wee John. PR-Охота! "Brand. Brain. Communication"
YEO Wee John. PR-Охота! "Brand. Brain. Communication"YEO Wee John. PR-Охота! "Brand. Brain. Communication"
YEO Wee John. PR-Охота! "Brand. Brain. Communication"
 
HBT Solution - Part 2 of 6
HBT Solution - Part 2 of 6HBT Solution - Part 2 of 6
HBT Solution - Part 2 of 6
 
Working through Screens Idea Cards | www.FlashbulbInteraction.com/WTS.html
Working through Screens Idea Cards  |  www.FlashbulbInteraction.com/WTS.htmlWorking through Screens Idea Cards  |  www.FlashbulbInteraction.com/WTS.html
Working through Screens Idea Cards | www.FlashbulbInteraction.com/WTS.html
 
Design Thinking Simplified
Design Thinking SimplifiedDesign Thinking Simplified
Design Thinking Simplified
 
Merging media access 360 roi workshop gamification 3.0
Merging media access 360 roi workshop   gamification 3.0Merging media access 360 roi workshop   gamification 3.0
Merging media access 360 roi workshop gamification 3.0
 
What is Stealth Assessment?
What is Stealth Assessment?What is Stealth Assessment?
What is Stealth Assessment?
 

Andere mochten auch

Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)Naresh Jain
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing PyramidNaresh Jain
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven DevelopmentLiz Keogh
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with CucumberBrandon Keepers
 
An introduction to Behavior-Driven Development (BDD)
An introduction to Behavior-Driven Development (BDD)An introduction to Behavior-Driven Development (BDD)
An introduction to Behavior-Driven Development (BDD)Suman Guha
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Ajay Danait
 
BDD presentation
BDD presentationBDD presentation
BDD presentationtemebele
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboNaveen Kumar Singh
 
The WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecThe WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecBen Mabey
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationJohn Ferguson Smart Limited
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testingdversaci
 
Practical Scrum with Kent Beck (SD Times Webinar)
Practical Scrum with Kent Beck (SD Times Webinar)Practical Scrum with Kent Beck (SD Times Webinar)
Practical Scrum with Kent Beck (SD Times Webinar)Aslam Khan
 
Session : Behaviour Driven Development & Cucumber at Agile Thailand 2016
Session : Behaviour Driven Development & Cucumber at Agile Thailand 2016Session : Behaviour Driven Development & Cucumber at Agile Thailand 2016
Session : Behaviour Driven Development & Cucumber at Agile Thailand 2016Tanjai Kongyuen
 
Perl Behavior Driven Development (BDD)
Perl Behavior Driven Development (BDD)Perl Behavior Driven Development (BDD)
Perl Behavior Driven Development (BDD)Tudor Constantin
 
Monkey See Monkey Do
Monkey See Monkey DoMonkey See Monkey Do
Monkey See Monkey DoNaresh Jain
 
Agile to the top 2016 (EN)
Agile to the top 2016 (EN)Agile to the top 2016 (EN)
Agile to the top 2016 (EN)Luc Taesch
 
Behaviour Driven Development
Behaviour Driven DevelopmentBehaviour Driven Development
Behaviour Driven DevelopmentRichard Ruiter
 
Behavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsBehavior Driven Development Pros and Cons
Behavior Driven Development Pros and Consextentconf Tsoy
 

Andere mochten auch (20)

Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)Avatars of Test Driven Development (TDD)
Avatars of Test Driven Development (TDD)
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
Behavior Driven Development with Cucumber
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with Cucumber
 
An introduction to Behavior-Driven Development (BDD)
An introduction to Behavior-Driven Development (BDD)An introduction to Behavior-Driven Development (BDD)
An introduction to Behavior-Driven Development (BDD)
 
Bdd Introduction
Bdd IntroductionBdd Introduction
Bdd Introduction
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - Colombo
 
The WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecThe WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpec
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world application
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testing
 
Practical Scrum with Kent Beck (SD Times Webinar)
Practical Scrum with Kent Beck (SD Times Webinar)Practical Scrum with Kent Beck (SD Times Webinar)
Practical Scrum with Kent Beck (SD Times Webinar)
 
BDD
BDDBDD
BDD
 
Session : Behaviour Driven Development & Cucumber at Agile Thailand 2016
Session : Behaviour Driven Development & Cucumber at Agile Thailand 2016Session : Behaviour Driven Development & Cucumber at Agile Thailand 2016
Session : Behaviour Driven Development & Cucumber at Agile Thailand 2016
 
Perl Behavior Driven Development (BDD)
Perl Behavior Driven Development (BDD)Perl Behavior Driven Development (BDD)
Perl Behavior Driven Development (BDD)
 
Monkey See Monkey Do
Monkey See Monkey DoMonkey See Monkey Do
Monkey See Monkey Do
 
Agile to the top 2016 (EN)
Agile to the top 2016 (EN)Agile to the top 2016 (EN)
Agile to the top 2016 (EN)
 
Behaviour Driven Development
Behaviour Driven DevelopmentBehaviour Driven Development
Behaviour Driven Development
 
Behavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsBehavior Driven Development Pros and Cons
Behavior Driven Development Pros and Cons
 

Ähnlich wie BDD Behavior Driven Development

500 Startups Lean UX Bootcamp
500 Startups Lean UX Bootcamp500 Startups Lean UX Bootcamp
500 Startups Lean UX BootcampEnrique Allen
 
Tour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haagTour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haagPeter Boersma
 
Why UX Design Needs Content Strategy
Why UX Design Needs Content StrategyWhy UX Design Needs Content Strategy
Why UX Design Needs Content StrategyKaren McGrane
 
Designing an MVP that works for users (2 and 1/2 hours) @Lean UX NYC 2013
Designing an MVP that works for users (2 and 1/2 hours) @Lean UX NYC 2013Designing an MVP that works for users (2 and 1/2 hours) @Lean UX NYC 2013
Designing an MVP that works for users (2 and 1/2 hours) @Lean UX NYC 2013Ariadna Font Llitjos
 
Change agile for XP Days 2012 benelux v1.0
Change agile for XP Days 2012 benelux v1.0Change agile for XP Days 2012 benelux v1.0
Change agile for XP Days 2012 benelux v1.0Ben Linders
 
庖丁解牛用户故事 (Splitting Your User Story)
庖丁解牛用户故事 (Splitting Your User Story)庖丁解牛用户故事 (Splitting Your User Story)
庖丁解牛用户故事 (Splitting Your User Story)Odd-e
 
CXJourney Modeling
CXJourney ModelingCXJourney Modeling
CXJourney ModelingSøren Muus
 
The Straight Jacket of Agile Iteration
The Straight Jacket of Agile IterationThe Straight Jacket of Agile Iteration
The Straight Jacket of Agile IterationMichael Vax
 
500 Startups UX Bootcamp - Talk to your Effin Users
500 Startups UX Bootcamp - Talk to your Effin Users500 Startups UX Bootcamp - Talk to your Effin Users
500 Startups UX Bootcamp - Talk to your Effin UsersRick Boardman
 
More Elements of UX: real-world design deliverables
More Elements of UX: real-world design deliverablesMore Elements of UX: real-world design deliverables
More Elements of UX: real-world design deliverablesPeter Boersma
 
Flotree customer centered vision
Flotree   customer centered visionFlotree   customer centered vision
Flotree customer centered visionDave Flotree
 
Agile2012 uxd design mapping
Agile2012 uxd design mappingAgile2012 uxd design mapping
Agile2012 uxd design mappingdrewz lin
 
The RTFM of Usability at LUXR June 2011
The RTFM of Usability at LUXR June 2011The RTFM of Usability at LUXR June 2011
The RTFM of Usability at LUXR June 2011Rick Boardman
 
Lean UX Bootcamp @ 500 Startups - Intro to Usability
Lean UX Bootcamp @ 500 Startups - Intro to UsabilityLean UX Bootcamp @ 500 Startups - Intro to Usability
Lean UX Bootcamp @ 500 Startups - Intro to UsabilityRick Boardman
 
Avoiding the 11th Hour Sh*storm at SxSW
Avoiding the 11th Hour Sh*storm at SxSWAvoiding the 11th Hour Sh*storm at SxSW
Avoiding the 11th Hour Sh*storm at SxSWKaren McGrane
 
Dubbawala _ Ebay Virtual Courier Aggregator
Dubbawala _ Ebay Virtual Courier AggregatorDubbawala _ Ebay Virtual Courier Aggregator
Dubbawala _ Ebay Virtual Courier AggregatorManish Kanojia
 
Grethe Thilly - Portfolio
Grethe Thilly - PortfolioGrethe Thilly - Portfolio
Grethe Thilly - PortfolioGrethe Thilly
 
We are all content strategists now
We are all content strategists nowWe are all content strategists now
We are all content strategists nowKaren McGrane
 

Ähnlich wie BDD Behavior Driven Development (20)

500 Startups Lean UX Bootcamp
500 Startups Lean UX Bootcamp500 Startups Lean UX Bootcamp
500 Startups Lean UX Bootcamp
 
Tour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haagTour of UX deliverables - dev/haag
Tour of UX deliverables - dev/haag
 
solen user stories
solen user storiessolen user stories
solen user stories
 
Why UX Design Needs Content Strategy
Why UX Design Needs Content StrategyWhy UX Design Needs Content Strategy
Why UX Design Needs Content Strategy
 
Designing an MVP that works for users (2 and 1/2 hours) @Lean UX NYC 2013
Designing an MVP that works for users (2 and 1/2 hours) @Lean UX NYC 2013Designing an MVP that works for users (2 and 1/2 hours) @Lean UX NYC 2013
Designing an MVP that works for users (2 and 1/2 hours) @Lean UX NYC 2013
 
Change agile for XP Days 2012 benelux v1.0
Change agile for XP Days 2012 benelux v1.0Change agile for XP Days 2012 benelux v1.0
Change agile for XP Days 2012 benelux v1.0
 
庖丁解牛用户故事 (Splitting Your User Story)
庖丁解牛用户故事 (Splitting Your User Story)庖丁解牛用户故事 (Splitting Your User Story)
庖丁解牛用户故事 (Splitting Your User Story)
 
CXJourney Modeling
CXJourney ModelingCXJourney Modeling
CXJourney Modeling
 
The Straight Jacket of Agile Iteration
The Straight Jacket of Agile IterationThe Straight Jacket of Agile Iteration
The Straight Jacket of Agile Iteration
 
500 Startups UX Bootcamp - Talk to your Effin Users
500 Startups UX Bootcamp - Talk to your Effin Users500 Startups UX Bootcamp - Talk to your Effin Users
500 Startups UX Bootcamp - Talk to your Effin Users
 
More Elements of UX: real-world design deliverables
More Elements of UX: real-world design deliverablesMore Elements of UX: real-world design deliverables
More Elements of UX: real-world design deliverables
 
Flotree customer centered vision
Flotree   customer centered visionFlotree   customer centered vision
Flotree customer centered vision
 
Agile2012 uxd design mapping
Agile2012 uxd design mappingAgile2012 uxd design mapping
Agile2012 uxd design mapping
 
The RTFM of Usability at LUXR June 2011
The RTFM of Usability at LUXR June 2011The RTFM of Usability at LUXR June 2011
The RTFM of Usability at LUXR June 2011
 
Lean UX Bootcamp @ 500 Startups - Intro to Usability
Lean UX Bootcamp @ 500 Startups - Intro to UsabilityLean UX Bootcamp @ 500 Startups - Intro to Usability
Lean UX Bootcamp @ 500 Startups - Intro to Usability
 
Avoiding the 11th Hour Sh*storm at SxSW
Avoiding the 11th Hour Sh*storm at SxSWAvoiding the 11th Hour Sh*storm at SxSW
Avoiding the 11th Hour Sh*storm at SxSW
 
Dubbawala _ Ebay Virtual Courier Aggregator
Dubbawala _ Ebay Virtual Courier AggregatorDubbawala _ Ebay Virtual Courier Aggregator
Dubbawala _ Ebay Virtual Courier Aggregator
 
Juicy Stories: Creating Empathy and Connection
Juicy Stories: Creating Empathy and ConnectionJuicy Stories: Creating Empathy and Connection
Juicy Stories: Creating Empathy and Connection
 
Grethe Thilly - Portfolio
Grethe Thilly - PortfolioGrethe Thilly - Portfolio
Grethe Thilly - Portfolio
 
We are all content strategists now
We are all content strategists nowWe are all content strategists now
We are all content strategists now
 

Mehr von Naresh Jain

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignNaresh Jain
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteNaresh Jain
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational ResilienceNaresh Jain
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming CodeNaresh Jain
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference SummaryNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingNaresh Jain
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniNaresh Jain
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniNaresh Jain
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarNaresh Jain
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppNaresh Jain
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdNaresh Jain
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Naresh Jain
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNaresh Jain
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016Naresh Jain
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 ConferenceNaresh Jain
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTNaresh Jain
 

Mehr von Naresh Jain (20)

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
 

Kürzlich hochgeladen

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

BDD Behavior Driven Development

  • 1. Behavior Driven Development Naresh Jain naresh@agilefaqs.com @nashjain http://nareshjain.com Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 2. Warmup Scenarios Pick one scenario and in relation to your scenario, what are the specific observable results that will tell you that the activity has been successfully completed? Going out for Movie (THX sound and Digital projection) Going out for meal (one veg.) Going shopping ($50) [5 Minutes] Present back to the group your findings. [3 minutes per group] Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 4. Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 6.
  • 7. Product  Discovery  -­‐  Overview Personas Elevator Business Pragmatic User Pitch Goals Personas Goals Chartering Scenarios Day in Life & of each Narratives Persona Story Mapping Activity Map Interaction UI Sketch Task Map Design Planning Grouping Reiterating Prioritization by Themes User Story Authoring Acceptance User Criteria Stories
  • 8. Vision Elevator Business Pitch Goals Goal Chartering Personas Pragmatic User Personas Goals Capability Day in Life Scenarios & of each Narratives Persona Story Mapping Feature Activity Map UI Sketch Interaction Design Task Map Story Planning Grouping by Reiterating Scenario Prioritization Themes User Story Authoring Acceptance User Stories Criteria Code
  • 9. User Stories What are we really trying to build? Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 10. What is a Story? Story is a smallest piece of functionality that add business value Stories should follow Ron Jeffries’ 3 Cs Card – Placeholder for conversation Conversation – Actual discussion between dev team and user Confirmation – Acceptance criteria to determine when the story is finished Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 11. Typical Story Format Story Title - Actor Action Context In order to... <user goal/business justification> As a .. <user who requires this feature> I need .. <do something> Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 12. Story Example Title: Keen Reader subscribes to a blog In order to stay up-to-date with new posts As a keen reader of your blog I need to subscribe to your blog Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 13. Another Story Example Title: Social Networking Enthusiast uploads profile picture In order for my friends to see how I look and recognize me As a Social Networking Enthusiast I need to upload my profile picture Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 14. Stories are fundamental unit of activity Business Goals Product Backlog Release Backlog Sprint Backlog Inception Release planning Iteration planning User Goals As a ____, I want to As a ____, I want to As a ____, I want to be able to ____ so be able to ____ so be able to ____ so that ____ that ____ that ____ Possible automation of the acceptance test I will know this is I will know this is done when _______ done when _______ Might have an initial estimate (perhaps for both analysis and development), Development team and an expression of breaks out the technical and business To do this I must: detail of work confidence that this is real More detailed estimate, and 1) _____ needed to pass test and achievable a specific acceptance test – 2) _____ low confidence stories might be “spiked” or prototyped Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 15. What makes a good Story? Stories should follow the INVEST principle: Independent Negotiable Valuable Estimateable Small Testable Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 16. Scenarios Acceptance Criteria Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 17. Scenario Is a set of conditions that the Story must meet for it to be accepted as complete Is typically provided by the customer or product owner. Is not a replacement for conversation. Is the results of the conversation Scenarios are NOT tests Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 18. Writing Scenarios Scenario should contain: ACTOR VERB – DESCRIBING A BEHAVIOR OBSERVABLE RESULT To accommodate pre-conditions scenarios can be expressed as Given [Precondition] When [Actor + Action] Then [Observable Result] Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 19. Example Social Networking Enthusiast uploads profile picture Given the user has a valid facebook account and a digital picture on her computer, When she uploads a picture in facebook, Then her the picture should be visible to all her friends in her network. Given an user is trying to find a friend on facebook, When the user searches for a person using their name, Then their profile picture should be displayed along with other details. In order to keep facebook's reputation intact and stay out of legal hassles As owner of facebook, I need users to upload authentic, personal profile picture Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 20. Cucumber Style BDD Feature: Login In order to access secure content As a registered user I need to authenticate myself Scenario: Login with valid credentials Given I am not logged in When I try to login with "test" and "secret" Then I should be logged in Scenario: Login with invalid credentials Given I am not logged in When I try to login with "test" and "wrongpassword" Then I should not be logged in And I should be shown error message "Invalid username or password" Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 21. Step Definition Given /^I am not logged in$/ do browser.navigate_to("http://your_url.com") end When /^I try to login with "([^"]*)" and "([^"]*)"$/ do |username, password| browser.textbox("user").value = username browser.password("password").value = password browser.submit("Login").click end Then /^I should be logged in$/ do Then /^I should not be logged in$/ do if !browser.button("Logout").exists? if !browser.submit("Login").exists? raise "Not logged in" raise "Logged in" end end end end Then /^I should be shown error message "([^"]*)"$/ do |msg| value = browser.div("errorMessage").text if value != msg raise "Incorrect message: #{value}" end end Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 22. Acceptance Criteria & Tests: Definition Acceptance Tests Acceptance Criteria + Examples (data + scenarios) Acceptance Tests Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 23. Scenarios = Executable Tests Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 24. Tasks Team members further break down each story into tasks that need to be completed to meet the acceptance criteria for the story. To accomplish this story: we start off with a simple upload and image display restrict user to only upload certain image types (gif, jpg and png) figure out where to store the image. (performant and fault-tolerant) scale down (size, resolution, etc.) of the image and so on... Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 25. Demo Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 26. BDD Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 27. Key Questions Business Facing Are we building the right product? Are we building the product right? Technology/Implementation Facing Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 28. Brian Marick’s Test Categorization Business Facing Supports Programming Critique product Technology/Implementation Facing Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 29. It Helps to Think of Tests this way... Business Facing Acceptance Testing Exploratory Testing Drives Development Critique product Low-fi prototypes UI and Usability Testing Performance Testing Unit Testing System Tests Technology/Implementation Facing Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 30. Inverting the Testing Pyramid Typical testing strategies lead to an inverted testing pyramid... Manual Checking End-to-End GUI Tests 80-90% Integration 5-15% Tests Unit Tests 1-5% Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 31. Inverting the Testing Pyramid GUI 1% Tests Performance Tests End to End 4% Security Flow Tests Tests One Layer Below GUI Workflow Tests 6% Integration Test 9% Biz Logic Acceptance Tests 10% Unit Tests 70% This is the need of the hours... Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 32. Test Driven Development Add a Test Pass Run the Test Fail TDD Rhythm - Test, Code, Refactor Make a little change Fail Run the Test Pass Refactor Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 33. Behavior Driven Development Iteration Automated Acceptance Tests P Scenario E R F O R Story Automated M Unit Test E T Automated UI N E C Tests S E T S Automated Acceptance Tests Exploratory Scenario Testing Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 34. Benefits of BDD Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 35. Why? Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 36. Better Commitment and Buy-in Focus on Business Value Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 37. Ubiquitous Domain Language Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 38. Right focus Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 39. Evolutionary Design Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 40. Breaking the Knowledge Silos in Distributed Team Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 41. Greater ROI Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 42. Predictability & Confidence Copyright © 2013, AgileFAQs. All Rights Reserved.
  • 43. Thank you Naresh Jain naresh@agilefaqs.com Copyright © 2013, AgileFAQs. All Rights Reserved.