One to request, one to suggest and one to protest – the anatomy of a Three Amigos Requirements Discovery workshop

Posted by John Ferguson Smart
bdd | Requirements Discovery | Xscale |

Behaviour Driven Development (or BDD) is a collaborative requirements discovery practice that uses conversations around concrete examples to build a shared understanding and deliver features that matter. The “Three Amigos” workshops are a core part of BDD practices. It is also an important requirements discovery practice used even in teams who are not officially “doing”…

Running individual scenarios in JBehave or Cucumber with Serenity BDD

Posted by John Ferguson Smart
JBehave | Requirements Discovery | Xscale |

When we are working with BDD test automation tools such as Cucumber and JBehave, it often comes in handy to run an individual scenario in isolation. In this article, we look at how to do this using Serenity BDD. JBehave In JBehave, you need to use tags to identify the scenario you want to run….

Tell me what you know – a different way of looking at requirements discovery

Posted by John Ferguson Smart
Requirements Discovery | requirements process | Xscale |

The legacy of the linear requirements process When I started out in software development, we had a thing called a Requirements Specifications Document. Business Analysts would spend a very long time gathering the requirements, organising them, and writing them down in a large Word document. Over time, folk found this approach to be inefficient and…

Learn BDD test automation with Cucumber and Serenity at the Serenity Dojo

Posted by John Ferguson Smart

“Cucumber and Serenity are the Dynamic Duo of BDD test automation” Learn real-world BDD test automation practices with Cucumber and Serenity BDD, online and at your own pace. Behaviour Driven Development, or BDD, is an extremely effective software delivery practice that helps teams collaborate better and focus on delivering features that really matter. Cucumber is…

Engage! Bringing teams together to deliver software that makes a difference

Posted by John Ferguson Smart

John delivers a Keynote at the IMWorld 2017 conference in Romania on the topic of bringing teams together to deliver software that makes a difference:

Intent-Driven Development – the hidden key to BDD

Posted by John Ferguson Smart

Intent-Driven Development. It’s not a new agile fad – it’s just articulating an approach that works well for a lot of experienced practitioners. Whether they know it or not. When I train and coach development teams, I like to talk about Intent-Driven Development. Don’t worry – Intent-Driven Development is not the latest agile trend. Rather,…

Persona Step Libraries in Serenity BDD

Posted by John Ferguson Smart

Serenity 1.6.3 comes with a new step library feature called Persona Step Libraries. Persona Step Libraries help you make your test code more intuitive and more readable. You can check out the full release announcement on our new Rocket Chat forum. Serenity has always tried to make it easy to organise your test code into appropriate…

All you need to know about Serenity BDD Step Libraries

Posted by John Ferguson Smart

In Serenity 1.6.0, we have refactored how step libraries are managed, to make them more intuitive and easier to understand. Basic step libraries In Serenity, we use step libraries to better organise our test logic into reusable components. Step libraries are often used to represent actors or persona who interact with the application. For example,…

Exponential Learning – the key to effective Lean/Agile practices

Posted by John Ferguson Smart

In lean/agile software development, learning is not a byproduct; learning is the most valuable output. To up our game, we don’t just need to learn how to build and deliver better software. We need to learn how to learn better. And one of the keys to learning better and faster is measuring how well we…

How not to prepare test data in JBehave and Cucumber

Posted by John Ferguson Smart

Preparing test data is hard, avoiding duplication and unnecessary setup time are common issues in all test automation. But it is especially important when we automate acceptance criteria using BDD tools such as JBehave and Cucumber. Duplicating setup logic in each scenario can lead to cluttered and hard-to-read scenarios. And having to inject the same…

© 2019 John Ferguson Smart