“FreeMind”:http://freemind.sourceforge.net/ is a pretty good open source “mind mapping(Wikipedia – Mind mapping)”:http://en.wikipedia.org/wiki/Mind_mapping tool, which we’ve been using to capture the efforts of various bits of brainstorming, as well as keep track of ever evolving processes. One of the processes we’ve detailed using FreeMind has been our build process – during which I was struck by just how good FreeMind could be at actually modelling an “ant”:http://jakarta.apache.org/ant build structure. High level tasks (such as @deploy@) can be easily broken down into smaller dependent tasks (@compile@, @copyToServer@ etc).
I think the process of just sitting down to actually work out how your build file should be structured would benefit most projects – I’ve lost count of the number of times build files have been thrown together without any real thought. There is something about ant (which I’ll discuss another day) that makes developers who would normally write perfectly nice, clean, code write horribly convoluted, unmaintainable ant build files without any clear consistent approach.
The FreeMind file format is in XML, which theoretically could be formatted using XSLT to produce a skeleton ant build file, therefore making FreeMind a potential (one-way) ant GUI. Failing that, just using the tool in the first place would be a good place to start.