Workshop from Agile Testing Days USA, Boston 2018 Janet Gregory and Ardita Karaj. Using different ideas to create your product backlog - understanding your ecosystem and using exploratory test charters to drive experimentation to your get to your learning releases.
2. A little about us …
Tweet about us @janetgregoryca and @ardita_k
2
3. How about you?
Who primarily identifies as a tester?
• Programmers
• Product owners or business analyst?
• Other roles?
Experience on agile teams?
• Less than 6 months
• Less than 2 years
• More?
4. Our promise
How to use techniques like
exploratory testing, asking questions, etc.
to help your teams identify
where to begin with product development
and how to incrementally
develop value for your customers
4
6. We hear about …..
Story Mapping...
But how to actually slice the first sprint or
release?
MVP...
But how to identify it?
SFD …(Sh$%%y First Draft)
Yeah, but where to begin?
6
7. Exploratory testing is simultaneously designing
and executing tests to learn about the system,
using your insights from the last experiment to
inform the next.
~ Elisabeth Hendrickson,
author of Explore It!
7
8. … to distinguish good Exploratory Testing as a
disciplined form of testing:
Using a wide variety of analysis/testing techniques to
target vulnerabilities from multiple perspectives.
Using charters to focus effort on those vulnerabilities
that are of most interest to stakeholders.
Two key things …
8
10. "The ecosystem of your system includes the
environment in which your software lives, all
the interfaces into your software, and all the
external dependencies. "
~Elisabeth Hendrickson
10
12. Users
Our users, main needs and backlog
Main needs:
• Administration
• Team management
• Games management
Administrators, coaches,
parents, umpires, children on
the teams
12
14. First instinct was ..
1. To start creating teams and finding baseball
diamonds
2. But then we realized we needed umpires
3. And then …. And then …. And then
SO….. We stopped and ….
We decided to explore the
ecosystem a bit better.
14
16. Your turn to explore your ecosystem
Problem:
Your company needs to organize their training for
their employees.
Your users
- Training department
- Trainers
- Trainees
- …..
16
17. Exercise: What’s in your ecosystem
• Select a Product Owner for your team
• Use a Mind Map to explore ideas about
your Ecosystem (training)
It’s important to make it visual
(not lists)
17
18. Understand your ecosystem
Let’s explore with more context
• Who are your users
• External
• Internal
• Other systems
• What interfaces do you need?
• Are there dependencies?
20. Exercise: Understand your ecosystem
Create your context diagram (the training)
- What is your environment?
- What are your interfaces?
- Are there external dependencies?
20
23. Our example again:
Generating charters to reduce risk
Explore the schedules
With variations of different
returning teams
To discover rules that have changed
from last year
Explore the schedule
With variations of different new teams
To discover what combinations are allowed
and if there is overlap in locations and teams
23
24. Exercise: Create charters for your unknowns
- Create 3 or 4 charters
- What do you want to discover?
- What resources you have?
- What information do you want to focus on?
24
26. Our example again:
Use example mapping to explore
Explore the schedules
With variations of different returning teams
To discover rules that have changed from last year
26
27. Explore schedules
With different returning teams
To discover rules that have changed from last year
Our example
Charter
Rules
Examples
Questions
Scheduling requires a min. of 2 registered teams
At least one umpire
Ball diamond must be confirmed
Valid: Team A and Team B (both registered)
Invalid: Team A and Team A (the same team)
Invalid: A & C where Team C is not registered
What does registered mean?
Do teams have to be in the same age category?
Can a team be registered with just the coach?
Are returning teams automatically registered?
30. How to run an experiment with your product
We need our developer friends …..
….. <to write code />….
…. to pass the rules we agreed upon
So we can validate what we thought we knew
And see if examples flow as we expected
• Return to the ecosystem to get a
better understanding and
charter again
• Repeat until we feel good about
the release
31. How to run an experiment with your product
Go to the customers with a “Learning Release”
• Observe and listen your customers
• to generate new charters we weren’t aware of
• to answer questions we didn’t know we should ask
• Learn more about our product and
ways it is being used
• Update the rules and examples
32. Our Learning Release from this Charter
Explore the schedules
With variations of different returning teams
To discover rules that have changed from last year
CODE: Allow admin to schedule returning teams on
games based in their own district
Learning: Teams have new players to be entered
Learning: Team A has a new coach – background check
Learning: City M has new rules on the field usage
Learning: League has changed the fee for new teams
33. Exercise: What is your Learning release?
• Think about different ways you might want to
implement your Learning Release
33
Code
With
Customer
Gather
Learning
Validate
Charter
35. When are we done?
Are smaller improvements in this charter higher in
value than bringing the other charter to life?
• Never enough time to make a perfect charter
• Other charters in the backlog are important too and
need time to come to life
• Timebox the experiments
• Keep the backlog dynamic
• Ask the PO for business value
36. Steering our example
Explore the schedules
With variations of different returning teams
To discover rules that have changed from last year
We STOP
• when all returning teams can play according to the
new rules within the district
Next:
1. Schedule new teams and apply all the rules we
learned from returning teams
2. Scheduling district winners
37. Steer your experiment
• When will you stop?
• When will the value of moving to another charter
become higher than updates on the current
charter?
• Is your Product Owner prioritizing with input from
all of you?
39. Learnings
• Start calling MVP a “Learning release” instead –
simplify expectations
• Charter the way of your Product to the client
• Timebox your learning experiments
• Know your context and keep exploring it
• Work closely with your Product Owner
• Create dynamic backlogs rather than fixing scope
• Don’t schedule every thing up front
40. Keep exploring and help your team explore too!!
Exploring doesn’t mean you are lost!!!!!!!!!!
41. Resources
• Explore It!, Elisabeth Hendrickson
https://pragprog.com/book/ehxta/explore-it
• Introducing Example Mapping, Matt Wynne
https://cucumber.io/blog/2015/12/08/example-
mapping-introduction
• Discover to Deliver, Ellen Gottesdiener and Mary
Gorman
• Peanuts cast
41
42. Tweet about us @janetgregoryca and @ardita_k
Janet Gregory
www.janetgregory.ca
janet@agiletester.ca
Ardita Karaj
Ardita@industriallogic.ca
42