September 28, 2005

The Wall of Death

Charles Miller gives a peek into some of the development process at Atlassian, makers of the fine products, Jira and Confluence.

The basic idea, simplified by me, is to print all the issues/bugs left in a release, do a quick estimate on them and put the physical paper up on a wall. From there, developers work only on things on the wall, they grab an issue and get to work. Once it is completed, the paper goes into the Done pile. Anything which needs to be added to the release needs a new issue and then goes up on the wall as well. As Charles says, it is a great way of focusing development and then getting a sense of where you are in the process.

Once the wall starts to empty, you know the work is getting done and things are going smoothly. In the same way, if the wall stays cluttered, perhaps there are some underlying problems with either estimating the work or how much is going into a release. I don't think this is a feasible solution for day-to-day development since there wouldn't be time to experiment with new approaches or things like that but as a way to crank out the code for a release, it could be very useful.

As I writing this, a thought popped into my head that maybe this idea could be used on a personal basis as well. I'm working on a project as the main (only) developer and there are various little issues that need to be dealt with. As one of the comments in Charles' blog mentions, this idea is like Getting Things Done for development. If I write it down / put it on a wall, it's out of my head and I can focus on the job at hand. I might just have to try this out and see how it goes.

Posted by Josh at September 28, 2005 09:36 AM