SlideShare a Scribd company logo
Scrum + Behavior Driven
Development (BDD)
Naveen Kumar Singh
@naveenhome
Naveen Kumar Singh
Professional Scrum Trainer (PST) at Scrum.Org
Works as consultant agile coach and facilitator in software development field
Facilitate Scrum.Org and Scrum Alliance Training workshop
20 years working experience in product as well as service companies including Xerox,
Convergys, Cognizant and many more
Have been teaching and coaching multiple organizations on agile and engineering
practices including Hays, Danfoss, KMG Infotech, Stryker, Robert Bosch, NCR Corporation
and many more
Strength – Demonstrable knowledge about Scrum, Kanban and Large-Scale Scrum
(LeSS, Nexus, Spotify) with Technical practices such TDD, BDD, CI/CD, DevOps
Weakness – Don’t go by book and don’t like prescriptive frameworks
DON’T BLAME WATERFALL. WE HAVE
NOT USED IT FOR DEVELOPMENT
IS THIS WORKING?
Specification
Coding
Test cases
Testing
Deploy
Rework
SO WHAT TO DO?
Max 2 suggestions
per team 10
Mins
WHAT WILL COVER HERE?
Impact Mapping Goal Impact
Story MappingDeliverables User Activities Features
Specification
by Examples/BDD
User Stories Acceptance
Criteria
Examples
Test First Source Code
BUT OUR TOPIC SAY SCRUM + BDD SO
WHERE IS SCRUM?
WHAT’S NEEDED TO START SCRUM?
Problem Statement – Traffic jam in Dubai during pick
hours
You as stakeholder - What can you do beside blaming
government?
Simple solution - Are you Okay with Car Pooling?
What stopping you?
GOAL
Let’s develop Car Pool Application
Registration Share Ride Book Ride Payment Review
CAN START DEVELOPMENT?
Too big to develop and requirement is not yet clear?
So what Next? Refinement
Registration Share Ride Book Ride Payment Review
PRODUCT BACKLOG REFINEMENT
When we refine? Couple of time before 1st sprint and then continuous.
Who do that? Product Owner and Development Team
What we do? Understand, Split, Estimate and Order
How to spilt? Is INVEST enough?
SOME SPLITTING TECHNIQUE
Split based on WORKFLOW
Registration Signup Verification Login
Login
Manage
Profile
Logout
SOME SPLITTING TECHNIQUE
Split based on OPERATION
Share Ride
Publish New
Ride
View and
Confirm
Modify Ride
Search all
My ride
Delete Ride View Only
SOME SPLITTING TECHNIQUE
Split based on RULES
Signup No Rules Only 18+
Only IT
People
Only
Colombo
People
SOME SPLITTING TECHNIQUE
Split based on DATA TYPE
Payment
Return
Favor
Credit Card Cash Card
Account
Transfer
Food
Coupon
TRY SPLITTING 2 PER GROUP
Signup Verification
Manage
Profile
Publish New
Ride
Book Ride Review Credit Card Search Ride
10
Mins
SO CAN WE START SPRINT?
We need acceptance criteria.
Not more than 3-4 criteria for a story.
ACCEPTANCE CRITERIA
Feature: Quick Post
As a car owner I want to post my ride with minimum requirement so
that anyone can register for it.
ACCEPTANCE CRITERIA – WHY?
Define
boundaries
Provide
values to
feature
Shared
understanding
Help in derive
tests
Help in
knowing
when to stop
ACCEPTANCE CRITERIA
Source:______________ Destination:________________
Time:________________ #Seat available:_____________
Name:_______________ Email:______________________
Phone:_______________
Cancel Submit
Share Your Ride
ACCEPTANCE CRITERIA
Feature: Quick Post
As a car owner I want to post my ride with minimum requirement so that
anyone can register for it.
Data must be searchable
Ensure only valid data getting saved
Cancel should clear data so user can add new ride
Successful submission will redirect user on home page
DISCUSSION OF ACCEPTANCE
CRITERIA
If(user==“new”
{
object = user
}
Else
error
We should encourage
employee to update
rides
Login -> Click on
“New” and enter test
data and then Result
&%$^&
COLLABORATION OF 3 AMIGOS
Technical
Feasibility
Happy Path
Exceptions, Test
Data, Boundary
Conditions
Developer Business Tester
BUILDING RIGHT OR RIGHT PRODUCT?
Business Failure
Useless Stuff
Business Success
Technical Debts
Specification By
Example
Build it Right
Build the Right Things
WHAT ARE SPECIFICATIONS BY
EXAMPLE
 Thin Slices of System Behavior
 That Deliver Business Value
 Described as concrete examples
 That are potentially automatable
 To create executable specifications
 Captured in live documentation
SPECIFICATIONS BY COLLABORATION
WHAT ARE SPECIFICATIONS BY
EXAMPLE
Given_________________
When_________________
Then__________________
Gherkin
Given “Naveen” enter source “Office” and destination “Airport”
and time “5.30pm” with 2 seats available
And he provides his mail id “naveenhome@gmail.com” and
phone number “9810547500”
When Click on “Submit”
Then Display message “Ride Share” with “OK” button
And take “Naveen” to “home” page on click on “OK”
And his ride should be shown on top
ACCEPTANCE CRITERIA
Feature: Quick Post
Successful submission will redirect user on home page
Given “Naveen” enter source “Office” and destination “Airport”
and time “5.30pm” with 2 seats available
And he provides his mail id “naveenhome@gmail.com” and
phone number “9810547500”
When Click on “Submit”
Then Display message “Ride Share” with “OK” button
And take “Naveen” to “home” page on click on “OK”
And his ride should be shown on top
GHERKIN
 Feature – Name of feature
 Scenario – Behavior to be developed
 Given – Pre-conditions
 When – Actions to be performed
 Then – Expected Result
 And – Use for multiple Given, When & Then
 But – Describe exception cases
 Scenario Outline – Define multiple scenarios
 Examples – Multiple Scenarios
 Background – Avoid repeated Given
CAN WE START SPRINT NOW?
 Why not? We have testable specification so let’s start
 Let’s make a rule for team to have examples for every
specification
 If examples not available then specification will not get
picked up for sprint
 Convert examples in test is our first activity
 Write enough code to pass those tests
TEST FIRST
Test
Code
Test Again
Refactor
Pass
Fail
Fail
BEHAVIOR DRIVEN DEVELOPMENT
BDD
Given Scenario
Then Expected
Outcome
When Perform
Action
LET’S GET STARTED
 Write Feature to describe scenario in Gherkin
 Eclipse, Java, Cucumber, Selenium, Junit
 Create Test Runner class file
 Generate Steps file
 Write code to pass test
BDD - CHARACTERISTICS
 A testable story (it should be the smallest unit that fits in an
iteration)
 The title should describe an activity
 The narrative should include a role, a feature, and a benefit
 The scenario title should say what's different
 The scenario should be described in terms of Givens, Events,
and Outcomes
 The givens should define all of, and no more than, the
required context
 The event should describe the feature
BDD - LIFECYCLE
3
5
Your Project Features Scenarios Steps
Your System
Automation
Library
Support Code
Step
Definitions
Technology
Facing
Business
Facing
THANK YOU!
Reach out to me if session was helpful 
I Facilitate below workshop. naveenhome@gmail.com
Certified Scrum Developer (CSD) - Scrum Alliance
Product Discovery and Requirement Analysis
Test Driven Development (TDD)
Behavior Driven Development (BDD)
ICAgile Agile Testing and Test Automation
Professional Scrum Master (PSM) - Scrum.org
ICAgile DevOps Foundation
Professional Scrum Foundation (PSF) – Scrum.org

More Related Content

PPTX
Defining tasks for User Stories
PDF
ProServBootCamp
PPTX
Effective user stories for your agile or Scrum team
PPTX
Start building for voice with alexa
PDF
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
PPTX
Scrum + Behavior Driven Development (BDD) - Colombo
PDF
Successfully Implementing BDD in an Agile World
PDF
Defining tasks for User Stories
ProServBootCamp
Effective user stories for your agile or Scrum team
Start building for voice with alexa
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Scrum + Behavior Driven Development (BDD) - Colombo
Successfully Implementing BDD in an Agile World

Similar to Scrum and BDD for Developers with Naveen Kumar (20)

PDF
Behavior Driven Development
PDF
Engineering Software and Software Lifecycle
PDF
Expo qa from user stories to automated acceptance tests with bdd
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
PDF
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
PDF
Writing Requirements Right
PPTX
Using Stories to Test Requirements and Systems
PPTX
Test automation, agile testing; dev ops summit hyderabad Bdd with cucumber
PPTX
Agile software requirements management with Impact Mapping and BDD
PPTX
Acceptance Test Driven Development
PPTX
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
PDF
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
PPTX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
PPTX
Implementing BDD at scale for agile and DevOps teams
PPTX
How To Write User Stories
PPTX
Agile Testing and Test Automation
PPTX
Intro to agile testing
PPTX
Behaviour Driven Development with SpecFlow
PPTX
Bdd. Automate your requirements
Behavior Driven Development
Engineering Software and Software Lifecycle
Expo qa from user stories to automated acceptance tests with bdd
Implement BDD with Cucumber and SpecFlow
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
Writing Requirements Right
Using Stories to Test Requirements and Systems
Test automation, agile testing; dev ops summit hyderabad Bdd with cucumber
Agile software requirements management with Impact Mapping and BDD
Acceptance Test Driven Development
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Implementing BDD at scale for agile and DevOps teams
How To Write User Stories
Agile Testing and Test Automation
Intro to agile testing
Behaviour Driven Development with SpecFlow
Bdd. Automate your requirements
Ad

More from Agile ME (20)

PDF
People Over Process: Unlocking Agile Success Through Culture and Well-being b...
PDF
The Era of Co-Intelligence: Artificial Intelligence and Consciousness Intelli...
PDF
Navigating Uncertainty with Agility: Adaptive Planning for Value-Driven Deliv...
PDF
Workshop: Mastering Enterprise Agility: From Tension to Transformation by Zia...
PDF
Redefining Failure: Creating a Culture Where Setbacks Are Seen as Catalysts f...
PDF
Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...
PDF
Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...
PDF
Boosting Agile Teams with AI: Automate Workflows & Enhance Collaboration by T...
PDF
Workshop: The Art of Prompt Engineering for Agile Teams by Sanjit Bhattacharya
PDF
Navigating Success: The Lean Compass to Effective Problem Solving by Waleed M...
PDF
Beyond agile: a case study of a fully autonomous company by Mehmet Yitmen
PDF
Agile at the Crossroads: Navigating a Post-Framework World by Matthew Philip
PDF
Leadership in the AI Era: The Reinvention of Human-Centered Leadership by Bor...
PPTX
When agile meets governance, risk and compliance (GRC)
PPTX
Servant leadership for traditional manager by Wajih Aslam and Ramus Runberg
PDF
Agile Approach for Innovation Management by Mohammad Musleh
PDF
In Agile Transformation, C comes before A by Syed Riyazuddin
PDF
Agile Architecture (Scrum + DevOps) by Milan Chheda
PDF
Building products that are cheap,fast and good by Anand Murthy Raj
PDF
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...
People Over Process: Unlocking Agile Success Through Culture and Well-being b...
The Era of Co-Intelligence: Artificial Intelligence and Consciousness Intelli...
Navigating Uncertainty with Agility: Adaptive Planning for Value-Driven Deliv...
Workshop: Mastering Enterprise Agility: From Tension to Transformation by Zia...
Redefining Failure: Creating a Culture Where Setbacks Are Seen as Catalysts f...
Below the Wing: The Stories Behind Etihad’s Agile Transformation by Peter Lin...
Workshop: No (Lab) Jacket Required: Designing Experiments for Learning by Mat...
Boosting Agile Teams with AI: Automate Workflows & Enhance Collaboration by T...
Workshop: The Art of Prompt Engineering for Agile Teams by Sanjit Bhattacharya
Navigating Success: The Lean Compass to Effective Problem Solving by Waleed M...
Beyond agile: a case study of a fully autonomous company by Mehmet Yitmen
Agile at the Crossroads: Navigating a Post-Framework World by Matthew Philip
Leadership in the AI Era: The Reinvention of Human-Centered Leadership by Bor...
When agile meets governance, risk and compliance (GRC)
Servant leadership for traditional manager by Wajih Aslam and Ramus Runberg
Agile Approach for Innovation Management by Mohammad Musleh
In Agile Transformation, C comes before A by Syed Riyazuddin
Agile Architecture (Scrum + DevOps) by Milan Chheda
Building products that are cheap,fast and good by Anand Murthy Raj
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...
Ad

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Spectroscopy.pptx food analysis technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Big Data Technologies - Introduction.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Cloud computing and distributed systems.
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Building Integrated photovoltaic BIPV_UPV.pdf
Spectral efficient network and resource selection model in 5G networks
Chapter 3 Spatial Domain Image Processing.pdf
Approach and Philosophy of On baking technology
Programs and apps: productivity, graphics, security and other tools
Spectroscopy.pptx food analysis technology
Advanced methodologies resolving dimensionality complications for autism neur...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
MYSQL Presentation for SQL database connectivity
Big Data Technologies - Introduction.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
NewMind AI Weekly Chronicles - August'25 Week I
Empathic Computing: Creating Shared Understanding
Cloud computing and distributed systems.
The AUB Centre for AI in Media Proposal.docx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation_ Review paper, used for researhc scholars
Digital-Transformation-Roadmap-for-Companies.pptx

Scrum and BDD for Developers with Naveen Kumar

  • 1. Scrum + Behavior Driven Development (BDD) Naveen Kumar Singh @naveenhome
  • 2. Naveen Kumar Singh Professional Scrum Trainer (PST) at Scrum.Org Works as consultant agile coach and facilitator in software development field Facilitate Scrum.Org and Scrum Alliance Training workshop 20 years working experience in product as well as service companies including Xerox, Convergys, Cognizant and many more Have been teaching and coaching multiple organizations on agile and engineering practices including Hays, Danfoss, KMG Infotech, Stryker, Robert Bosch, NCR Corporation and many more Strength – Demonstrable knowledge about Scrum, Kanban and Large-Scale Scrum (LeSS, Nexus, Spotify) with Technical practices such TDD, BDD, CI/CD, DevOps Weakness – Don’t go by book and don’t like prescriptive frameworks
  • 3. DON’T BLAME WATERFALL. WE HAVE NOT USED IT FOR DEVELOPMENT
  • 4. IS THIS WORKING? Specification Coding Test cases Testing Deploy Rework
  • 5. SO WHAT TO DO? Max 2 suggestions per team 10 Mins
  • 6. WHAT WILL COVER HERE? Impact Mapping Goal Impact Story MappingDeliverables User Activities Features Specification by Examples/BDD User Stories Acceptance Criteria Examples Test First Source Code
  • 7. BUT OUR TOPIC SAY SCRUM + BDD SO WHERE IS SCRUM?
  • 8. WHAT’S NEEDED TO START SCRUM? Problem Statement – Traffic jam in Dubai during pick hours You as stakeholder - What can you do beside blaming government? Simple solution - Are you Okay with Car Pooling? What stopping you?
  • 9. GOAL Let’s develop Car Pool Application Registration Share Ride Book Ride Payment Review
  • 10. CAN START DEVELOPMENT? Too big to develop and requirement is not yet clear? So what Next? Refinement Registration Share Ride Book Ride Payment Review
  • 11. PRODUCT BACKLOG REFINEMENT When we refine? Couple of time before 1st sprint and then continuous. Who do that? Product Owner and Development Team What we do? Understand, Split, Estimate and Order How to spilt? Is INVEST enough?
  • 12. SOME SPLITTING TECHNIQUE Split based on WORKFLOW Registration Signup Verification Login Login Manage Profile Logout
  • 13. SOME SPLITTING TECHNIQUE Split based on OPERATION Share Ride Publish New Ride View and Confirm Modify Ride Search all My ride Delete Ride View Only
  • 14. SOME SPLITTING TECHNIQUE Split based on RULES Signup No Rules Only 18+ Only IT People Only Colombo People
  • 15. SOME SPLITTING TECHNIQUE Split based on DATA TYPE Payment Return Favor Credit Card Cash Card Account Transfer Food Coupon
  • 16. TRY SPLITTING 2 PER GROUP Signup Verification Manage Profile Publish New Ride Book Ride Review Credit Card Search Ride 10 Mins
  • 17. SO CAN WE START SPRINT? We need acceptance criteria. Not more than 3-4 criteria for a story.
  • 18. ACCEPTANCE CRITERIA Feature: Quick Post As a car owner I want to post my ride with minimum requirement so that anyone can register for it.
  • 19. ACCEPTANCE CRITERIA – WHY? Define boundaries Provide values to feature Shared understanding Help in derive tests Help in knowing when to stop
  • 20. ACCEPTANCE CRITERIA Source:______________ Destination:________________ Time:________________ #Seat available:_____________ Name:_______________ Email:______________________ Phone:_______________ Cancel Submit Share Your Ride
  • 21. ACCEPTANCE CRITERIA Feature: Quick Post As a car owner I want to post my ride with minimum requirement so that anyone can register for it. Data must be searchable Ensure only valid data getting saved Cancel should clear data so user can add new ride Successful submission will redirect user on home page
  • 22. DISCUSSION OF ACCEPTANCE CRITERIA If(user==“new” { object = user } Else error We should encourage employee to update rides Login -> Click on “New” and enter test data and then Result &%$^&
  • 23. COLLABORATION OF 3 AMIGOS Technical Feasibility Happy Path Exceptions, Test Data, Boundary Conditions Developer Business Tester
  • 24. BUILDING RIGHT OR RIGHT PRODUCT? Business Failure Useless Stuff Business Success Technical Debts Specification By Example Build it Right Build the Right Things
  • 25. WHAT ARE SPECIFICATIONS BY EXAMPLE  Thin Slices of System Behavior  That Deliver Business Value  Described as concrete examples  That are potentially automatable  To create executable specifications  Captured in live documentation
  • 27. WHAT ARE SPECIFICATIONS BY EXAMPLE Given_________________ When_________________ Then__________________ Gherkin Given “Naveen” enter source “Office” and destination “Airport” and time “5.30pm” with 2 seats available And he provides his mail id “naveenhome@gmail.com” and phone number “9810547500” When Click on “Submit” Then Display message “Ride Share” with “OK” button And take “Naveen” to “home” page on click on “OK” And his ride should be shown on top
  • 28. ACCEPTANCE CRITERIA Feature: Quick Post Successful submission will redirect user on home page Given “Naveen” enter source “Office” and destination “Airport” and time “5.30pm” with 2 seats available And he provides his mail id “naveenhome@gmail.com” and phone number “9810547500” When Click on “Submit” Then Display message “Ride Share” with “OK” button And take “Naveen” to “home” page on click on “OK” And his ride should be shown on top
  • 29. GHERKIN  Feature – Name of feature  Scenario – Behavior to be developed  Given – Pre-conditions  When – Actions to be performed  Then – Expected Result  And – Use for multiple Given, When & Then  But – Describe exception cases  Scenario Outline – Define multiple scenarios  Examples – Multiple Scenarios  Background – Avoid repeated Given
  • 30. CAN WE START SPRINT NOW?  Why not? We have testable specification so let’s start  Let’s make a rule for team to have examples for every specification  If examples not available then specification will not get picked up for sprint  Convert examples in test is our first activity  Write enough code to pass those tests
  • 32. BEHAVIOR DRIVEN DEVELOPMENT BDD Given Scenario Then Expected Outcome When Perform Action
  • 33. LET’S GET STARTED  Write Feature to describe scenario in Gherkin  Eclipse, Java, Cucumber, Selenium, Junit  Create Test Runner class file  Generate Steps file  Write code to pass test
  • 34. BDD - CHARACTERISTICS  A testable story (it should be the smallest unit that fits in an iteration)  The title should describe an activity  The narrative should include a role, a feature, and a benefit  The scenario title should say what's different  The scenario should be described in terms of Givens, Events, and Outcomes  The givens should define all of, and no more than, the required context  The event should describe the feature
  • 35. BDD - LIFECYCLE 3 5 Your Project Features Scenarios Steps Your System Automation Library Support Code Step Definitions Technology Facing Business Facing
  • 36. THANK YOU! Reach out to me if session was helpful  I Facilitate below workshop. naveenhome@gmail.com Certified Scrum Developer (CSD) - Scrum Alliance Product Discovery and Requirement Analysis Test Driven Development (TDD) Behavior Driven Development (BDD) ICAgile Agile Testing and Test Automation Professional Scrum Master (PSM) - Scrum.org ICAgile DevOps Foundation Professional Scrum Foundation (PSF) – Scrum.org