In an XP project, you figure out what you are doing by looking at your backlog, or list of stories, for the current iteration (or sprint if you are into the Scrum thing). One key question your team has to figure out is where the stories will be listed. For example, many XP teams are collocated in a “war room” and have all the stories taped to the wall. This is great, because you can see at a glance what stories are left, and who is working on what. It’s not so great for anyone not in that room – which is why many teams turn to an electronic card tracking tool. Currently, we use a tool called ProjectCards, because our Product Manager is several states away. I’m also working on a personal project where we are using BaseCamp.
However, generally speaking, it is recommended that XP teams stay away from electronic tools wherever possible, as this quote from Ron Jeffries on the XP mailing list shows:
I do not recommend an “e-tool” to track stories, especially not within the team. The team’s focus should be in the room, on the work, not on some external computer gadget. Cards on the wall, stories on the whiteboard, that’s my preference.
So, why does it matter? Electronic, whiteboard, it’s all the same, right?
Today, I was talking with another team member about cards on the wall versus cards in ProjectCards, and the most wonderful example of the difference between the two happened. At our company, we have these things called Stars. Basically team members can “star” other team members who they feel have done an excellent job in some area. On the home page of our intranet, we have a list of the current stars, with their names hyperlinked to the description the nominator gave.
But, in our breakroom, we have a big Plasma TV. It cycles through various things, like new marketing materials, testimonials from our customers, and, most importantly, the current stars. However, instead of just listing all the names, it shows each one, displaying who was nominated, who nominated them, and the description of why they were nominated. Going into the break room to get a soda or some ice, one can’t help but glance up at the TV, and most times there is a star nominee on the screen, so you read through it. In the process, you get to learn something about the company you may not have otherwise.
And I think that is the key difference between the cards on the wall, and cards in a tool. Anything that requires work to look at, probably won’t be looked at without a good reason. Imagine this scenario. Let’s say we have the following user story:
Title: Financial Institution logs into their account and receives an inventory report
Description: When Financial Institution logs in, they should receive a list of widgets from their inventory that were recently updated. We already have a query, spShowInventory, we can reuse from the Frooble project.
Now, you were a developer on the Frooble project, who happened to write spShowInventory. Unfortunately, spShowInventory has the side effect of updating the view_count field in a certain table every time it is used, since that was the requirement of Frooble. However, the developers on this project don’t realize that view_count is going to be updated, and that when they release this to 1 million plus customers a day, contention for the table could seriously hinder performance.
In our first scenario, you see the card through your tracking tool. You see something like:
Upcoming Stories
- Banking customer logs in and sees balance
- Dealer clicks on report and gets charged standard price
- Financial Institution logs into their account and receives an inventory report
You are working on the Dealer project, so you see the other stories, but none of them interest you enough to actually open them to see what they are.
In the second scenario, you walk up to the board to get your next story, and glance at the other stories that are up there. While scanning, you happen to see spShowInventory on a card, and look up to see what it is about. You immediately grab the card and find the team working on it, helping to avert serious disaster and perhaps the end of the world as we know it.
Ok, so perhaps that is a little extreme. But my coworker and I did comment that if they weren’t putting the nominations up on the TV, we probably wouldn’t have any idea what these other people were doing. One vote for Card Wall in my book!