BDD/ATDD is all the rage these days. The cynic in me took a cheap shot at it here. But the optimist in me really REALLY thinks it sounds cool. So I set off to try it….and failed twice.
I’m not involved in many greenfield projects so I attempted to convince my fellow colleagues to try BDD with their greenfield project. I started with the usual emails, chock full of persuasive BDD links to videos and white papers. Weeks went by with no response. Next, we scheduled a meeting so I could pitch the idea to said project team. To prepare, I read Markus Gartner’s “ATDD By Example” book, took my tester buddy, Alex Kell, out to lunch for an ATDD Q & A, and read a bunch of blog posts.
I opened my big meeting by saying, “You guys have an opportunity to do something extraordinary, something that has not been done in this company. You can be leaders.” (It played out nicely in my head before hand) I asked the project team to try BDD, I proposed it as a 4 to 6 month pilot, attempted to explain the value it would bring to the team, and suggested roles and responsibilities to start with.
Throughout the meeting I encountered reserved reluctance. At its low point, the discussion morphed into whether or not the team wanted to bother writing any unit tests (regardless of BDD). At its high point, the team agreed to do their own research and try BDD on their prototype product. The team’s tester walked away with my “ATDD By Example” book and I walked away with my fingers crossed.
Weeks later, I was matter-of-factly told by someone loosely connected to said project team, “Oh, they decided not to try BDD because the team is too new and the project is too important”. It’s that second part that always makes me shake my head.
By golly I’m going to try it myself!
One of my project teams just started a small web-based spin-off product, a feedback form. I don’t normally have the luxury of testing web products and it seemed simple enough so I set out to try BDD on my own. I choose SpecFlow and spent several hours setting up all the extensions and NuGet packages I needed for BDD. I got the sample Gherkin test written and executing and then my test manager job took over, flinging me all kinds of higher priority work. Three weeks later, the feedback form product is approaching code complete and I realize it just passed me by.