Este documento describe diferentes técnicas de desarrollo de software, incluyendo desarrollo tradicional, pruebas automatizadas, Test-First, TDD, BDD y cómo complementar BDD con otras técnicas. El autor recomienda comenzar con BDD y complementarlo con REPLs, Spikes y pasos más largos cuando sea necesario para abordar casos difíciles o de alto riesgo. El autor ha ganado menos errores, más constancia, más seguridad y velocidad al adoptar este enfoque flexible.