Discovery Workshops, the Behavior-Driven Development way

There are several types of discovery workshops, depending on your development approach.  In this post, I will go over workshops geared towards BDD specifically.

What is a discovery workshop?

According to the Cucumber, a discovery workshop is “a conversation where technical and business people collaborate to explore, discover and agree as much as they can about the desired behavior for a User Story.”

How do you conduct a discovery workshop?

There are several discovery workshop models, these are just a few:

  • Example Mapping
    • Uses a pack of four separately colored index cards to map rules (a summary of constraints/acceptance criteria the team has agreed upon) to examples (illustrations/cases of the acceptance criteria)

map

  • OOPSI Mapping (Outcomes, Outputs, Processes, Scenarios, Inputs)
    • Similar to Example Mapping, uses separately colored Post-it Notes to map shared processes/relationships between outputs and scenarios.

oopzi

  • Feature Mapping
    • Also uses separately colored Post-it Notes.  The team picks a story from the backlog, identifies the actors involved, breaks the story down into tasks, and maps those tasks to specific examples.

questions

When should you hold a discovery workshop?

As late as possible before development on a new User Story begins, in order to prevent details from being lost.  Conducting a discovery workshop as late as possible also gives the team enough leg room to shift their plans should new details surface.

Who should attend?

A good rule-of-thumb is 3-6 people, but at a bare minimum your Three Amigos should be present:  a product owner, a developer, and a tester.  Your product owner will identify the problem the team should be trying to solve, your developer will address how to build a solution around said problem, and your tester will address any edge cases that could arise.  In my experience, it’s also helpful to have a UX person handy during these meetings, as they are very close to the end-user and they can often times point out any flaws in a feature’s requirements or acceptance criteria.

How long does a discovery workshop take?

This depends on which model you use.  For Event Mapping, discovery workshop should ideally only last about 25-30 minutes per story (when I was at IBM we even used to place a timer in the middle of the table to ensure no time was wasted).  If you need any more time than this, it’s likely the story is far too large and should be broken down, or some of the specifics are missing.  In the latter case, you should set aside the story as the product owner needs to do more research.

Why bother?

The purpose of a discovery workshop is to give all stakeholders, both technical and non-technical, a shared understanding of the work at hand.  Doing so encourages cross-functional collaboration, an increase in feedback, and covers any lost details or incorrect assumptions made.

Conclusion

A discovery workshop is a very important piece of the BDD lifecycle, among other agile development approaches.  Without it, you are sure to run into miscommunications and your team won’t discover any unknowns, which could really hamper your project’s success.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s