Test Driven Development
Created on: Jun 21 2017 (Wed) @ 10:22 PM
faster feedback loop for developers
The benefits of TDD and the near instantaneous feedback cycles it produces are addictive and extremely valuable.
Many benefits exist beyond software design, the creation of unit tests, and the executable documentation that unit tests serve as.
It is essential that safe learning environments are created so that developers can learn and practice without feeling like it will only interfere with their ability to “ship features faster”.
Often people believe that the primary justification for practicing TDD is the creation of unit tests. This illustrates the most common misunderstanding of TDD: that TDD is a testing practice.
When practicing TDD, a high quality unit test suite is a secondary benefit. It can even be considered a side-effect of the practice.
TDD requires developers to learn evolutionary software design techniques and how to incrementally develop features.
TDD often facilitates developer collaboration. When combined with pair programming, in a practice called Ping Pong Pair Programming, TDD creates a powerful workflow, opportunities for team collaboration, and helps create a culture of mentoring on development teams. It does this by creating extremely short feedback cycles within the pairing session, ideal for mentoring developers.