We are dealing with the split of work which, in the old process, would have all been one big task; Now, (under Scrum) that work is split into stories and refined. We are using BDD to define those stories...

For one particular set of stories - those involved with a particular system - the changes to the system have always been defined in a particular manner. The team members are familiar with it and I am finding it difficult to convert those definitions into BDD. (Also, I do not understand the work they do as it is not in "my wheelhouse".)

I have discussed the BDD approach which the project is now taking with the person (as it happens, a technical BA) responsible for writing/refining those stories and while they are happy with BDD for most of our stories, informs me that it is difficult to do what I am asking; Converting to BDD for this particular system.

The task definitions, generally, involve defining the storage of database-like data and schemas, the nature of requests and responses into and out of the system to get that data and changes to the existing setup.

To be fair, if this were work defining changes to an existing MS T-SQL database I would also find it difficult to provide BDD stories.

TL;DR: How should one define BDD stories which specify technical changes to systems such as databases using gherkin? Is this even the appropriate approach?

  • What are the consequences of not using gherkin syntax for these stories? Is it just that the structure of the text on some cards/tickets is different or do you have all kinds of tooling that refuses to accept such stories? – Bart van Ingen Schenau Nov 1 '17 at 11:45
  • It's not a tooling question but more of human readability. That and that gherkin is our chosen format, so I'd like to stick to it as much as possible. Is there a good, descriptive syntax for this sort of work, ie: technical replacement etc. – Matt W Nov 1 '17 at 12:25
  • What's the behavior of the system with the changes? What's the behavior of the system without the changes? In short, "what's the behavior of the system?" – Todd A. Jacobs Nov 1 '17 at 13:39

It sounds like you are using Gherkin while missing some of the BDD.

Behavior-Driven Development should express application behavior - preferably that the customer can see. This will inherently cut across different technical areas. You shouldn't need technical expertise to write those scenarios and they shouldn't be implementation specific.

For example, if you had something like:

Given I'm a registered user And I'm on the user info page When I change the address field And I Save Changes Then I should see the new address in my user info

If you need DB changes to make that happen, then you make the DB changes - that's the team's concern.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.