Brian Marick has written that we are now in the third age of software
development: The Age of the Scrapheap [1].
He suggests a Dump Picking [2] of the Month exercise like the
Pragmatics' Language of the Year exercise. Agree on a software scrap,
learn to apply it and share the results.
What do you think would be a good scrap to start with?
I'd suggest Graphviz [3]. I've used it on the last three or four
projects I've worked on for documentation and visualisation. I've
typed DOT files into a text editor while talking to users to create
quick domain models. I've used graphviz to draw module dependency
diagrams for a Python API documentation generator. I'm currently
using graphviz to map a large legacy C++ system and visualise
stability of its modules.
Maybe graphviz is too well known. What other good tools are out there?
[1] http://www.testing.com/cgi-bin/blog/2006/06/06#three-ages
[2] http://www.freecycle.org/archives/000513.php
[3] http://www.graphviz.org