Balance Between Test-Driven Design and Test Maintenance Overhead