SlideShare una empresa de Scribd logo
1 de 17
1
Life Cycle of User Story:
Why BDD matters to PM, PO and Agile Testing?
Abstract:
As Product Owners and Managers are driving innovation thru' those fuzzy ideas in terms of scenarios, testers have
always been thinking about those in form of test cases which take form of acceptance criteria for those scenarios.
When you talk about those scenarios to your teams or even peers, you see those diverging ideas converging to
something concrete.
That's how BDD helps you shape that idea. That fuzzy scenario, when validated thru' an engineering "spike", can be
useful for product management MRD/PRD/use-case-models/stories...whatever it is that you want to use to drive
product development.
And this is where Agile Tester role begins! So instead of doing top-down or bottoms-up product management & testing,
try this outside-in approach. Go for it!
Ravi Tadwalkar
Lean/Agile/DevOps Coach
Co-founder, “Cisco Internal Coaches Network”; AgileCamp.org
Event Organizer, SVALN
June 2012. This work is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
2
A User Story is a brief statement of intent
that describes something the system needs
to do for the user
“The user story is a lightweight and more
nimble substitute for what has been our
traditional means of specifying software
requirements – software requirement
specifications and use cases…”
Dean Leffingwell,
Creator of SAFe (Scaled Agile Framework)
3
• Product Owner writes the
user stories with input from
customer, stakeholders,
and the team
• SME (Team member) with
domain expertise can also
write user stories
• However, it is up to the
product owner to accept
and prioritize these
potential stories into the
product backlog
• User stories focus the
work on the value defined
by the user rather than a
functional breakdown
structure
• User stories provide a
lightweight and effective
approach to managing
requirements for a system
• Details of system behavior
do not appear in the brief
statement
• 3 C’s or user stories-
card,
conversation &
confirmation
Story is written on a Card
and is groomed through
conversations between
team and product owner that
lead to confirmation about
acceptance criteria.
4
• Effective communication is the key and
we need a common language
In agile development, the developer must
speak the language of the customer, not the
other way around
• The user story provides the common
language to build understanding
between the user and the technical
team
Bill Wake,
XP guru, creator of “cake slicing” technique
5
• User story is not a detailed requirement
• User stories are not detailed upfront
but are elaborated just-in-time
• So they are short and easy to read
• User stories are not carried in large
unwieldy documents but are ordered lists
• User story and related code serve as
inputs to documentation
• User stories represent small increments
of valued functionality
• User stories are easy to estimate
• User stories need little/no maintenance
• User stories can be safely discarded
or archived after implementation of
“spike”
6
• 2-3 sentences used to
describe intent of the story
• Summarizes intent and
represents a more detailed
requirement, whose details
remain to be determined
(which leads to…)
• Recurrent discussion
between the team,
customer, product owner,
and other stakeholders
• Attached to a user story as
notes (which solidify…)
• represent the
conditions of satisfaction
• Written as scenarios
7
As a [role]
I want [feature]
so that [benefit]
Scenario 1: [scenario title]
Given [initial context]
When [event occurs]
Then [ensure some outcomes]
Scenario 2: [another scenario title]
Given [initial context]
And [another context]
When [event occurs]
Then [ensure some outcome]
And [ensure another outcome]
8
As a [role]
I want [feature]
So that [value]
Acceptance Criteria
Scenario 1
Scenario 2
Scenario 3
Scenario 4
Scenario 5
Notes: [discussion notes]
US.01
As a [role]
I want [feature]
So that [value]
Acceptance
Criteria
Scenario 3
Scenario 4
Notes: [discussion notes]
US.01.01
As a [role]
I want [feature]
So that [value]
Acceptance
Criteria
Scenario 5
Notes: [discussion notes]
US.01.02
9
• Rule of thumb: get the most value with the minimum effort
Choose the split that leads to the biggest difference in value.
Choose the split that leads to the smallest difference in size
• Patterns for Decomposing
Features into user stories
1. On operation boundaries
2. On business rules
3. On effort boundary
4. On complexity
5. On data types
6. On input methods
7. On requirement type
8. On workflow boundaries
9. On engineering activity
10. On architectural boundaries
- this is your last resort,
when nothing else works!
Here are 10 examples of patterns for feature decomposition into vertically sliced user stories:
Please pre-load this cheat-sheet with sample user stories from your existing product backlog.
Put those sample stickies next to each decomposition pattern here!
10
Please pre-load this cheat-sheet with sample user stories from your existing product backlog.
Put those sample stickies next to each decomposition pattern here!
Pattern Original story Split stories
Identify operational boundaries
I'd like to manipulate posts
on wiki
 I'd like to edit a post
 I'd like to share a post
 I'd like to delete a post
Identify independent business rules I'd like to search for a post
 I'd like to find posts from a specific person
 I'd like to find posts sent or received in a specific date range
 I'd like to find posts pertaining to a certain topic
 I'd like to find posts linking to a certain post
Perform what-if analysis to account for technical or
scheduling dependencies and identify an effort boundary
I'd like to see an up-to-date
contact list in chat window
 I'd like to see an up-to-date contact list in my chat window:
o need to poll server periodically
o When notifications are implemented, we can leverage API
Isolate the simple from the complex
I'd like to share knowledge
and information with others
 I'd like to quickly share mostly text and maybe a link, a-la Twitter
 I'd like to add embedded images and multimedia content to my posts
 I'd like to add references to external data to my post, updated on-the-fly
Handle various data types separately whenever possible
I'd like to ignore updates I
am not interested in
 I'd like to ignore updates from a specific person
 I'd like to ignore updates in a specific community
11
Please pre-load this cheat-sheet with sample user stories from your existing product backlog.
Put those sample stickies next to each decomposition pattern here!
Pattern Original story Split stories
Provide the user with different ways to input
data into the application
I'd like the application
to help me with the list
of users I'm sharing a
post with
 I'd like to be able to pick people from a list of contacts I'm most
often in touch with
 I'd like to be able to search for people in the corporate directory
 I'd like the application to auto-complete a person's name as I
am typing it.
Separate functional and non-functional
requirements
I'd like to be able to
attach files to a post
 I'd like to be able to attach multiple files to a post. It's OK if I
have to add each one separately.
 I'd like an easy way to attach multiple files to a post. Multiple
select, drag-and-drop or any other form is acceptable so long as
I don't have to add each file separately.
Identify workflow boundaries
I'd like the system to
assist me in creating a
post
 When I add a post title, I'd like the system to look for similar
posts and give me an option to comment or edit them instead so
as to avoid effort duplication
 I'd like to link data from other posts into the post I am creating
and have the system update it automatically
Split out the research from the implementation
I'd like to configure the
application to my own
taste
 As an engineer, I need a framework to handle user preferences
so that I can make certain aspects of the application
configurable
 As a user, I'd like to be able to set user preferences in order to
configure the application the way I like it
12
Work Complexity Risk Points
Small Small Small 1
Small Small Medium 2
Small Small Large 5
Small Medium Small 2
Small Medium Medium 3
Small Medium Large 5
Small Large Small 3
Small Large Medium 5
Small Large Large 8
Work Complexity Risk Points
Medium Small Small 3
Medium Small Medium 5
Medium Small Large 13
Medium Medium Small 5
Medium Medium Medium 8
Medium Medium Large 20
Medium Large Small 8
Medium Large Medium 13
Medium Large Large 20
Work Complexity Risk Points
Large Small Small 8
Large Small Medium 13
Large Small Large 20
Large Medium Small 13
Large Medium Medium 20
Large Medium Large 20
Large Large Small 20
Large Large Medium 20
Large Large Large 20
Facilitators recommend that teams should use “user story sizing board” together with
this cheat-sheet. Please pre-load the cheat-sheet with sample user stories from your
previous release, specific ones for your team. New teams can use their domain to
define what small work is for their specific context. There is “no one size fits all”.
13
14
• I – Independent
To schedule and implement them in any order
• Stories are valued independently meaning each story can
deliver value independently
• Strive to eliminate 0-valued technical/functional dependencies
• Eliminate dependencies by intelligently splitting stories
• N – Negotiable
Details co-created by customer & team during development
• A User Story is not a contract for specific functionality
• Flexibility through vagueness
• Lack of overly constraining and too-detailed requirements
enhances teams and businesses ability to make tradeoffs
between functionality and delivery dates
• V – Valuable
Making each vertical slice through architecture valuable to the
customer supports pay-as-you-go attitude toward infrastructure
• Create stories that are vertical slices of value to the user
• Developers often have an inclination to work on only one layer
at a time and “get it right”  WRONG BEHAVIOR
• E- Estimable
Sizing helps the customer rank & schedule story's implementation
• If a user story is too large to estimate, it should be split into smaller
stories
• If a user story is too uncertain to estimate, then a technical or
functional spike story can be used to reduce uncertainty
• Estimating user stories draws out any hidden assumptions, missing
acceptance criteria, and clarify a shared understanding of the story
• S- Small
Details can be elaborated through conversations with customer
• Small user stories provide more agility and productivity through
increased throughput and decreased complexity
• T- Testable
Decide whether goal of the story is met by writing the tests early
• Stories don’t get into an iteration if they can’t get out
• Framing stories with clear boundaries will help the team and the
business share expectations of the output and avoid big surprises
15
Product Owner PO+ARCH+REP PO+QA+REP PO+Team
Product Owner
writes epic stories
that are negotiable
and has relevant
business value
Negotiable
Valuable
Independent
Small
Estimable
Testable
Architect and Team
Representative
negotiate with PO to
create vertical slices
of large stories along
architectural layers,
to shape small and
independent stories
QA ensures stories
are testable and
estimable with
scenarios for each
user story
Additional story split
along scenarios and
acceptance criteria
may occur
Team receives well
packaged user
stories
Team negotiates
user stories with the
Product Owner
Team sizes story for
understanding and
provides estimate
16
Product Owner PO+Coach PO+ARCH+REP
User stories are not
properly written
Written as software
requirements,
functional specs,
horizontally sliced Coach will aid
Product Owner in
writing good user
stories
PO then journeys on
the typical user story
life cycle path
mentioned earlier
with the coach
optionally
shadowing the
meetings
Time to do some exercise on easel sheets-
(Remember “over 8 no collaborate”, quote from Luke Hohmann)
Let’s try this in small teams of upto 8 folks:
1. Take 1 feature/EPIC
2. Slice the cake
3. Write 1st slice as user story
4. Think of acceptance criteria
5. Write 1st acceptance criteria in english/pidgin ;-)
6. Write that same acceptance criteria using BDD template!

Más contenido relacionado

La actualidad más candente

Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story Decomposition
Dave Neuman
 

La actualidad más candente (20)

Story of user story
Story of user storyStory of user story
Story of user story
 
Effective User Stories
Effective User StoriesEffective User Stories
Effective User Stories
 
Agile Release & Iteration Planning
Agile Release & Iteration Planning   Agile Release & Iteration Planning
Agile Release & Iteration Planning
 
User Story Mapping Workshop
User Story Mapping WorkshopUser Story Mapping Workshop
User Story Mapping Workshop
 
Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story Decomposition
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Actionable Agile Metrics
Actionable Agile MetricsActionable Agile Metrics
Actionable Agile Metrics
 
User story splitting techniques
User story splitting techniquesUser story splitting techniques
User story splitting techniques
 
User Story Point estimation method at ConFoo 2015
User Story Point estimation method at ConFoo 2015User Story Point estimation method at ConFoo 2015
User Story Point estimation method at ConFoo 2015
 
Backlog Refinement at Scale
Backlog Refinement at ScaleBacklog Refinement at Scale
Backlog Refinement at Scale
 
Introduction to story points
Introduction to story pointsIntroduction to story points
Introduction to story points
 
Agile Training: Roles and Expectations
Agile Training: Roles and ExpectationsAgile Training: Roles and Expectations
Agile Training: Roles and Expectations
 
Introduction to Agile & Scrum
Introduction to Agile & ScrumIntroduction to Agile & Scrum
Introduction to Agile & Scrum
 
Astricon 2023 Scaling & Managing Real-time Communication Workloads in K8s
Astricon 2023 Scaling & Managing Real-time Communication Workloads in K8sAstricon 2023 Scaling & Managing Real-time Communication Workloads in K8s
Astricon 2023 Scaling & Managing Real-time Communication Workloads in K8s
 
Product Backlog Refinement
Product Backlog RefinementProduct Backlog Refinement
Product Backlog Refinement
 
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationPopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
Acceptance criteria
Acceptance criteriaAcceptance criteria
Acceptance criteria
 
Kanban vs Scrum: What's the difference, and which should you use?
Kanban vs Scrum: What's the difference, and which should you use?Kanban vs Scrum: What's the difference, and which should you use?
Kanban vs Scrum: What's the difference, and which should you use?
 

Destacado

ARCHIVE - TIMETOACT Web Content Management Extension for IBM Connections (XCC...
ARCHIVE - TIMETOACT Web Content Management Extension for IBM Connections (XCC...ARCHIVE - TIMETOACT Web Content Management Extension for IBM Connections (XCC...
ARCHIVE - TIMETOACT Web Content Management Extension for IBM Connections (XCC...
TIMETOACT GROUP
 
Testing requirements with BDD
Testing requirements with BDDTesting requirements with BDD
Testing requirements with BDD
Alan Parkinson
 

Destacado (20)

Life Cycle of an Agile User Story
Life Cycle of an Agile User StoryLife Cycle of an Agile User Story
Life Cycle of an Agile User Story
 
SCRUM User Story Life Cycle
SCRUM User Story Life CycleSCRUM User Story Life Cycle
SCRUM User Story Life Cycle
 
Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)Example of BDD/scenario based vertical slicing (for PM/PO community)
Example of BDD/scenario based vertical slicing (for PM/PO community)
 
Kanban metrics v2 management reporting
Kanban metrics v2  management reportingKanban metrics v2  management reporting
Kanban metrics v2 management reporting
 
Kanban metrics v2 pivot table for planning & forecasting
Kanban metrics v2  pivot table for planning & forecastingKanban metrics v2  pivot table for planning & forecasting
Kanban metrics v2 pivot table for planning & forecasting
 
Kanban metrics v2 team reporting
Kanban metrics v2  team reportingKanban metrics v2  team reporting
Kanban metrics v2 team reporting
 
SharePoint 2010 Web Content Management - The Developer Story
SharePoint 2010 Web Content Management - The Developer StorySharePoint 2010 Web Content Management - The Developer Story
SharePoint 2010 Web Content Management - The Developer Story
 
Business Strategies for Content Management - Part 3: Publishing Web Content U...
Business Strategies for Content Management - Part 3: Publishing Web Content U...Business Strategies for Content Management - Part 3: Publishing Web Content U...
Business Strategies for Content Management - Part 3: Publishing Web Content U...
 
Lean kanban team assessment
Lean kanban team assessmentLean kanban team assessment
Lean kanban team assessment
 
ARCHIVE - TIMETOACT Web Content Management Extension for IBM Connections (XCC...
ARCHIVE - TIMETOACT Web Content Management Extension for IBM Connections (XCC...ARCHIVE - TIMETOACT Web Content Management Extension for IBM Connections (XCC...
ARCHIVE - TIMETOACT Web Content Management Extension for IBM Connections (XCC...
 
Embrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinkingEmbrace TQM (Total Quality Mgmt) mindset with lean thinking
Embrace TQM (Total Quality Mgmt) mindset with lean thinking
 
P&M302 Real-life building public-facing websites with SharePoint 2013
P&M302 Real-life building public-facing websites with SharePoint 2013P&M302 Real-life building public-facing websites with SharePoint 2013
P&M302 Real-life building public-facing websites with SharePoint 2013
 
Testing requirements with BDD
Testing requirements with BDDTesting requirements with BDD
Testing requirements with BDD
 
#abe15 From SAFe to Nexus the story of a mistake
#abe15 From SAFe to Nexus the story of a mistake#abe15 From SAFe to Nexus the story of a mistake
#abe15 From SAFe to Nexus the story of a mistake
 
Beyond Scrum of Scrums
Beyond Scrum of ScrumsBeyond Scrum of Scrums
Beyond Scrum of Scrums
 
Scaled Agile - PMI
Scaled Agile - PMIScaled Agile - PMI
Scaled Agile - PMI
 
Executable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDaveExecutable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDave
 
Meet Scrum’s Big Brother, Dynamic Governance. Effectively Delivering Large Pr...
Meet Scrum’s Big Brother, Dynamic Governance. Effectively Delivering Large Pr...Meet Scrum’s Big Brother, Dynamic Governance. Effectively Delivering Large Pr...
Meet Scrum’s Big Brother, Dynamic Governance. Effectively Delivering Large Pr...
 
Scaling Agile Data Warehousing with the Scaled Agile Framework (SAFe)
Scaling Agile Data Warehousing with the Scaled Agile Framework (SAFe)Scaling Agile Data Warehousing with the Scaled Agile Framework (SAFe)
Scaling Agile Data Warehousing with the Scaled Agile Framework (SAFe)
 
Beyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleBeyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at Scale
 

Similar a Life cycle of user story: Outside-in agile product management & testing, or “Why BDD matters to PM, PO & Agile Testing?"

The Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringThe Art and Science of Requirements Gathering
The Art and Science of Requirements Gathering
Vanessa Turke
 
Session15+16-User Story (2).pdf
Session15+16-User Story (2).pdfSession15+16-User Story (2).pdf
Session15+16-User Story (2).pdf
PeterTran514407
 

Similar a Life cycle of user story: Outside-in agile product management & testing, or “Why BDD matters to PM, PO & Agile Testing?" (20)

Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
 
Facilitating Release Planning Event
Facilitating Release Planning EventFacilitating Release Planning Event
Facilitating Release Planning Event
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?
 
The Product Sketch - Writing Delightfully Effective User Stories
The Product Sketch - Writing Delightfully Effective User StoriesThe Product Sketch - Writing Delightfully Effective User Stories
The Product Sketch - Writing Delightfully Effective User Stories
 
The Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringThe Art and Science of Requirements Gathering
The Art and Science of Requirements Gathering
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
 
Scrum - Requirements and User Stories
Scrum - Requirements and User StoriesScrum - Requirements and User Stories
Scrum - Requirements and User Stories
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteria
 
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
 
All about User story
All about User storyAll about User story
All about User story
 
A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Stories
 
Stories, Backlog & Mapping
Stories, Backlog & MappingStories, Backlog & Mapping
Stories, Backlog & Mapping
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Session15+16-User Story (2).pdf
Session15+16-User Story (2).pdfSession15+16-User Story (2).pdf
Session15+16-User Story (2).pdf
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
Agile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAgile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven Design
 
Story Cards
Story CardsStory Cards
Story Cards
 
User Story Refresher Workshop
User Story Refresher WorkshopUser Story Refresher Workshop
User Story Refresher Workshop
 

Más de Ravi Tadwalkar

From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptxFrom Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
Ravi Tadwalkar
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
Ravi Tadwalkar
 

Más de Ravi Tadwalkar (20)

From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptxFrom Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
From Scrum to ScrumBan or Kanban- Process Evaluator Workshop using Excel.pptx
 
Kin2020- flow based product development- an experience report
Kin2020-  flow based product development- an experience reportKin2020-  flow based product development- an experience report
Kin2020- flow based product development- an experience report
 
Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18Session 0 role of leadership in agile v18
Session 0 role of leadership in agile v18
 
Agile for scrum team members v4
Agile for scrum team members v4Agile for scrum team members v4
Agile for scrum team members v4
 
Agile for scrum masters v7
Agile for scrum masters v7Agile for scrum masters v7
Agile for scrum masters v7
 
Agile for product owners v12
Agile for product owners  v12Agile for product owners  v12
Agile for product owners v12
 
Introduction to agile lean
Introduction to agile  leanIntroduction to agile  lean
Introduction to agile lean
 
Exec Leadership workshop
Exec Leadership workshopExec Leadership workshop
Exec Leadership workshop
 
LKIN2019: Lean transformation journey of infra briefing for business agility...
LKIN2019: Lean transformation journey of infra  briefing for business agility...LKIN2019: Lean transformation journey of infra  briefing for business agility...
LKIN2019: Lean transformation journey of infra briefing for business agility...
 
Modern agile & ESP proposal for Transformation
Modern agile & ESP proposal for TransformationModern agile & ESP proposal for Transformation
Modern agile & ESP proposal for Transformation
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
 
Distributed agile- exec level briefing
Distributed agile- exec level briefingDistributed agile- exec level briefing
Distributed agile- exec level briefing
 
DevOps- exec level briefing
DevOps-  exec level briefingDevOps-  exec level briefing
DevOps- exec level briefing
 
Lean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guideLean, agile and dev ops games- facilitator's guide
Lean, agile and dev ops games- facilitator's guide
 
Pecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agilePecha kucha format- how can devops be implemented with lean and agile
Pecha kucha format- how can devops be implemented with lean and agile
 
DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)DevOps Approach (Point of View by Ravi Tadwalkar)
DevOps Approach (Point of View by Ravi Tadwalkar)
 
Ravi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/CoachRavi Tadwalkar as SM/DevOps/management/Coach
Ravi Tadwalkar as SM/DevOps/management/Coach
 
Kanban metrics- histograms & total wip
Kanban metrics- histograms & total wipKanban metrics- histograms & total wip
Kanban metrics- histograms & total wip
 
Obstacle escalation process
Obstacle escalation processObstacle escalation process
Obstacle escalation process
 
Agile Roles & responsibilities
Agile Roles & responsibilitiesAgile Roles & responsibilities
Agile Roles & responsibilities
 

Último

The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
daisycvs
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
ZurliaSoop
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
allensay1
 

Último (20)

Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptx
 
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service AvailableNashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
 
Buy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail AccountsBuy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail Accounts
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTSDurg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
Durg CALL GIRL ❤ 82729*64427❤ CALL GIRLS IN durg ESCORTS
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
 
Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024
 
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGBerhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
 
Falcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business PotentialFalcon Invoice Discounting: Unlock Your Business Potential
Falcon Invoice Discounting: Unlock Your Business Potential
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business Growth
 
Uneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration PresentationUneak White's Personal Brand Exploration Presentation
Uneak White's Personal Brand Exploration Presentation
 
GUWAHATI 💋 Call Girl 9827461493 Call Girls in Escort service book now
GUWAHATI 💋 Call Girl 9827461493 Call Girls in  Escort service book nowGUWAHATI 💋 Call Girl 9827461493 Call Girls in  Escort service book now
GUWAHATI 💋 Call Girl 9827461493 Call Girls in Escort service book now
 
Pre Engineered Building Manufacturers Hyderabad.pptx
Pre Engineered  Building Manufacturers Hyderabad.pptxPre Engineered  Building Manufacturers Hyderabad.pptx
Pre Engineered Building Manufacturers Hyderabad.pptx
 
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book nowPARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
 
Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165Lucknow Housewife Escorts  by Sexy Bhabhi Service 8250092165
Lucknow Housewife Escorts by Sexy Bhabhi Service 8250092165
 
WheelTug Short Pitch Deck 2024 | Byond Insights
WheelTug Short Pitch Deck 2024 | Byond InsightsWheelTug Short Pitch Deck 2024 | Byond Insights
WheelTug Short Pitch Deck 2024 | Byond Insights
 

Life cycle of user story: Outside-in agile product management & testing, or “Why BDD matters to PM, PO & Agile Testing?"

  • 1. 1 Life Cycle of User Story: Why BDD matters to PM, PO and Agile Testing? Abstract: As Product Owners and Managers are driving innovation thru' those fuzzy ideas in terms of scenarios, testers have always been thinking about those in form of test cases which take form of acceptance criteria for those scenarios. When you talk about those scenarios to your teams or even peers, you see those diverging ideas converging to something concrete. That's how BDD helps you shape that idea. That fuzzy scenario, when validated thru' an engineering "spike", can be useful for product management MRD/PRD/use-case-models/stories...whatever it is that you want to use to drive product development. And this is where Agile Tester role begins! So instead of doing top-down or bottoms-up product management & testing, try this outside-in approach. Go for it! Ravi Tadwalkar Lean/Agile/DevOps Coach Co-founder, “Cisco Internal Coaches Network”; AgileCamp.org Event Organizer, SVALN June 2012. This work is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
  • 2. 2 A User Story is a brief statement of intent that describes something the system needs to do for the user “The user story is a lightweight and more nimble substitute for what has been our traditional means of specifying software requirements – software requirement specifications and use cases…” Dean Leffingwell, Creator of SAFe (Scaled Agile Framework)
  • 3. 3 • Product Owner writes the user stories with input from customer, stakeholders, and the team • SME (Team member) with domain expertise can also write user stories • However, it is up to the product owner to accept and prioritize these potential stories into the product backlog • User stories focus the work on the value defined by the user rather than a functional breakdown structure • User stories provide a lightweight and effective approach to managing requirements for a system • Details of system behavior do not appear in the brief statement • 3 C’s or user stories- card, conversation & confirmation Story is written on a Card and is groomed through conversations between team and product owner that lead to confirmation about acceptance criteria.
  • 4. 4 • Effective communication is the key and we need a common language In agile development, the developer must speak the language of the customer, not the other way around • The user story provides the common language to build understanding between the user and the technical team Bill Wake, XP guru, creator of “cake slicing” technique
  • 5. 5 • User story is not a detailed requirement • User stories are not detailed upfront but are elaborated just-in-time • So they are short and easy to read • User stories are not carried in large unwieldy documents but are ordered lists • User story and related code serve as inputs to documentation • User stories represent small increments of valued functionality • User stories are easy to estimate • User stories need little/no maintenance • User stories can be safely discarded or archived after implementation of “spike”
  • 6. 6 • 2-3 sentences used to describe intent of the story • Summarizes intent and represents a more detailed requirement, whose details remain to be determined (which leads to…) • Recurrent discussion between the team, customer, product owner, and other stakeholders • Attached to a user story as notes (which solidify…) • represent the conditions of satisfaction • Written as scenarios
  • 7. 7 As a [role] I want [feature] so that [benefit] Scenario 1: [scenario title] Given [initial context] When [event occurs] Then [ensure some outcomes] Scenario 2: [another scenario title] Given [initial context] And [another context] When [event occurs] Then [ensure some outcome] And [ensure another outcome]
  • 8. 8 As a [role] I want [feature] So that [value] Acceptance Criteria Scenario 1 Scenario 2 Scenario 3 Scenario 4 Scenario 5 Notes: [discussion notes] US.01 As a [role] I want [feature] So that [value] Acceptance Criteria Scenario 3 Scenario 4 Notes: [discussion notes] US.01.01 As a [role] I want [feature] So that [value] Acceptance Criteria Scenario 5 Notes: [discussion notes] US.01.02
  • 9. 9 • Rule of thumb: get the most value with the minimum effort Choose the split that leads to the biggest difference in value. Choose the split that leads to the smallest difference in size • Patterns for Decomposing Features into user stories 1. On operation boundaries 2. On business rules 3. On effort boundary 4. On complexity 5. On data types 6. On input methods 7. On requirement type 8. On workflow boundaries 9. On engineering activity 10. On architectural boundaries - this is your last resort, when nothing else works! Here are 10 examples of patterns for feature decomposition into vertically sliced user stories: Please pre-load this cheat-sheet with sample user stories from your existing product backlog. Put those sample stickies next to each decomposition pattern here!
  • 10. 10 Please pre-load this cheat-sheet with sample user stories from your existing product backlog. Put those sample stickies next to each decomposition pattern here! Pattern Original story Split stories Identify operational boundaries I'd like to manipulate posts on wiki  I'd like to edit a post  I'd like to share a post  I'd like to delete a post Identify independent business rules I'd like to search for a post  I'd like to find posts from a specific person  I'd like to find posts sent or received in a specific date range  I'd like to find posts pertaining to a certain topic  I'd like to find posts linking to a certain post Perform what-if analysis to account for technical or scheduling dependencies and identify an effort boundary I'd like to see an up-to-date contact list in chat window  I'd like to see an up-to-date contact list in my chat window: o need to poll server periodically o When notifications are implemented, we can leverage API Isolate the simple from the complex I'd like to share knowledge and information with others  I'd like to quickly share mostly text and maybe a link, a-la Twitter  I'd like to add embedded images and multimedia content to my posts  I'd like to add references to external data to my post, updated on-the-fly Handle various data types separately whenever possible I'd like to ignore updates I am not interested in  I'd like to ignore updates from a specific person  I'd like to ignore updates in a specific community
  • 11. 11 Please pre-load this cheat-sheet with sample user stories from your existing product backlog. Put those sample stickies next to each decomposition pattern here! Pattern Original story Split stories Provide the user with different ways to input data into the application I'd like the application to help me with the list of users I'm sharing a post with  I'd like to be able to pick people from a list of contacts I'm most often in touch with  I'd like to be able to search for people in the corporate directory  I'd like the application to auto-complete a person's name as I am typing it. Separate functional and non-functional requirements I'd like to be able to attach files to a post  I'd like to be able to attach multiple files to a post. It's OK if I have to add each one separately.  I'd like an easy way to attach multiple files to a post. Multiple select, drag-and-drop or any other form is acceptable so long as I don't have to add each file separately. Identify workflow boundaries I'd like the system to assist me in creating a post  When I add a post title, I'd like the system to look for similar posts and give me an option to comment or edit them instead so as to avoid effort duplication  I'd like to link data from other posts into the post I am creating and have the system update it automatically Split out the research from the implementation I'd like to configure the application to my own taste  As an engineer, I need a framework to handle user preferences so that I can make certain aspects of the application configurable  As a user, I'd like to be able to set user preferences in order to configure the application the way I like it
  • 12. 12 Work Complexity Risk Points Small Small Small 1 Small Small Medium 2 Small Small Large 5 Small Medium Small 2 Small Medium Medium 3 Small Medium Large 5 Small Large Small 3 Small Large Medium 5 Small Large Large 8 Work Complexity Risk Points Medium Small Small 3 Medium Small Medium 5 Medium Small Large 13 Medium Medium Small 5 Medium Medium Medium 8 Medium Medium Large 20 Medium Large Small 8 Medium Large Medium 13 Medium Large Large 20 Work Complexity Risk Points Large Small Small 8 Large Small Medium 13 Large Small Large 20 Large Medium Small 13 Large Medium Medium 20 Large Medium Large 20 Large Large Small 20 Large Large Medium 20 Large Large Large 20 Facilitators recommend that teams should use “user story sizing board” together with this cheat-sheet. Please pre-load the cheat-sheet with sample user stories from your previous release, specific ones for your team. New teams can use their domain to define what small work is for their specific context. There is “no one size fits all”.
  • 13. 13
  • 14. 14 • I – Independent To schedule and implement them in any order • Stories are valued independently meaning each story can deliver value independently • Strive to eliminate 0-valued technical/functional dependencies • Eliminate dependencies by intelligently splitting stories • N – Negotiable Details co-created by customer & team during development • A User Story is not a contract for specific functionality • Flexibility through vagueness • Lack of overly constraining and too-detailed requirements enhances teams and businesses ability to make tradeoffs between functionality and delivery dates • V – Valuable Making each vertical slice through architecture valuable to the customer supports pay-as-you-go attitude toward infrastructure • Create stories that are vertical slices of value to the user • Developers often have an inclination to work on only one layer at a time and “get it right”  WRONG BEHAVIOR • E- Estimable Sizing helps the customer rank & schedule story's implementation • If a user story is too large to estimate, it should be split into smaller stories • If a user story is too uncertain to estimate, then a technical or functional spike story can be used to reduce uncertainty • Estimating user stories draws out any hidden assumptions, missing acceptance criteria, and clarify a shared understanding of the story • S- Small Details can be elaborated through conversations with customer • Small user stories provide more agility and productivity through increased throughput and decreased complexity • T- Testable Decide whether goal of the story is met by writing the tests early • Stories don’t get into an iteration if they can’t get out • Framing stories with clear boundaries will help the team and the business share expectations of the output and avoid big surprises
  • 15. 15 Product Owner PO+ARCH+REP PO+QA+REP PO+Team Product Owner writes epic stories that are negotiable and has relevant business value Negotiable Valuable Independent Small Estimable Testable Architect and Team Representative negotiate with PO to create vertical slices of large stories along architectural layers, to shape small and independent stories QA ensures stories are testable and estimable with scenarios for each user story Additional story split along scenarios and acceptance criteria may occur Team receives well packaged user stories Team negotiates user stories with the Product Owner Team sizes story for understanding and provides estimate
  • 16. 16 Product Owner PO+Coach PO+ARCH+REP User stories are not properly written Written as software requirements, functional specs, horizontally sliced Coach will aid Product Owner in writing good user stories PO then journeys on the typical user story life cycle path mentioned earlier with the coach optionally shadowing the meetings
  • 17. Time to do some exercise on easel sheets- (Remember “over 8 no collaborate”, quote from Luke Hohmann) Let’s try this in small teams of upto 8 folks: 1. Take 1 feature/EPIC 2. Slice the cake 3. Write 1st slice as user story 4. Think of acceptance criteria 5. Write 1st acceptance criteria in english/pidgin ;-) 6. Write that same acceptance criteria using BDD template!