Behaviour-Driven Development is a practice in which we talk through different examples (scenarios) of how a system might work, from the perspective of its many users. In this unique tutorial we mix BDD with Cynefin, the sensemaking framework that helps makes sense of the world around you and the problems you encounter depending on their predictability.
The course provides thinking and conversational tools to enable teams, product owners and managers to address risk early, develop a deep understanding of requirements at different scales, shorten the time needed to reach that understanding, produce high-quality, innovative solutions, and create human-readable, relevant and memorable tests as a by-product… and it's not just applicable to software!
For each outcome, attendees will demonstrate the skill during interactive exercises in the course.
• Explain BDD and its practices
• Create well-formed scenarios which are relevant to your own domain
• Use conversational patterns to draw out new scenarios and explore scope
• Discuss how best to engage Developers, Testers and Analysts or Business Experts in conversations
• Identify and design mechanisms for quick feedback using single scenarios
• Explain the Cynefin model and how it relates to BDD and Specification by Example
• Estimate the level of complexity in different requirements phrased at different scales
• Predict when an unelaborated requirement is likely to cause conflict or excessive discussion
• Discuss shortcuts to apply to well-understood requirements to reduce analysis and planning time
• Differentiate between well-understood, domain-specific, and innovative / uncertain aspects of work through using scenarios in conversations
• Identify core and incidental stakeholders for a project
• Generate a map of desired capabilities from lower-level stories and scenarios
• Identify risk and uncertainty in capability maps
• Discuss prioritization of long-term plans accordingly
• Decide whether to engage stakeholders before or only after implementation (educators vs. gatekeepers / checklist)
• Phrase capability-level problems in problem-space language, without diving into solution-focused features
• Identify continuous capabilities to which BDD can be applied using monitoring (non-functionals and other non-discrete requirements)
• Discuss monitoring mechanisms, including manual processes and compliance / governance where applicable.
Please note that automation of scenarios will be mentioned in this course, but is out of scope; this course focuses on the conversational and analytical aspects of BDD.