Example mapping is a method that teams use to clarify requirements and establish acceptance criteria and acceptance tests for a user story. The method involves breaking (or slicing) a big task into smaller tasks. I recently attended KWSQA Targeting Quality and enjoyed seeing Kiruthika Ganesan’s excellent talk on the power of example mapping for teams. I was inspired to create a visual note and share a bit of her talk with you all.
Kiruthika explained that example mapping is a technique used to give shape to your requirements. She started by asking us to consider whether we truly understand the requirements our teams are developing and shared one of my favorite YouTube videos of a man challenging his children to write step-by-step directions for making a peanut butter and jelly sandwich. I loved the reminder that “put peanut butter on the bread” isn’t a clear instruction. Does it mean to put the jar on top of a bag of bread? Or maybe put the jar on a single piece of bread? Or does it really mean open a jar of peanut butter, take out a piece of bread, get a butter knife…
With that in mind, Kiruthika explained that example mapping is beneficial because it:
- Relies on shared vocabulary and shared understanding
- Provides clarity and structure
- Makes the invisible, visible
She then shared the ingredients required for successful example mapping sessions for teams:
- The team
- Designated time for the meetings
- Either Miro or sticky notes in yellow, blue, green, and red (or index cards in the same colors)
Example mapping sessions
Example mapping is a team activity, and depending on the maturity of your team’s practices and the size of your team you may keep the session to a small group composed of the product owner, developer, and QA. Alternatively, you may include most or all of your development team and testers as well as your product owner.
The product owner should lead the meeting and present the story to the group. Then, the team can ask the product owner to clarify any doubts or elaborate on the story, rules, and examples. Kiruthika suggests a time-box for 30-minute sessions to avoid missing critical details due to fatigue or cognitive bias.
If the story wasn’t completed in the initial session, schedule a second session for the next day. As the team gains experience with the process, these sessions are likely to become increasingly productive, reducing the need for follow-up sessions.
Example mapping workflow
Example mapping requires working from big to small, identifying details along the way.
- Start with a user story
- Break down the user story into business rules
- Define the examples that illustrate the story, documenting potential problems as you go
Problems identified become action items and examples represent single actions. These actions are the basis of the acceptance tests written in Gherkin format. For those unfamiliar with Gherkin, the format is:
- Given: Some pre-condition
- When: Some action happens
- Then: Identified post-conditions should be satisfied
Once the session is complete, note the number of stickies of each color:
- More red - There’s more to learn and refine for the story
- More blue - The story is too large and should be sliced into smaller stories
- More green - The rules are complex, if possible try and slice the story or consider including after a refactor to reduce complexity
Benefits of example mapping
Kiruthika shared that example mapping has additional benefits that enhance user experience and improve team collaboration.
Example mapping is beneficial because it:
- Increases user empathy by stepping through user scenarios
- Results in earlier and faster feedback due to requirements-level collaboration
- Reduces scope creep and cycle time by using better refined stories
- Increases predictability in velocity due to the reduced scope creep and cycle time
- Improves quality on new features thanks to better refined stories
- Simplifies test maintenance through better defined and refined stories
Go deeper
If you’d like to take a deeper dive into example mapping, the resources below a great place to start: