At the heart of Behaviour-Driven Development is an understanding that we need to work together as a team:
BDD is a way for software teams to work that closes the gap between business people and technical people by … encouraging collaboration across roles to build shared understanding of the problem to be solved … Cucumber Documentation
Liz Keogh memorably reminded us that tools are not the primary solution to the challenges that we face when developing software:
having conversations is more important than capturing conversations is more important than automating conversations – Liz Keogh, BDD thought leader
This advice has, in turn, been captured in the 3-practice model of BDD:
The challenges with face-to-face conversations
Today it’s harder than ever to have the conversations that underpin meaningful collaboration. On top of the everyday challenge of having teams spread around the globe, we’re further restricted by the challenges of managing life under lockdown. Despite the massive advances in online meetings, now more than ever, we could do with some tool support to conduct persistent, asynchronous, focused conversations.
And just to be clear, let’s remind ourselves about why focus, asynchrony, and persistence are important:
- Focused – free ranging conversations are fun, but they’re inefficient when you want to collect information by topic. Rather than having to trawl through email chains or Slack channels for data that relates to a particular topic, you’d rather access it from a single place.
- Asynchronous – scheduling meetings when all the right people are available is painful and expensive. High-bandwidth, face-to-face conversations are the best, when you can manage them, but when you can’t, you want a low-friction way to provide your input without disrupting the other million things that you need to do today.
- Persistent – for conversations to contribute to a collaborative effort, they need to exist for long enough for everyone involved to make use of them. We may want the conversations to last for ever, to document the decision-making process, or we may want them to evaporate once a decision has been agreed on. Either way, they need to persist until the team has no further use of them.
Conversations in CucumberStudio
This month I’m happy to share that CucumberStudio now supports conversations. This is an early release, its prime goal being to get customer feedback to help the team understand what the next priorities should be.
Even in this early release, the functionality addresses all three of the concerns that are necessary for conversations to support effective collaboration:
- Focused – conversations are rooted on specific artefacts in the domain. In this initial release these are limited to folders and scenarios. By rooting a conversation on a domain artefact, contributors are encouraged to provide relevant, focused information.
- Asynchronous – conversations unfold over time, but there is no need for all contributors to be present at the same time. However, to facilitate real-time conversations, new contributions are automatically pushed to everyone viewing the conversation. No need to constantly hit refresh.
- Persistent – in this release, conversations last forever.
Some of the enhancements that the team is considering are:
- Mentioning a team member by name
- Fine grained control of notifications
- Root conversations on other domain artefacts (e.g. test run, tests, living documentation)
- Root conversations at a finer granularity (e.g. step 5 to 7 of a scenario)
- Resolve a conversation
- Search within a/all conversation(s)
Why not take CucumberStudio for a spin? There’s a free trial plan (no credit card needed) and the team is waiting to hear your feedback.