Icons/Others/Logistic
Tecnología
Tiempo de lectura: 4 minutos

Los 12 principios del Manifiesto Agile (Parte II)

Continuamos con la reflexión personal sobre la metodología y los principios del Manifiesto Agile.

Si quieres refrescar lo hablado antes sobre esta cuestión, la primera parte del Manifiesto la puedes leer en el siguiente post «Los 12 Principios del Manifiesto Agile (Parte I)».

7. El software funcionando es la medida principal de progreso.

¿Existe mejor manera de comprobar el avance de un trabajo que poder ejecutar, ver y probar el trabajo realizado?

En el momento en que todo el mundo puede comprobar de manera tangible, práctica y funcional, es cuando realmente podemos asegurar un avance en la ejecución de un trabajo. Si mantenemos un enfoque teórico sobre el avance de las tareas, estaremos manejando conceptos subjetivos, abstractos, inexactos e inseguros bajo un criterio personal. Mientras que demostrar un avance real del software funcionando, permite medir el progreso de un desarrollo sobre tangibles.

Este principio está estrechamente ligado a evitar la multitarea, a tener muchos frentes abiertos y a priorizar funcionalidades que se puedan dar por finalizadas. Ya que esto nos lleva al síndrome del 90%, que se da cuando en un proyecto acabamos con un montón de tareas al 90%, que están casi terminadas y eso no nos permite finalizar correctamente los proyectos.

8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.

Muchas veces se habla de la importancia de la velocidad y de que el desarrollo Agile no trata sobre «correr», pero sí sobre mantener una velocidad constante con un rápido avance demostrable. Tan importante es poder alcanzar una alta velocidad de desarrollo, como poder mantenerla estable, sino, sólo estaremos cubriendo una necesidad puntual. 

Para ello, es necesaria la participación y alineamiento de todos los afectados por el proyecto, que puedan aportar o generar impedimentos en este.

Este principio plantea un objetivo que no es nada sencillo de conseguir, ya que existen múltiples elementos externos, que pueden afectar a la sostenibilidad del desarrollo y poder adaptarse a estos.

9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.

En el desarrollo de software, lo importante es la necesidad de negocio que el producto pretenda cubrir, y de qué manera lo cubre la solución que se desarrolle. Y si bien, en la inmensa mayoría de los casos, los principales problemas para conseguir este objetivo, no se encuentran en la pura técnica o su diseño, este principio nos habla de la importancia de la maestría, control y conocimiento de los medios y las herramientas que utilizamos para poder llevar a cabo el proyecto y conseguir los objetivos planteados.

La excelencia técnica y el buen diseño, nos van a ayudar a:

  • tomar mejores decisiones
  • tomar las decisiones más rápidamente
  • aportar mayor robustez a la solución
  • plantear soluciones más eficientes
  • reducir el desperdicio
  • conseguir mayor rendimiento con menor esfuerzo
  • evitar riesgos
  • conseguir resultados más fáciles de mantener que generen menos costes
  • facilitar otros valores y principios de la Agilidad como el ritmo constante, la entrega temprana, la adaptación a nuevos requisitos, y demás.

10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.

Más allá de que en la mayoría de casos, la solución más sencilla suele ser la mejor, facilita mucho el trabajo en equipo la simplicidad a la hora de transmitir conocimientos entre unos miembros y otros, sea cual sea su naturaleza.

Muy ligado al «modelo lean», este principio nos habla también de la importancia de buscar soluciones evitando complejidades, de no querer abarcar demasiado a la vez, de trabajar en un avance poco a poco, de pensar soluciones simples que aporten gran valor y de eliminar, en la medida de lo posible, el esfuerzo que no aporte valor. 

11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.

La auto-organización es otro de los puntos que se pueden interpretar de múltiples maneras, o comprenderla por múltiples niveles de madurez de los equipos para poder ser abordada en un grado o en otro. Pero el hecho de disponer del nivel que sea de auto-organización, aporta una mayor capacidad de reacción por parte del equipo ante situaciones complicadas, mejora la comunicación y el entendimiento entre los miembros, favorece el pensamiento colectivo y un mejor reparto de responsabilidades en cada situación.

12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.

Seguramente la práctica más conocida que refleja perfectamente este principio sea el de realizar retrospectivas, pero no deja de ser la búsqueda continua de mejora.

Aunque parezca de perogrullo, dicen que el ser humano es el único que tropieza dos veces con la misma piedra, y ojalá fueran sólo dos veces. El hecho de pararse a reflexionar y hacerlo en equipo, permite reducir este riesgo enormemente, además de permitir encontrar mejores formas de ser más efectivo o reducir el impacto de algunos riesgos o errores cometidos en el futuro.

No solo es importante el hecho de reflexionar, sino el de buscar una mejora efectiva por mínima que sea, además es algo que a todos nos aporta una gran satisfacción a nivel personal y a nivel profesional.

 

He transmitido una humilde lectura sobre cada uno de los principios del Manifesto Agile, comentando algunas de mis reflexiones, sin ser ningún experto en agilidad, ni tener demasiada experiencia con esta. Y aunque cada principio podría dar para un post entero o incluso más, creo que lo verdaderamente importante de todo esto, no es el framework agile que se utilice, las prácticas, las técnicas, los medios o métodos que se utilicen, sino tener siempre presente el trasfondo, la intención y el propósito de todo esto, que no es otro que “Buscar mejores formas de desarrollar software”.

Escrito por
TxiMobileDevelopment Director