Jake Lawlor mentions on his blog a whole bunch of Agile patterns and practices to choose from when crafting your development processes.
"F. Establishing an Automated Build, Test, Source Control, Stage and Deploy Process
Automated builds refer to the automation of the many tedious steps involved in building the application components, managing source control, running unit tests and packaging and deploying the application components to the development, test and production environments. This traditionally can be an entire job description all by itself. By automating this process we eliminate a lot of manual work and potential errors due to human error. Our automated build additionally applies a source control label and creates a new versioned directory to a network location containing all files that will be applied for whatever environment is being deployed to (development, test or production). This staging directory provides for a natural rollback code base in addition to an easy location for future reference or trouble shooting!"
So, sounds like pretty good advice! Of course FinalBuilder would be the best tool to use :)