Hoy en día es fácil ver en una oferta de trabajo frases como: «se requiere tener conocimientos de TDD, BDD, etc.» También hay muchos artículos donde se explican qué son todas estas prácticas ágiles, y cómo llevarlas a cabo en tu proceso de implementación de software. Al final parece que lo que cuenta es si sabes hacer o no TDD, si sabes hacer o no BDD, si sabes hacer o no ‘X’, pero tengo la sensación de que no preguntamos si se sabe por qué necesitamos que las personas tengan estos conocimientos y lo más importante, si ellos saben por qué son tan importantes y requeridos.
Hacer TDD, BDD, Code Review, Pair Programming, y todas las prácticas que sean buenas para nuestra implementación de software, pueden significar absolutamente nada si no partimos de las bases, si no entendemos por qué nos ayudan a hacer mejor software y lo más importante, por qué queremos hacer mejor software.
El caso es que echo de menos que antes de explicar una práctica ágil, empecemos por las bases, por los valores que tan claros y sencillos están definidos en el manifesto. Considero que sin entender qué queremos y cómo lo conseguimos con estas prácticas, sólo nos quedaremos con la fachada de la metodología, solo veremos la punta del iceberg, y no aprenderemos lo que nos hace realmente ‘ser ágiles’ cuando tenemos en cuenta los valores de base.
Cada vez que enseñes o hagas una práctica ágil, recuerda qué es lo que la sustenta y por qué queremos hacer mejor software.