Test-Driven Development

Test-driven development (TDD) is a development practice where the software developer writes one or more tests before writing any implementation code.

TDD allows developers to write tests before virtually all implementation if desired.

This is easier said than done, however; writing tests well is a skill just as writing application code well is a skill. Additionally, the impact to velocity and change in workflow can be quite discouraging to teammates who haven't developed software in this fashion before because it requires a different approach to solving problems.

With time, practice, and mentorship, developers can write code in a test-driven fashion with less of a velocity impact.