SlideShare a Scribd company logo
1 of 36
Download to read offline
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

Similar to Scrum and BDD for Developers with Naveen Kumar

Vertex presentation 2015
Vertex presentation 2015Vertex presentation 2015
Vertex presentation 2015Darren Kane
 
SwatiKashEx_TeResume
SwatiKashEx_TeResumeSwatiKashEx_TeResume
SwatiKashEx_TeResumeSwati Kumari
 
A journey to_be_a_software_craftsman
A journey to_be_a_software_craftsmanA journey to_be_a_software_craftsman
A journey to_be_a_software_craftsmanJaehoon Oh
 
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo RiolWebinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo RiolatSistemas
 
Expo qa from user stories to automated acceptance tests with bdd
Expo qa   from user stories to automated acceptance tests with bddExpo qa   from user stories to automated acceptance tests with bdd
Expo qa from user stories to automated acceptance tests with bddEduardo Riol
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDaysJKT
 
Test team dynamics, Антон Мужайло
Test team dynamics, Антон МужайлоTest team dynamics, Антон Мужайло
Test team dynamics, Антон МужайлоSigma Software
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
 
How to Add Test Automation to your Quality Assurance Toolbelt
How to Add Test Automation to your Quality Assurance ToolbeltHow to Add Test Automation to your Quality Assurance Toolbelt
How to Add Test Automation to your Quality Assurance ToolbeltBrett Tramposh
 
The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010scrummasternz
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryNaveen Kumar Singh
 
Finding The Agile Sweet Spot
Finding The Agile Sweet SpotFinding The Agile Sweet Spot
Finding The Agile Sweet SpotCharles Husemann
 
How Custom is your Org? CEER at Dreamforce 2019
How Custom is your Org?  CEER at Dreamforce 2019How Custom is your Org?  CEER at Dreamforce 2019
How Custom is your Org? CEER at Dreamforce 2019Steven Herod
 
Enterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't EnterpriseEnterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't EnterpriseChris Tankersley
 
Bdd masterclass
Bdd masterclassBdd masterclass
Bdd masterclassMagenTys
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersAdam Englander
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopJim Plush
 

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

Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD Gateway to Agile: XP and BDD
Gateway to Agile: XP and BDD
 
Vertex presentation 2015
Vertex presentation 2015Vertex presentation 2015
Vertex presentation 2015
 
SwatiKashEx_TeResume
SwatiKashEx_TeResumeSwatiKashEx_TeResume
SwatiKashEx_TeResume
 
Agile testing
Agile testingAgile testing
Agile testing
 
A journey to_be_a_software_craftsman
A journey to_be_a_software_craftsmanA journey to_be_a_software_craftsman
A journey to_be_a_software_craftsman
 
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo RiolWebinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
 
Expo qa from user stories to automated acceptance tests with bdd
Expo qa   from user stories to automated acceptance tests with bddExpo qa   from user stories to automated acceptance tests with bdd
Expo qa from user stories to automated acceptance tests with bdd
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
Test team dynamics, Антон Мужайло
Test team dynamics, Антон МужайлоTest team dynamics, Антон Мужайло
Test team dynamics, Антон Мужайло
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
How to Add Test Automation to your Quality Assurance Toolbelt
How to Add Test Automation to your Quality Assurance ToolbeltHow to Add Test Automation to your Quality Assurance Toolbelt
How to Add Test Automation to your Quality Assurance Toolbelt
 
The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010The Role of a BA on a Scrum Team IIBA Presentation 2010
The Role of a BA on a Scrum Team IIBA Presentation 2010
 
Scrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful deliveryScrum plus – why scrum is not enough for successful delivery
Scrum plus – why scrum is not enough for successful delivery
 
Finding The Agile Sweet Spot
Finding The Agile Sweet SpotFinding The Agile Sweet Spot
Finding The Agile Sweet Spot
 
How Custom is your Org? CEER at Dreamforce 2019
How Custom is your Org?  CEER at Dreamforce 2019How Custom is your Org?  CEER at Dreamforce 2019
How Custom is your Org? CEER at Dreamforce 2019
 
Enterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't EnterpriseEnterprise Workflows When You Aren't Enterprise
Enterprise Workflows When You Aren't Enterprise
 
Bdd masterclass
Bdd masterclassBdd masterclass
Bdd masterclass
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for Beginners
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
 
ATDD open house
ATDD open houseATDD open house
ATDD open house
 

More from Agile ME

When agile meets governance, risk and compliance (GRC)
When agile meets governance, risk and compliance (GRC)When agile meets governance, risk and compliance (GRC)
When agile meets governance, risk and compliance (GRC)Agile ME
 
Servant leadership for traditional manager by Wajih Aslam and Ramus Runberg
Servant leadership for traditional manager by Wajih Aslam and Ramus RunbergServant leadership for traditional manager by Wajih Aslam and Ramus Runberg
Servant leadership for traditional manager by Wajih Aslam and Ramus RunbergAgile ME
 
Agile Approach for Innovation Management by Mohammad Musleh
Agile Approach for Innovation Management by Mohammad MuslehAgile Approach for Innovation Management by Mohammad Musleh
Agile Approach for Innovation Management by Mohammad MuslehAgile ME
 
In Agile Transformation, C comes before A by Syed Riyazuddin
In Agile Transformation, C comes before A by Syed RiyazuddinIn Agile Transformation, C comes before A by Syed Riyazuddin
In Agile Transformation, C comes before A by Syed RiyazuddinAgile ME
 
Agile Architecture (Scrum + DevOps) by Milan Chheda
Agile Architecture (Scrum + DevOps) by Milan ChhedaAgile Architecture (Scrum + DevOps) by Milan Chheda
Agile Architecture (Scrum + DevOps) by Milan ChhedaAgile ME
 
Building products that are cheap,fast and good by Anand Murthy Raj
Building products that are cheap,fast and good by Anand Murthy RajBuilding products that are cheap,fast and good by Anand Murthy Raj
Building products that are cheap,fast and good by Anand Murthy RajAgile ME
 
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...Agile ME
 
Principles over Processes: Lasting Change in your Agile Transformation by Zia...
Principles over Processes: Lasting Change in your Agile Transformation by Zia...Principles over Processes: Lasting Change in your Agile Transformation by Zia...
Principles over Processes: Lasting Change in your Agile Transformation by Zia...Agile ME
 
Agile, DevOps, Cloud - practical tools of Digital Transformation by Paul Poli...
Agile, DevOps, Cloud - practical tools of Digital Transformation by Paul Poli...Agile, DevOps, Cloud - practical tools of Digital Transformation by Paul Poli...
Agile, DevOps, Cloud - practical tools of Digital Transformation by Paul Poli...Agile ME
 
Agile Roles: where does everyone fit in an agile organization
Agile Roles: where does everyone fit in an agile organizationAgile Roles: where does everyone fit in an agile organization
Agile Roles: where does everyone fit in an agile organizationAgile ME
 
AgileME meetup Introduction to the agile mindset
AgileME meetup Introduction to the agile mindsetAgileME meetup Introduction to the agile mindset
AgileME meetup Introduction to the agile mindsetAgile ME
 
Scaling With Agile
Scaling With AgileScaling With Agile
Scaling With AgileAgile ME
 
Disciplined Agile Delivery
Disciplined Agile DeliveryDisciplined Agile Delivery
Disciplined Agile DeliveryAgile ME
 
Scaling Agile with KanBan
Scaling Agile with KanBanScaling Agile with KanBan
Scaling Agile with KanBanAgile ME
 
Book Review: Discussion Panel by Hind Zantout, Dr. Mohamed Salama, René Vohle...
Book Review: Discussion Panel by Hind Zantout, Dr. Mohamed Salama, René Vohle...Book Review: Discussion Panel by Hind Zantout, Dr. Mohamed Salama, René Vohle...
Book Review: Discussion Panel by Hind Zantout, Dr. Mohamed Salama, René Vohle...Agile ME
 
Workshop: User Stories: Building Blocks of Products by Mirza Asfaar Baig and ...
Workshop: User Stories: Building Blocks of Products by Mirza Asfaar Baig and ...Workshop: User Stories: Building Blocks of Products by Mirza Asfaar Baig and ...
Workshop: User Stories: Building Blocks of Products by Mirza Asfaar Baig and ...Agile ME
 
Good things come to those who innovate by Marita Mitschein
Good things come to those who innovate by Marita MitscheinGood things come to those who innovate by Marita Mitschein
Good things come to those who innovate by Marita MitscheinAgile ME
 
Create business Agility plans for exponential companies by Erich R. Bühler
Create business Agility plans for exponential companies by Erich R. BühlerCreate business Agility plans for exponential companies by Erich R. Bühler
Create business Agility plans for exponential companies by Erich R. BühlerAgile ME
 
Getting to Yes - Delivering Powerful and Effective Review Meetings by Tiago P...
Getting to Yes - Delivering Powerful and Effective Review Meetings by Tiago P...Getting to Yes - Delivering Powerful and Effective Review Meetings by Tiago P...
Getting to Yes - Delivering Powerful and Effective Review Meetings by Tiago P...Agile ME
 
SAFe Rollout: Patterns for success in Retail by Ashwinee Kalkura
SAFe Rollout: Patterns for success in Retail by Ashwinee KalkuraSAFe Rollout: Patterns for success in Retail by Ashwinee Kalkura
SAFe Rollout: Patterns for success in Retail by Ashwinee KalkuraAgile ME
 

More from Agile ME (20)

When agile meets governance, risk and compliance (GRC)
When agile meets governance, risk and compliance (GRC)When agile meets governance, risk and compliance (GRC)
When agile meets governance, risk and compliance (GRC)
 
Servant leadership for traditional manager by Wajih Aslam and Ramus Runberg
Servant leadership for traditional manager by Wajih Aslam and Ramus RunbergServant leadership for traditional manager by Wajih Aslam and Ramus Runberg
Servant leadership for traditional manager by Wajih Aslam and Ramus Runberg
 
Agile Approach for Innovation Management by Mohammad Musleh
Agile Approach for Innovation Management by Mohammad MuslehAgile Approach for Innovation Management by Mohammad Musleh
Agile Approach for Innovation Management by Mohammad Musleh
 
In Agile Transformation, C comes before A by Syed Riyazuddin
In Agile Transformation, C comes before A by Syed RiyazuddinIn Agile Transformation, C comes before A by Syed Riyazuddin
In Agile Transformation, C comes before A by Syed Riyazuddin
 
Agile Architecture (Scrum + DevOps) by Milan Chheda
Agile Architecture (Scrum + DevOps) by Milan ChhedaAgile Architecture (Scrum + DevOps) by Milan Chheda
Agile Architecture (Scrum + DevOps) by Milan Chheda
 
Building products that are cheap,fast and good by Anand Murthy Raj
Building products that are cheap,fast and good by Anand Murthy RajBuilding products that are cheap,fast and good by Anand Murthy Raj
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...
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...
Remaining Agile in a fast growing start-up by Alexander Bosma and Muhammad No...
 
Principles over Processes: Lasting Change in your Agile Transformation by Zia...
Principles over Processes: Lasting Change in your Agile Transformation by Zia...Principles over Processes: Lasting Change in your Agile Transformation by Zia...
Principles over Processes: Lasting Change in your Agile Transformation by Zia...
 
Agile, DevOps, Cloud - practical tools of Digital Transformation by Paul Poli...
Agile, DevOps, Cloud - practical tools of Digital Transformation by Paul Poli...Agile, DevOps, Cloud - practical tools of Digital Transformation by Paul Poli...
Agile, DevOps, Cloud - practical tools of Digital Transformation by Paul Poli...
 
Agile Roles: where does everyone fit in an agile organization
Agile Roles: where does everyone fit in an agile organizationAgile Roles: where does everyone fit in an agile organization
Agile Roles: where does everyone fit in an agile organization
 
AgileME meetup Introduction to the agile mindset
AgileME meetup Introduction to the agile mindsetAgileME meetup Introduction to the agile mindset
AgileME meetup Introduction to the agile mindset
 
Scaling With Agile
Scaling With AgileScaling With Agile
Scaling With Agile
 
Disciplined Agile Delivery
Disciplined Agile DeliveryDisciplined Agile Delivery
Disciplined Agile Delivery
 
Scaling Agile with KanBan
Scaling Agile with KanBanScaling Agile with KanBan
Scaling Agile with KanBan
 
Book Review: Discussion Panel by Hind Zantout, Dr. Mohamed Salama, René Vohle...
Book Review: Discussion Panel by Hind Zantout, Dr. Mohamed Salama, René Vohle...Book Review: Discussion Panel by Hind Zantout, Dr. Mohamed Salama, René Vohle...
Book Review: Discussion Panel by Hind Zantout, Dr. Mohamed Salama, René Vohle...
 
Workshop: User Stories: Building Blocks of Products by Mirza Asfaar Baig and ...
Workshop: User Stories: Building Blocks of Products by Mirza Asfaar Baig and ...Workshop: User Stories: Building Blocks of Products by Mirza Asfaar Baig and ...
Workshop: User Stories: Building Blocks of Products by Mirza Asfaar Baig and ...
 
Good things come to those who innovate by Marita Mitschein
Good things come to those who innovate by Marita MitscheinGood things come to those who innovate by Marita Mitschein
Good things come to those who innovate by Marita Mitschein
 
Create business Agility plans for exponential companies by Erich R. Bühler
Create business Agility plans for exponential companies by Erich R. BühlerCreate business Agility plans for exponential companies by Erich R. Bühler
Create business Agility plans for exponential companies by Erich R. Bühler
 
Getting to Yes - Delivering Powerful and Effective Review Meetings by Tiago P...
Getting to Yes - Delivering Powerful and Effective Review Meetings by Tiago P...Getting to Yes - Delivering Powerful and Effective Review Meetings by Tiago P...
Getting to Yes - Delivering Powerful and Effective Review Meetings by Tiago P...
 
SAFe Rollout: Patterns for success in Retail by Ashwinee Kalkura
SAFe Rollout: Patterns for success in Retail by Ashwinee KalkuraSAFe Rollout: Patterns for success in Retail by Ashwinee Kalkura
SAFe Rollout: Patterns for success in Retail by Ashwinee Kalkura
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
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
 
"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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
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!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
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
 
"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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

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