I've talked before about how helpful creating examples can be to build a shared understanding of how your product should behave - example mapping.
This week I had another reminder about how helpful examples can be. This time it was getting things back on track when I didn't put examples together earlier.
The team I'm working with right now is building an application to incorporate data from multiple sources to provide product catalog information to a variety of consumers.
We were talking through how we wanted to process updates from the source systems to make sure that we were properly maintaining a version history of the changes.
After about 20 minutes of talking through things, it occurred to me that the discussion would have been much clearer (and shorter) had I created examples to refer to prior to the discussion.
As with planting trees, the best time to create examples is when you're initially trying to describe some new functionality. The second best time is when you're in the midst of the discussion.
So I fired up Excel and started writing out different scenarios along with the key data fields that were relevant for keeping versions. (I started this while the rest of the team was having the kind of meandering conversations that happen when a product team is trying to solve some programming problem.)
After a few minutes I shared my screen and talked through the different examples. We were able to quickly agree to how we wanted to address different scenarios and the team had a much clearer, and shared understanding of how we were going to accomplish versioning.
And while I could have created the example ahead of time, I somewhat wonder if actually creating the specific example as we talked was maybe even more helpful. Going forward I plan on having the spreadsheet at the ready when we start similar conversations to make our conversations more effective.
So this week, I’m sharing some resources on how to use examples to understand your product, why context plays a part in the format of those examples, and how you can use an old familiar tool - the spreadsheet - to apply examples in a helpful way.
Take a look at these resources to avoid being someone that walks around with a hammer all day thinking everything looks like a nail.
More insight about examples
Examples
Examples are concrete descriptions of the expected behavior of an aspect of a solution using real-life data. Examples are useful for describing a solution and providing guidance on ways to validate it. The use of examples to describe a solution is also known as specification by example, behavior-driven development (BDD), or acceptance test driven development (ATDD).
How to build shared understanding with example mapping
One of the primary responsibilities of business analysts, product owners, and all other product people is to build and maintain a shared understanding of the outcome your team seeks to deliver. Conversations are an effective way to build that shared understanding. A technique that you can use during those conversations is example mapping. This technique helps you structure your conversations and build a shared understanding around how a system behaves in interactions with your users.
The tragedy of given-when-then
Chris Matts reflected on his 25 years doing analysis and helping others do analysis and points out that examples are extremely helpful for building an understanding of your product, but you need to make sure you use the right type of example for a given context. He points out that while given-when-then is extremely helpful for understanding interaction, it’s lousy for trying to understand the calculations that go on in a system. Furthermore, while example mapping is a helpful way to structure conversations to identify key interactions, it’s not the end of the game.
Using examples to specify calculations
To get an idea of how you might use excel spreadsheets to specify calculations, you can read this article that Chris Matts and Gojko Adzic wrote which goes into more depth about a project where Chris modeled calculations in Excel in order to provide a specification for his team. This project is the one that Chris mentioned in the previous article.
Framework for Integrated Test (FiT)
If you’re looking for another example of how you might use a spreadsheet to specify calculations, take a look at this description of Fit written for product people. Although the intent of the instructions is to put specifications together in order to support automated testing using the Fit tool, the specifications themselves are just as useful even if you don’t use Fit. The best part of this article is the payroll example it shows, which should provide a clear idea of how you can use a similar approach to help explain the calculations your product performs.
Thanks again for subscribing to InsideProduct.
If you have any comments or questions about the newsletter, or there’s anything you’d like me to cover, just reply to this email.
Talk to you next time,
Kent J. McDonald
Founder | KBP.Media