Empty rooms

It’s now about two weeks to OOPSLA, where Liz Keogh and I will be presenting a workshop on behaviour-driven development using JBehave. This will be along similar lines to the workshop I co-presented at RailsConf Europe last month.

At RailsConf we presented to nearly 200 people, which was about a quarter of the conference attendees. At JAOO last year Niclas Nilsson and I presented BDD to well over 100 people. So far at OOPSLA only a handful of people have signed up for the workshop. I’m curious. Is it that the people attending OOPSLA aren’t interested in behaviour-driven development? Is it JBehave? Is it that we haven’t marketed it very well? Is it simply the cost?

RSpec, the ruby equivalent of JBehave, is comparatively much more popular. It has been embraced by the Rails crowd and by rubyists in general in a way that JBehave doesn’t seem to have been in java. Perhaps JUnit and JMock were already so pervasive in the agile java community that there wasn’t room for JBehave, or perhaps it wasn’t seen as different enough to be worth trying – its early incarnations were as just another TDD and mocking tool.

Since I started writing JBehave back in 2003, BDD – and JBehave itself – has broadened in scope, covering user stories right the way through to tested, deployed code, and the OOPSLA workshop will explore this bigger picture. It will be of interest to anyone looking to understand behaviour-driven development, regardless of the technology stack or toolset you use.

On a related theme, java is trailing behind ruby and even C# in terms of customer-friendly executable documentation. JBehave might just be the tool to follow through on the promise of FIT, to define executable acceptance criteria that can be authored by testers or analysts.

So to anyone going to OOPSLA, if you aren’t coming to the BDD session I would be very keen to hear why so I can pitch it better next time. Is it that you aren’t using JBehave so you don’t think the session is relevant? Are you simply not interested in BDD? Is there too much other good stuff on at the same time? Or did you just not notice but now you have you’ll be signing up? I hope to see you in Canada!


  1. Hey Dan,

    Let me know how you session goes. I convened a BDD session at Alt.Net conference where I demoed NBehave. The attendees had mixed emotions about it since we really got into a heated debate on implementation of BDD. Kind of left feeling like we did more harm than good but the next day I attended an “Excutable Requirments” session that Jeremy Miller had convened. I was asked if I could demo NBehave to see if it could fill some of the weaknesses that Fit has left in the community. This is were NBehave shined . I had mentioned that this wasn’t the silver bullet to end all our issues but more a step in the right direction.

    When you have time I would love to compare notes on what feedback you are getting in the Java community.

  2. It is my impression that the old-school TDD and OO community is a little stagnant. THe fact that there is virtually no mentioning of RSpec et al on the TDD mailing list says a lot.

  3. Maybe it’s because a lot of people are not using or understanding TDD yet. And who is always interested in evolutions.
    And maybe a more important question these days “What does it cost? Or how much extra income $$$$ does it bring?”. Will I have a better revenue by doing BDD instead of TDD?
    Is the customer willing to pay for longer development? Is the developer willing to learn a new DD while there’s already a lot of new stuff? Is this comming from a big community or is it a one man show?

  4. Ah no, another 3 letter IT-term: “BDD”…

    Business Driven Development, an evaluation of TDD. I think it comes from the Java world, from JBehave…

  5. Jean-Michel · ·

    Monsieur Dan, votre flux RSS ne semble pas marcher avec Netvibes … Cela fait 1 mois maintenant, tu as une idée?

  6. My view is BDD is interesting but the documentation out there is often contradictory and doesn’t necessarily answer my questions. In particular as someone learning about BDD I’d have found it useful if someone had documented the relationship between BDD and the following:

    1) Need-driven Development or even just outside-in design.
    2) Ubiquitous language.
    3) User stories.
    4) Different levels of testing (so for example is using plain old TDD when you get to implementation levels valid).

    I did a brain dump of some of my initial confusion, mainly so that I can refer to it when trying to remember where to go for material on BDD (http://colinjack.blogspot.com/2008/02/bdd-what-still-confuses-me.html).

  7. Joachim Nilsson · ·

    Hi Dan
    Most books on the subject of requirements analysis tells us to go look for the client need behind every requirement. Have you considered this when using BDD? I myself find the need very useful to 1) get a deeper understanding of what the story is ment to do, 2) being able to categorize (and find contradictions in) stories and 3) setting the sprint goal for my team. Normally the stories I get will not have the basic need, more a translation of that need into what the stakeholder believes he/she wants. Or that writing the basic need will seem to obvious or sound silly.

    As a – product manager
    I want – better logging in the product
    So that – my maintenance staff can find errors more easily


    As a – product manager
    I want – better logging in the product
    So that – the product maintenance cost will be lower
    (the connection is not completely clear to all – right?)

    I thought about how this would work with the BDD templates. There are probably a bunch of people who can think of a better way but perhaps something like adding “In order to…” after the “So that …”.

    As a – product manager
    I want – better logging in the product
    So that – my maintenance staff can find errors more easily
    In order to – make the product maintenance cost lower

    It could be solved by simply adding the normal ‘And’ to the ‘So that…’ but then those two lines would be of same importance. And to me there is a big difference between a basic need and a experienced desire or wish.

    Comments anyone?

%d bloggers like this: