Goldilocks and the Three Projects: Behat, Behaviour-Driven Development, and the Promise of Getting Customer Requirements Juuust Right
- How does Goldilocks know what she likes and doesn’t like?
- If you were making her a chair, a bed, or a bowl of porridge, how would you figure it out?
- How would you convince her to spend the time and resources needed to determine what is “juuust right” for her?
We will use the traditional fairy tale as a jumping-off point for a discussion of testing first, failing fast, Behaviour-Driven Development and other agile practices we use at Consensus Enterprises. Along the way, we will review Behat, its Mink extension, and our own Drumkit framework: a BDD toolchain for Drupal that can help you make sure what you are building is what your customers actually want.
A few of the topics you’ll learn about:
- The value of testing first and failing fast, focusing on Behaviour-Driven Development
- Drupal tools including Behat, Mink and Consensus Enterprises’ Drumkit
- How to make sure you’re developing using a customer-first approach
The approach that Goldilocks takes is too haphazard. We don’t want agile development to look like a random walk through a strange environment. Things get broken that way!
In this presentation, we introduce our approach to agile project requirements, using Behaviour Driven Development. This approach combines Business Analysis and Test Driven Development into a robust process that allows us to:
- Focus on what the customer wants and
- Ensure that we are providing it
The BDD approach includes writing tests at the level of the observed behaviour of the software, so that we can confirm that what we are doing is what the customer expects. This allows the conversation with the customer to stay focused on the performance of the software, and not what is going on under the hood.
We also include the (age-old) caution: “You can’t solve a people problem with a technical solution."
Even with robust approaches to testing, the success of a project still depends on upfront investment and ongoing stakeholder engagment. One of the most important parts of a successful agile implementation is the presence of a Product Owner who is available throughout the process and empowered to make decisions on behalf of the client.
For more details, I invite you to watch the recording of my presentation on YouTube.
(Presentation starts at 15:46)
My presentation slidedeck can be downloaded here: Goldilocks and the Three Projects!
We've disabled blog comments to prevent spam, but if you have questions or comments about this post, get in touch!