A partir de una visión clara e intima del proceso de desarrollo de software, Kent Beck a creado un enfoque metodológico que a primera vista pareciera contra intuitivo pero que ha resultado exitoso y ampliamente aceptado en la comunidad de programadores.
En Test Driven Development: By Example (Addison-Wesley Signature Series), el libro seminal de TDD, Beck aplica el refrán de divide y vencerás al precepto de calidad en la producción de código: Clear code that works.
Beck propone contracorriente que es posible separar las consideraciones de calidad de código, desde la perspectiva de ingeniería de software, de la verificación de la funcionalidad, y que el primer paso en cada iteración del proceso de desarrollo es definir y aplicar las pruebas de funcionalidad.
Beck utiliza un proceso de refactorización para pasar de código funcional a código limpio, utilizando la eliminación de redundancia o duplicidad como guía metodológica.
Haciendo una analogía con un semáforo, Beck describe un proceso iterativo de 3 pasos:
- Rojo. Empezar con una prueba que debe fallar, tal ves ni compilar siquiera.
- Verde. Hacer que el código pase la prueba de la manera más expedita y simple, sin consideración alguna a normas y patrones de calidad de código.
- Refactorizar. Eliminar redundancia en código, pruebas, y datos.
De tan sencillo enfoque Beck elabora la metodología de desarrollo dirigido por pruebas.