Cleaning Stuff Up
I've also been doing a lot of cleaning and reorganizing around my flat. It's very refreshing to actually have the energy and motivation to do that kind of stuff, since I very rarely did during the Evil Day Job.
Cleaning up seems to be Theme of the Week in my life. In preparation for Projects Future, we've been doing a massive code analysis and refactoring process. The first phase of this is a dead code hunt; during the hectic crunch mode on the X3 project, a lot of code got shuffled around, orphaned, etc. So I'll be taking care of cutting out excess junk, as well as updating any code that relies on deprecated methods.
After that is a hefty physical architecture change, moving files into new directories, splitting modules into more finely-grained and aptly-named files, and so on. Once that is done we'll be doing actual refactoring to group together some bits of logic thhat are currently spread out across several modules, as well as eliminating some redundant routines and building a few centralized libraries to replace a lot of special-case hard code. A few previously hard-coded things will be converted to a more data-driven design as well, which will be immensely helpful in the balancing phases of Projects Future.
One of the most promising things that has happened is the adoption of some good project management and documentation tools. We've started using a pair of packages from Atlassian: JIRA for task tracking, and Confluence (a WIKI package) for doing broader documentation and specifications. Both are fairly nice; they won't dethrone massive teamware that already exists, but they cost a heck of a lot less, which makes them more than worth it. So far both tools have been perfectly adequate for what we need, and customizable enough that we can adapt them to our own methods. JIRA has already paid for itself just by virtue of the ability to see, at a glance, what works is being done and by whom. It'll probably be a while before we have any considerable amount of content in the Confluence wiki, but it's shaping up to be worth its (digital) weight in gold, too.
Atlassian's products seem to have one niggling little oversight: they require a lot of clicking to get around. On a high-speed server, though, that's not that big of a deal, and the ability to batch-manipulate tasks mitigates that problem quite nicely. There's a few things that could be done better, but the price is most definitely right. Considering what these tools replace (a nasty hacked amalgam of forums, email newsgroups, and tiny custom ASP scripts) it's a huge step upwards.