If your project presents special challenges, take a look at our road hazard survival kit for tools and techniques that can help.
If your application has a user interface, keep it as thin as possible. Shift business logic to the layers below the user interface.
The database design is a key factor in testability. Use XP principles to find the simplest design that could possibly work.
Since the team, not just the tester, is responsible for test automation, programmers also feel the pain of automating tests for systems not designed for testability. This provides motivation for better design practices.