Si, ya se, todo el mundo suele comentar que los pilares del desarrollo de software ágil son tres:
- La cultura, principios y valores
- Los métodos y artefactos de gestión (liturgias y procesos correspondientes a scrum, kanban, etc.)
- Las prácticas técnicas y la búsqueda de la excelencia técnica (Pair programing, TDD, collective code ownership, Integración continua, etc.)
Pero tengo la sensación que para un desarrollo de software que aporte valor a los clientes y que sea sostenido en el tiempo, principalmente nos hacen falta dos, y desgraciadamente nos son los valores que más suelo ver...
Como siempre, no todo es blanco o negro así en cada momento en el tiempo cada pilar lo podemos tener más o menos interiorizado, por lo que a continuación comento varias de las combinaciones que he visto y el efecto que creo que tienen.
Cultura ágil interiorizada, métodos ágiles conocidos y en uso, prácticas técnicas muy mediocres, suele derivar en bola de lodo inmantenible, eso si, en menos tiempo y con más eficiencia que sin métodos ágiles.
Cultura ágil no interiorizada, métodos ágiles conocidos y en uso, prácticas técnicas correctas o buenas, deriva en un buen flujo de funcionalidades, pero que será complicado de mantener en el tiempo, puesto que será difícil conseguir un equipo de desarrollo estable y cohesionado. Así que funciona en estos momentos, pero es difícil de mantener en el tiempo.
Cultura ágil no interiorizada, métodos ágiles conocidos y en uso y practicas técnicas muy mediocres, es lo que se conoce como Scrum de chichinabo (tm) y es un fiasco total, a muy corto plazo puede dar alguna pequeña victoria, pero suele derivar en situaciones peores que antes del intento de implantación del desarrollo ágil.
Cultura ágil interiorizada, métodos ágiles mínimos, prácticas técnicas correctas o buenas, deriva en en un buen flujo de funcionalidades que se pueden mantener en el tiempo con un ritmo sostenible.
Vamos, que si tengo que elegir dos pilares, elijo, sin duda alguna, Cultura ágil y prácticas técnicas. Por cierto, que ese espíritu creo que encaja muy bien con la Programación Extrema y con el movimiento de Artesania de Software.
Cultura Ágil
+
Prácticas Técnicas
Por supuesto, esto es mi opinión y sólo está basada en los contextos que he ido viviendo, pero para eso es mi blog, no? ;-)
Si alguien conoce implantaciones en las que con mal conocimiento y prácticas técnicas se ha conseguido un buen resultado a medio largo plazo que me lo comente que seguro que tiene muchas cosas de las que se puede aprender.