— 4 min de lectura
¿Qué son, párrafo corto, las metodologías ágiles?
Es un forma de desarrollar software en la que se prima entregar valor a menudo al cliente, respondiendo ante el cambio e implicando al cliente directamente en el proyecto.
Dije párrafo corto 😅, ahora explicaré un poco más en detalle el porqué de esta definición (es cosecha propia, seguro que hay otras por ahí más completas y formales) y los puntos clave.
Alternativas
Si hay unas metodologías que son ágiles, habrá otras que no lo son, o se llamarán de otra manera, así que voy a explicar un poco aquí, de dónde veníamos antes de que las metodologías ágiles se pusieran de moda.
Hasta la aparición de las metodologías ágiles (el manifiesto ágil es del 2001), lo más frecuente era usar algo llamado Desarrollo en Cascada, o Waterfall del inglés. Una forma de resumirlo sería decir que se captaban requisitos del cliente, se iba uno a hacer el software allá donde lo hiciera, y volvía X tiempo después con una versión que, más o menos, se parecía a lo que el cliente quería. A partir de las cosas que no gustaban, no encajaban, no eran como deberían, etc, se establecía otra iteración con lo mismo, nuevos requisitos, análisis, desarrollo, entrega, y así.
Pasado por encima, uno podría pensar que un modelo y otro son parecidos, al final hay una serie de iteraciones hasta llegar al final, pero la clave está en los detalles de lo que pasa entre medias. Para nosotros hay tres puntos clave:
Entregar valor a menudo
Decía mi definición, que vamos a primar entregar valor a menudo al cliente. Son pocas palabras, pero encierran mucha chicha. Lo primero, ¿quién define lo que es valor y lo que no lo es? --> El cliente. De ahí lo que también decíamos de implicar al cliente en el proceso. El cliente es el único que determina qué le aporta valor y qué no. Nosotros podremos guiar, aconsejar, sugerir, etc, pero en última instancia, es el cliente quien determina qué aporta valor y qué no.
¿Qué es entregar a menudo? Parece una tontería, pero claro, la velocidad es una cosa muy personal y dependiente del momento. El consenso general es que lo ideal son ciclos de desarrollo de 2 o 3 semanas, cuanto menos mejor.
Otra clave que suele dejarse de lado es la que implica la palabra entregar. No vale con tenerlo casi listo, en mi local funciona, etc. Entregar significa que el cliente pueda verlo, tocarlo, jugar con él, etc.
Responder ante el cambio
Hoy en día, pensar que algo que habíamos establecido que sería de una forma hace tres meses, va a seguir siendo igual dentro de tres, especialmente en el mundo digital, es una forma segura de darse cabezazos constantemente contra la misma pared. Las cosas cambian, hoy en día muy rápido. En las circunstancias y situaciones en que las cosas no cambian, es muy probable que la competencia sí, los clientes cambien, el mercado, los usuarios, aparezcan nuevas tecnologías entre medias, etc... En definitiva, vivimos en una época de constante cambio. Parte del éxito de las metodologías ágiles se debe a que surgen con filosofía de respuesta ante el cambio, más que al seguimiento de un plan preestablecido.
Como los ciclos de desarrollo son cortos, si surgen nuevas ideas entre medias, cambios, o hay que virar hacia otra dirección, puede incluirse de forma rápida para el siguiente ciclo de desarrollo y los tiempos de respuesta mejoran considerablemente.
Implicar al cliente en el proyecto
Desafortunadamente este es uno de los puntos que mas cuesta, pero para que un proyecto con metodologías ágiles funcione (y sea tal), el cliente tiene que implicarse. Para priorizar lo que le aporta valor, para revisar nuevas ideas, tareas, ayudar a definir exactamente lo que hay que hacer, para revisar lo entregado, es fundamental un cliente activo para que un proyecto con metodologías ágiles funcione.
Como distinguir gato de liebre
Como decía al comienzo, esto de las metodologías ágiles está tan de moda que, en muchos casos, es un concepto incluso desgastado. La realidad es que es una forma de trabajar que funciona muy bien y permite ciclos más cortos de desarrollo, lo que permite saber antes si uno va por el buen camino, probar desarrollos cortos para lanzar pruebas de concepto de algún producto nuevo, etc, pero como en todo, siempre hay quien se apunta al carro simplemente por la moda.
A veces, con estas revoluciones tecnológicas, ocurre también que llega un momento en que se pierde un poco el norte y dejamos de lado el objetivo inicial, el fundamento de por qué empezamos a usarlas ya de primeras, y con las metodologías ágiles ocurre que mucha gente se centra en el aspecto metodológico y poco en la parte ágil.
Para profundizar un poco en el tema y tener claro el por qué de todo esto, para empezar, está el Manifiesto Ágil. Ahí también están los 12 principios del manifiesto ágil. Nada más empezar a leerlos, el primero dice: Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor. Si das con un proveedor o proyecto que no cumple este primer punto, por más que te vendan que se hacen metodologías ágiles, lo que se hace es otra cosa...