This is a workshop to build product while practicing impact mapping, feature writing, specification by examples and applying test first approach. Workshop will cover all practices that will help in translating product vision to product increment. Facilitator will demonstrate how to convert specifications in code by using BDD tools. Facilitator will help in crafting product vision, coming up with product features and introducing how to write examples for features. Session will demonstrate how to convert specification into product increment, living documents and build test automation. Learning objectives:
• What is Impact Mapping and how to use it for product discovery?
• How to create product features using Impact Mapping?
• How to write examples for features while practicing specification by examples?
• How to translate examples into test using BDD before writing code?
• Importance of living code
• Best practices for BDD
2. 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
8. What’s needed to start Scrum?
• Problem Statement – Traffic jam in Dubai
during pick hours
• You as stakeholder - What you can do?
• 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 we 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
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 to book ride
Ensure only valid data getting saved even as guest user
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
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. Professional Scrum Foundation (PSF)
Professional Scrum Developer (PSD)
Professional Scrum Master (PSM)
professional Scrum product Owner (PSPO)
Scaled Professional Scrum (SPS)
37. Test Driven Development (TDD) Practitioner
Behavior Driven Development (BDD) Practitioner
Professional Agile Tester
Professional DevOps Consultant
Professional Lean Kanban Consultant
Extreme Programming (XP) Practitioner