I am working on a team that is adopting BDD for the first time. We are doing greenfield work building a market data system that allows users to request market data from different sources.
We are using Mingle (https://www.thoughtworks.com/mingle/) and the BDD card hierarchy that has been set up is: A release
consists of one or more iterations
and an iteration
consists of one or more stories
.
A story
is expressed in the BDD format of: As a <type of user>, I want <some goal> so that <some reason>
As stated, this is a greenfield project so there is nothing currently in place. From a BDD perspective we have captured end-user system requirements with stories like:
As a user I want yesterday's end-of-day prices available each morning so that I can use them as inputs to my models
.
As this is a completely new project this single story requires quite a lot of technical tasks to be completed e.g.:
- Build a scheduler
- Build a gateway to connect to the external market data source
- Get a database to hold the results
- etc...
I am entirely unsure how to track these technical tasks against my story in a BDD format. What am I doing wrong? Are the stories
to high level? Is there a level in the release
-> iterations
-> stories
hierarchy missing? Is BDD not suitable for this and, if not, what are other people doing? Something else?