Collaboration tools and practices are critical for firms to effectively execute business strategies and create custom applications. Testing early and often through techniques like test-driven development, acceptance test-driven development, continuous integration, refactoring, pair programming and exploratory testing helps ensure collaboration results in high quality software. Adopting agile principles like emergent design, flexibility, and practices such as scrum and feature-driven development enables collaboration magic.