2. ABOUT ME
20 Years of experience in Software
Development. Scrum and XP
coach.
Love talking about scaling scrum
and system thinking. PMI-ACP,
PMP
Write to me at naveenhome@gmail.com
Call me on +91 9810547500
Ping me on Twitter @naveenhome
3. DON’T BLAME WATERFALL. WE HAVE
NEVER PRACTICED IT PROPERLY.
Requirement •Billing
Design •Billing
Development •Assumption
Testing
•Bug
report
Deploy
•Blame
game
5. SO WHAT TO DO?
Max 2 suggestions
per team 10
Mins
6. WHAT WILL COVER HERE?
Impact Mapping Goal Impact
Story MappingDeliverable
s
User
Activities
Feature
s
Specification
by Examples/BDD
User
Stories
Acceptance Criteria
Examples
Test First Source Code
8. WHAT’S NEEDED TO START SCRUM?
Problem Statement – Traffic jam in Colombo 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
Registratio
n
Share Ride Book Ride Payment Review
10. CAN START DEVELOPMENT?
Too big to develop and requirement is not yet clear?
So what Next? Refinement
Registratio
n
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?
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
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
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
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 today session was helpful
I Facilitate below workshop. naveenhome@gmail.com
Certified Scrum Developer (CSD) Workshop
Product Discovery and Requirement Analysis
Test Driven Development (TDD)
Behavior Driven Development (BDD)
Agile Testing and Test Automation
Agile and Scrum Foundation
DevOps Foundation
Agile Coaching and Facilitation