I’m going to give an introductory presentation about Acceptance Test Driven Development to our R&D unit next week. I’ve been harvesting the Internet for experience reports of applying ATDD to legacy systems to no avail. There are lot’s of basic presentations about it but nothing deeper and nothing regarding legacy code bases. So, with the absence of useful experience reports and proven strategies of applying ATDD in legacy systems we have to figure it out ourselves (well, of course we have to find own way! Blindly copying practices leads to failure).

The basics of ATDD should be easy to grasp but actually doing ATDD is much more harder than that. And given a huge legacy code base with only a roughly sufficient level of automated regression test suites even more so.

What I am after now is the sparkle, the aroused interest in the concept of driving full feature development with tests. We have a potential time slot coming up where we could turn one of our releases into a stable base and focus our efforts to test development beyond that point. But, I can’t do it by myself. I need others helping me. Should we get a good start on the concept of ATDD (we usually have quite excellent acceptance criteria for new features already) we have some work to do like choosing the tools and angles of approach.

But, first things first. I have to ignite the flame before we can cook anything. Wish me luck! :-)

Post filed under ATDD, Presentation and tagged , , , .

3 Comments

  1. I assume that you already gave this presentation, so how did it go?

    Regarding “ATDD and Legacy Systems”, are you adding features to a legacy system, or adding features that use the legacy system? I have different advice for each case.

  2. The presentation went well. People liked my ideas and during our discussions we came into conclusion that we actually do some kind of ATDD already. Not all tests are done before development, most of the tests are built in parallel with development. We already over a year a go agreed that all fixes and features must have automated test cases. We are more and more using tests as a tool for discussion regarding our software.

    We add both new features and correct defects. We have an active and global customer base (>100, on every continent) so we release roughly every 3 months. We support two latest major versions (on 6 different *NIX platforms…) and create new features only for the latest version. And our software is not of the smallest kind. Pretty complex situation I’d say, not hopeless though :)

  3. Pingback: ATDD and Legacy – what’s up? | The Ways of an Agile Poodle

Leave a Reply

Your email address will not be published. Required fields are marked *