I am a proponent of Behavior Driven Development, mainly with Cucumber and RSpec, and at my current gig (a Microsoft shop) I am introducing SpecFlow as a tool to help with testing.

I'd like to get the business analysts on my team involved in writing the features and scenarios, but they are put off by the "technical" aspect of it, meaning creating the files in Visual Studio (or even having Visual Studio on their machines). They want to know if we can put all the scenarios for a feature in Jira.

What I'm looking for is suggestions for a workflow that will work well with BA types that are accustomed to project management/work tracking tools like Jira (we also use Greenhopper).

  • "meaning creating the files in Visual Studio"? How is this part of BDD? Why is this so important? Can you explain why this is essential?
    – S.Lott
    Jun 27 '11 at 17:17
  • That's part of using SpecFlow. They could create the .feature files in Notepad for all I care. That's part of my question. How can I make it easier?
    – Robert S.
    Jun 27 '11 at 18:31
  • @Robert S. "They could create the .feature files in Notepad". Have you tried this? Do the business analysts object to it? Since we don't know your BA's very well, any suggestion we make is just random. What have you tried? How has it worked?
    – S.Lott
    Jun 27 '11 at 18:41
  • Think less about how the .feature files are created (they have to be, so they're a given) and more about the workflow for the BA. Do I set up a BA with git access so they can pull the source down and edit the .feature files? Do I let them write the scenarios in Jira and then someone(?) manually creates the files? That's what I'm looking for. In other words, tips (perhaps based on experience) of how to make this work beyond the dev's POV.
    – Robert S.
    Jun 27 '11 at 19:54
  • 2
    @Robert S.: "Do I set up a BA with git access ...? Do I let them write the scenarios in Jira and then ...?" Here's the point. We don't know your BA's. We don't know what they actually object to. A phrase like "put off by the "technical" aspect" isn't too helpful. All of our suggestions could be EPIC FAIL because we don't realize that our suggestions still have the taint of a technical aspect. When you talked with them, what did they say? Give us a hint about the conversations you've already had.
    – S.Lott
    Jun 27 '11 at 19:59

Part of your job as a developer is to map your tools and ideas to the tools and ideas that your stakeholders use. Domain-Driven Design (not BDD) can certainly help in this regard, because it can assist in creating the "ubiquitous," common language by which you and your stakeholders can communicate.

But these folks have no interest in your software design architecture; they are only interested in solving their problems from their perspective. So you need to be able to communicate your ideas in their language, which means taking the concepts in BDD, and translating it into the tools and terms that they understand, and vice versa.

  • Yes, that is all the stuff I know. That is why I'm asking for suggestions on precisely how to do that.
    – Robert S.
    Jun 27 '11 at 18:33

What I ended up doing is installing Visual Studio 2010 Express on their machines and setting up the SpecFlow templates. I showed them how to add a .feature file. We discussed how the features and scenarios should be written and off they went.

I also showed them how to do the basic commits and pushes with TortoiseGit.

  • 2
    So, how did that work out in the long run?
    – Spoike
    Jun 1 '12 at 11:33
  • That's exactly what I'm doing with my BA. She learnt three git commands : commit pull and push, on a "gherkinfiles" branch dedicated to that.
    – Mik378
    Sep 28 '17 at 15:20

You shouldn't force the business analysts to use Visual Studio to get your BDD process running smoothly. This is a tool for developers, not for the business.

SpecFlow has a command line tool that can generate the requires tests based on .feature files. This would allow you to create a build script that gather .feature files from somewhere, generate the .cs files, compile them, and execute the tests. If your business analysts prefer to use Jira, then you should make a tool that extracts .feature files from Jira, at least if it is practical and possible. I don't know Jira enough to say whether or not it is practical.

Remember any good software solution should be based around the processes and needs of the user; it should not dictate new processes for the user. And in this case, the user is the business analysts.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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