Cucumber & BDD: The Evil Pickle in the Room?

Published on September 5, 2025
Let’s talk about the pickle that divides testing teams

Cucumber and Behavior-Driven Development are one of those topics that always get people talking. Some teams swear by it. Others roll their eyes the moment someone mentions “Given, When, Then.” Depending on who you ask, it’s either the best way to bring product and engineering together, or a complete waste of everyone’s time.

If you talk to test engineers, you’ll hear plenty of complaints. Cucumber adds extra layers of setup, feature files, step definitions, and glue code before you even get to the actual testing. It can feel like you’re writing the same test twice: once in plain text, once in code. In fast-moving projects, that slows things down, and many testers feel it doesn’t add enough value to justify the effort. For them, BDD is more about looking good than actually helping delivery. “To repetitive …” they said.

Product owners often feel the same. On Jira, BDD is meant for them. It gives a way to describe requirements in a format that can also be executed as tests. But the truth is, writing in Gherkin doesn’t always feel natural. It’s not really plain English, and it’s not code either, it lives in an awkward middle ground. Many product owners find it tedious and quickly lose interest. Once that happens, engineers end up carrying the whole thing, which defeats the purpose.

But let’s be fair, BDD isn’t all bad. When teams actually commit to it, it can work really well. A well written feature file forces everyone to get on the same page before development starts. It clears up confusion, provides clear acceptance criteria, and becomes a form of living documentation that stays up to date. In industries where traceability matters, like finance or healthcare, it can be especially useful. And for teams working across different time zones or with lots of moving parts, having a shared format helps avoid misunderstandings.

So where does that leave us? The truth is, BDD isn’t for every team, and it isn’t for every situation. If your product owners are engaged, if requirements are tricky and need a lot of clarification, or if you need strong documentation, then BDD can really pay off. But if your team is small, fast, and already working closely together, the overhead might just slow you down. In those cases, conversations and good meaningful automated tests might be more than enough.

At the end of the day, Cucumber can be either a helpful bridge or an annoying pickle. It depends on how and when you use it. The important thing is to make the choice that fits your team, your product, and the way you actually work, not just adopt it because it “looks nice!”.

So use it wisely, or that evil pickle above won’t just sit in your pipeline, it’ll eat it in chunks of maintenance 🥒😈