Visualising software development projects

Last month I had great fun working on the Boardgame Remix Kit iPhone app, which kept me busy for a large chunk of November (if you've not got the Boardgame Remix Kit on at least one media format, what are you waiting for?! It's an excellent xmas gift for yourself or others!). To the untrained eye it might look like all I did was sit hunched over a computer all day, but in fact virtually I was a busy little bee, as demonstrated by this visualisation:

Boardgame Remix Kit iPhone app went from nothing to shipping product over the course of the month, as visualised with the wonderful (if slightly arcane in use) gource.

Software projects are living, evolving beasts, particularly large projects with many collaborators. Whilst to the lay person it just looks like a bunch of weird text with too much  punctuation, there's a lot of activity going on, with different people working on different parts of projects, and it's sometimes hard to articulate that to non-techies. Thankfully gource helps capture all that in a way that's easy to understand.

Whilst the Boardgame Remix Kit software repository was only worked on by me, if you look at some of the other examples out there for larger projects (like this one of the Sakai education platform) then you can begin to see how this kind of thing goes from pretty video to a very useful project management tool. If all you have is a file system view of the project you might not notice when someone adds or removes a hundred files, but when visualised this way, it's easy to spot. Gource even has a real time mode where you can have it running all the time showing you things as they happen.

It also is yet another reason, as if you needed one, for people to use revision control - without taking regular snapshots of your development process this sort of thing isn't possible.