Customer Examples

AUDIENCE

Customers, Whole Team

We implement tricky details correctly.

Some software is straightforward: just another UI on top of yet another database. But often, the software that’s most valuable is the software that involves specialized expertise.

This specialized expertise, or domain knowledge, is full of details that are hard to understand and easy to get wrong. To communicate these details, use customer examples: concrete examples illustrating domain rules. Customer examples go hand-in-hand with ubiquitous language, which is a way of unifying the language used by programmers, domain experts, and the code itself.

To create customer examples, you’ll need people with domain expertise. Ideally, they’re part of your team. If not, you’ll have to go find them.

Your team might include people who have developed a layperson’s understanding of the domain. Programmers, testers, and business analysts often fall into this category. They may be able to create customer examples themselves. Even so, it’s a good idea to review those examples with real experts. There can be tricky details that a layperson will get wrong.

To create and use the examples, follow the Describe, Demonstrate, Develop process.

Describe

During task planning, look at the stories and decide whether there are any details that developers might misunderstand. Add tasks for creating examples of those details. You don’t need examples for everything—just the tricky details. Customer examples are for communication ...

Get The Art of Agile Development, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.