Las Metodologías Ágiles y sus Elementos más Valorados
Las Metodologías Ágiles y sus Elementos más Valorados
Hay registros de desarrollo iterativo e incremental que se remontan a los años 1957(https://www.semanticscholar.org/paper/Iterative-and-incremental-developments.-a-brief-Larman-Basili/f9b3ca89c69bacfade039c8be40762c6857bda11) y también el desarrollo de software adaptativo que emerge en los años 1970 (https://dl.acm.org/citation.cfm?doid=1010865.1010868), pero hoy en día es cuando “todo el mundo” relacionado con el desarrollo de software habla sobre las metodologías ágiles.
El desarrollo ágil de software involucra a equipos autorregulados y multifuncionales, interacciones constantes con los clientes y usuarios finales, aboga por la planeación adaptable, el desarrollo evolutivo, la entrega temprana de características deseables y el mejoramiento continuo, así como promueve la rapidez y flexibilidad para responder ante el cambio.
Lo que más comúnmente conocíamos hasta hace algunos años en el medio latinoamericano y particularmente en Honduras había sido el uso de metodologías en cascada, como el famoso Ciclo de Vida del Desarrollo de Sistemas, que se centran en descubrir requerimientos y planificar el desarrollo de un sistema, grande o pequeño, para al final entregarlo a sus clientes; corriendo el riesgo de que para ese momento de la entrega ya no sea lo que éstos necesitan.
Las metodologías ágiles por otro lado, nos permiten evolucionar con el mismo entendimiento que el cliente va teniendo de sus requerimientos e inclusive con la misma evolución que se da día a día en el mercado.
Sin lugar a dudas, no podemos hablar de desarrollo ágil sin mencionar el “Manifiesto Ágil” (http://agilemanifesto.org/) y es por eso que en esta introducción a las Metodologías Ágiles me centraré en las cuatro menciones principales de este:
Individuos e interacciones sobre procesos y herramientas
Software funcionando sobre documentación extensiva
Colaboración con el cliente sobre negociación contractual
Respuesta ante el cambio sobre seguir un plan
Por sí solos parecen explicar mucho, pero por si acaso, me gustaría mencionar que las grandes empresas, y no con esto me refiero a numerosas únicamente, son aquellas empresas en donde las personas son quienes les dan su mayor valor y ésto se les reconoce abiertamente y con mucho énfasis frente a los clientes, más que el hecho de dar a conocer los manuales de procedimientos o las herramientas específicas que se utilizan para hacer el desarrollo requerido.
Claro que los elementos a la derecha tienen valor, pero los elementos a la izquierda son mucho más valiosos.
En el mundo académico se enseña y se valora mucho la creación de documentación por ejemplo, pero en el día a día de un negocio, vale mucho más el hecho de que el software funcione correctamente y sea asimilado fácilmente por los usuarios finales, que el hecho de tener un manual de procedimientos que después de unas horas permita darse a entender.
Por otro lado, sabemos que normalmente un contrato define algunos términos sumamente importantes como fechas de entrega, precios, términos de servicio y demás, pero no hay nada más valioso que poder colaborar con el cliente en el desarrollo de un producto de software que sea lo que él verdaderamente necesita, aún cuando ni siquiera el mismo cliente sepa qué es lo que necesita en un principio.
Seguir un plan de acción es bueno, en el desarrollo de software tradicional es indispensable, pero como ya lo decía anteriormente, el cambio del mismo mercado puede decir “No necesito eso” después de un tiempo o bien “Lo que realmente necesito es esto”, así que responder de forma adecuada ante el cambio se considera mucho más valioso que seguir un plan intensivo.
En relación a este último tema, no significa que en el desarrollo ágil no se planifique, sino que la planificación debe contemplarse para periodos de tiempo más cortos: un mes, dos semanas, o un día y así conseguir mejores resultados en cuanto que si planificamos mal, entonces lo podemos corregir muy pronto y no planificamos mal para toda una gran entrega de proyecto final que podría ser tan importante como para llevar a una empresa a la quiebra.
Hay tanto que hablar sobre las metodologías ágiles que este será el rumbo que seguiré por algunos meses en este blog, así que para los que se han sumado a este barco o piensan hacerlo habiendo escogido una carrera tan demandante como lo es la Ingeniería en Sistemas Computacionales o cualquier otra carrera de índole administrativa o tecnológica, esperen más sobre esto aquí mismo.