In my experience, pattern-based design test-driven development with unit tests along with frequent refactoring and other agile methods appear to be one of the most adequate for most modern software projects.
Working on POWM and WINGS-FOR-SHIPS I initiated using CVS and Java Ant. In project Toll Enforcement Gantry I have gained solid experience in creating software releases using a build server and advanced CVS branching techniques. Automation of a build process is a key practice for an effective software development.
I am well-versed in UML. I use it mainly for documentation or communication purposes when writing a technical specification, a design documentation or presenting high level architectural concepts.