What is Example Mapping?

E

"Example Mapping is a visual analysis technique that helps fleshing out the details of a user story by providing concrete examples."

Structure of an example map

An example map contains multiple sections:

  • The user story
  • The rules
  • The examples
  • And open questions

In our team we made some additional modifications

  • The rules, and associated examples, are located in colums that keep track of the parent capability that owns the rule
  • A context section with related contextual information

User story

At the top of the map you can find the user story that will be further detailed.

It's typically on a yellow post-it note, and expressed in the format.

"As a persona, I want to capability so that value"

Here is a concrete example from the club management domain

"As a funder, I want to place a purchase order so that I can come to a fundraising dinner"

Example mapping
High resolution

Rules

During the realization of the user story, the system will need to adhere to a number of rules.

These rules are typically put on blue post-it notes.

For example:

"Booking a take away order should result in a sales order when there is product availability"

"Booking a consumption order should result in a sales order when there is product availability and seating availability"

"Booking any order should result in a back order order when there is insufficient product availability"

Examples

Below the rules, the delivery team will then come up with concrete examples for the requested rules.

These examples are put on green post-its and using the following convention.

Given: Preconditions that are relevant before the condition occurs
When: The condition that triggers the rule
Then: The outcome

Some concrete examples from the club management domain:

"Given: Funder is booking a takeaway for 4 spaghetti's
When: The product availability is 10
Then: Should register a sales order for 4 spaghetti's"

"Given: Funder is booking a consumption order for 4 people, ordering 4 spaghetti's
When: The seating availability is 0 but the product availability is 10
Then: Should request funder to turn the purchase order into a takeaway"

"Given: Funder is booking a takeaway for 4 spaghetti's
When: The product availability is 1
Then: Should register a back order for 1 spaghetti's"

Questions

During the refinement of the examples, questions will inevitably pop up.

Pink post-it's are used to keep track of them, until the team can get an answer from the product owner.

Context

We find it usefull to keep track of some additional context on these maps as well, including:

  • (A link to) the persona performing the activity
  • The value stream in which the activity occurs
  • A link to the event model section where the activity was modeled
  • A screenshot in case of an existing application

Input for testing

The examples created during this excercise will be used as input for the testing effort, both the unit tests as well as the test scenario's executed by the QA team.

About the author

YVES GOELEVEN

I've been a software architect for over 20 years.

My main areas of expertise are large scale distributed systems, progressive web applications, event driven architecture, domain driven design, event sourcing, messaging, and the Microsoft Azure platform.

As I've transitioned into the second half of my career, I made it my personal goal to train the next generation of software architects.

Get in touch

Want to get better at software architecture?

Sign up to my newsletter and get regular advice to improve your architecture skills.

You can unsubscribe at any time by clicking the link in the footer of your emails. I use Mailchimp as my marketing platform. By clicking subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.