Unit testing should be at the absolute top of the list. My current project is thoroughly wrapped in unit tests, and it gives us the power to make deep structural changes very late in the development process. I've never felt so confident that a first release will be rock solid.