Thursday, May 27, 2010

BDD Antipattern: Business readable but no business involved


Marcus blogged about using ATDD in projects of rewriting legacy applications. He describes the problem of missing business involvement in those kind of projects.

He describes a possible approach for a project like this and a technical setup how to bind formalized examples (scenarios) to the new application.

What I miss in his explanations is any advice how to get from the legacy application to the formalized examples (scenarios). In my experience that is a very important aspect and I am afraid that many developers ignore or underestimate the importance of this for the whole BDD process!

Finding the relevant examples, formalize them in a maintainable way that can drive the development process and formulating them in a business readable language is is a lot of work and has to be justified and has also to be made transparent to stakeholders.

I would ask: Is the business involved in this process at all? Is any stakeholder except the developers interested in those examples at all?

If the answer to those questions is 'no', I am not sure if it makes sense to take the effort to go for scenarios in a business readable format. (note that I still think formalized examples do make sense, but not in a business readable format)

The real value of  business readable examples lies in the discussions between stakeholders they provide a base for. They should be the baseline for prioritizing and re-thinking the functionality of the application. If there is no chance of involving business, they loose pretty much all of their value.

Business readable examples have to be an artifact that business cares about! Else there is the imminent risk that the whole BDD effort degrades to a petty effort of over-eager developers (I have been one of those, believe me).


  1. You're right, of course, Jonas. One of the driving features of BDD/ATDD is customer involvement and the communication surronding the specifications. I appriciate that and would love to be able to try it out in it's pure form.

    But, as you guessed, the answers to your questions above is NO! (captial with an exlamation point). Our customer is not present. And that is a very common scenario in projects I've been in. Especially in big companies.

    The most common form of Scrum-but (you know, we're doing Scrum but… there is no scrumboard/no scrummaster/no sprint etc) in Sweden is the Scrum without product owner. That role is really hard to fill...

    And still I want to do ATDD/BDD? Am I an "over-eager" developer? It might very well be like that.

    But here are my reasons:
    - I can never imagine that a customer/stakeholder will suggest that we work with requirements through ATDD/BDD. They are not there yet. I'm sorry. Although the greatest use is in the communication and doing the requirements I think that the suggestion must come from a techie.
    - My idea was to get started this way, and demonstrating the specifications on each demo. In this way raise their interest and lure them into getting involved.

    And I think that the scenarios can be described by running the sceanarios in the leagacy system that is being rewritten.

  2. This and Marcus' blog post are the kernal for what I think would have to be one of the most important discussions around BDD. There are so many legacy applications out needing an overhaul, with no sensible roadmap for doing so.

    Where I work we have two legacy apps - one bought from a dying company, the other based on an earlier (and equally undefined) legacy system. Attempts to define the legacy apps in terms of BDD specs have fallen flat, mainly because there's no culture to support it (all Scrum-but, absolutely no QA, seat-of-the-pants development).

    I'll be watching how this discussion goes, as I'm keen for any ideas to help get the company on its feet - and I believe the discussion you folks have started is significant.


  3. Very gud and nice techniques discussed here i really appreciate the efforts from the designers here it seems very interesting i got many tips and tricks from this article and i really enjoy every single minute spending here on this site while reading this article thanx so much


Related Posts Plugin for WordPress, Blogger...