Tuesday, January 20, 2009

Backend stories make for unexciting showcases

Working software as the primary measure of progress is one of the most important aspects of an Agile development project. We conduct showcases at every iteration close meeting to demonstrate that what we have said we have built is actually "done and done". But when working on a project where a lot of the user stories don't have a user interface, a showcase just doesn't seem to pack the punch you had hoped for.

I've done several projects now where this was often the case. The team worked hard, and built some really valuable and solid features, but when it came to actually demonstrating them for business people we were often faced with the prospect of showing a command window where we would execute the program and watch the log messages fly by. The business people politely smile and the dev team can't help but chuckle.

One way to "spice things up" (if you can call it that) is to create visuals that help illustrate what is going on behind the scenes. Let's say that the backend process consists of ten steps, and by the end of the iteration the team has completed 3 of them. What I've done on some of my projects is to create an overall illustration of the intended backend process, and then highlight the steps that were completed during the iteration. At each iteration close you can start by showing what was completed by the end of the previous iteration, followed by what was completed by this one. For the people who don't fully understand the technical aspects, this at least gives them a feeling for the overall progress.

This is not to say that you should bag the showcase altogether. A lot of people will still like to see the proof that the feature is working per the story they signed off on, and may be very happy to walk through the log messages, and any resulting text files or database updates. If the end result is viewable on a screen, showing that screen before and after can be useful as well.

I wouldn't doubt that this post brings to mind the difficulty a lot of people face in creating stories for backend systems. They have a good point, and I'll have to blog about that in a future post.

No comments: