Practicing Test Driven Development