De un tiempo a esta parte mucha gente está hablando del extreme programming como si fuera la panacea a todos los problemas de los desarrollos actuales.
Las metodologías más modernas basadas en el proceso iterativo de RUP, motivan la generación de entregables del producto de forma muy repetitiva, por ejemplo SCRUM propone generar entregables cada 30 días en ciclos llamados ‘sprints’.
Esto obviamente no es la solución a ningún problema, de hecho es la mejor forma de mandar a todo el equipo de proyecto al psicólogo, porque a ningún desarrollador experimentado se le escapa que los días previos a la entrega (o al sprint) suelen echarse horas ‘por el bien del proyecto’.
En realidad Scrum solo es una metodología relativamente nueva, que no mejor, solo diferente. Si tuviera que citar una ventaja del Scrum es que reduce la ‘burocratización’ del software.
A nadie se le escapa hoy en día que las grandes empresas andan liadas con la ISO, los CMM, los ‘ilities’ y demás intentos de inundarnos en burocracia a los desarrolladores. El Extreme programming, el Scrum y en general las metodologías ágiles pretenden recordarnos que lo que hace funcionar los sistemas es un buen código, de la misma forma que un buen muro sujeta un buen edificio.
La metáfora con un edificio es muy descriptiva: imagina que tienes unos planos de arquitecto estupendos, pero los ladrillos se pegan con arena… es seguro que el edificio se caerá. Ahora bien imagínate que tienes unos planos muy escuetos que van al grano y un edificio con muros de hormigón armado.
Es precisamente de eso de lo que estamos hablando, de código… es lo que hace funcionar los sistemas, no la burocracia.