Getting Past the 50+70=120 Calculator in Cucumber: 12 Things to Work On
With the best of intentions, people have flocked to Behavior Driven Development by way of Cucumber over the past few years, and that’s a great thing! But just like dieting, where great things can fall to the wayside from the temptation to indulge in wonderful desserts, BDD can fall to the wayside due to pressure to deliver more and more functionality Sprint over Sprint. Many times, Cucumber becomes just a way to automate a bunch of tests, which isn’t bad by itself, even if it doesn’t get to the core of how Product Owners and the Delivery Team should start to communicate. But without constant attention, that great garden of creeping Cucumber vines becomes a tangled mess that slowly withers away under massive technical debt.
Howard will guide you through 12 of the most important issues to work on in your garden of executable requirements. We’ll discuss and explore topics ranging from the easy to comprehend (such as imperative versus declarative style) to the difficult to deliver (such as how to keep Gherkin driven Selenium WebDriver tests working dependably through the use of advanced ExpectedCondition techniques). By the end of the session, you should have plenty to indulge in on a healthy diet of BDD!
Outline/Structure of the Talk
This session will discuss 12 common issues that people can improve on when developing with Cucumber, with special emphasis on techniques to employ when attempting to use Selenium WebDriver. The emphasis will be on craftsmanship and keeping technical debt low, so the automation suites can grow with the least amount of drag.
After the discussion of the 12 items, there will be a live demo of about 4 of the items, so people can actually experience what was talked through. I want to leave people with enough momentum of "getting it" that they will immediatly apply the patterns of goodness to their own work!
Learning Outcome
A much better understanding on how to employ "The 3 Amigos" to define executable requirements and iteratively implement both the code and the automated tests that support it.
Target Audience
Members of "The 3 Amigos", Software Developers, QA Testers
Public Feedback
Hi Howard,
What are the 12 most important issues to work on with regards to executable requirements?
Also would you conisder doing a hands-on session instead of a 45 mins talk?
Slides and Videos from past presentation will help the selection committee.
Hi Naresh!
What are the 12 most important issues? To be frank with you, I don't want to commit the exact list at this time, as I may decide to change it as I continue to work with teams on this, but as of now, here is my "Baker's Dozen" (threw an extra one in for no extra charge).
Anyhow, that's pretty much what I want to get through.
I see many, many teams trying to drive Selenium tests through Cucumber. While that's great, many of them are doing this as a "QA" activity. I'll put up with that, but I want to make sure that the people writing those tests adhere to the software craftsmanship that the rest of the Delivery Team developers should be laboring under.
I was planning on introducing each area and show examples to support a bad versus good approach. This might work much better as a 90 minute hands-on session. But I'm not planning on teaching everything about Cucumber in 90 minutes. In other words, as a workshop, I would expect that people have already done the cucumber.org calculator.
Sorry that I don't have slides or videos from a past presentation of this. Agile India 2015 would have an exclusive! For at least a while... :-)
Hi Howard,
We think it might be most interesting / valuable to the attendees if we tweaked the session a tad - please let us know your thoughts.
What if you presented the 12 items as a quick overview and then demo'ed your top 4? Would that be something you would be comfortable with? That way attendees get the interest of the 12 and can concretely see 4 and get a little depth in them.
Please let us know your thoughts
Best,
Joel
That's an excellent idea, Joel! I'll do that!!
Thanks Howard. Can you please update the proposal to reflect the same?
Hi Howard,
This does feel rushed for 45 minutes, but you bring up a good point - will people that aren't familar with Cucumber be lost in this session? I'm just trying to understand the need from the attendees.
Best,
Joel
Hi Joel!
This session is definately not one that tries to extoll the virtues of BDD or teach people who have never used Cucumber how to start. Rather, it is one that will help people who have started using the framework, but are frustrated with problems sticking to it because of issues. I want to help people who otherwise would say, "Cucumber looks nice, but can't work here because of A, B, C, and D".
Hope that makes sense for the conference.
-- howard