
Conoce MADEX la metodología de desarrollo ágil para América Latina
abril 18, 2018Conoce MADEX la metodología de desarrollo ágil para América Latina
Las metodologías ágiles son métodos de desarrollo de software en los que las necesidades y soluciones evolucionan a través de una colaboración estrecha entre equipos multidisciplinarios. El mundo del desarrollo de software, ha evolucionado desde un modelo en el que se planificaban y estructuraban minuciosamente todas las fases del proyecto a un modelo en el que el desarrollo debe ser lo más rápido y eficiente posible, ya que las organizaciones son cambiantes.
Mi experiencia en el área de desarrollo de software desde hace 12 años en una institución pública y colaborando en proyectos en el sector privado, me han convencido que las metodologías ágiles ofrecen un gran numero de ventajas con respecto a las metodologías clásicas. He visto proyectos completos fracasar por no cumplir con las necesidades de clientes, no adaptarse a los cambios organizacionales o problemas de comunicación entre los equipos de trabajo por aplicar metodologías excesivamente rígidas o “pesadas”. Aún cuando las cifras de fracasos en el desarrollo de software a nivel mundial ascienden al 70% , siempre es necesario reflexionar y buscar nuevas formas de trabajo que aporten mejores resultados y considero que las metodologías ágiles están aportando métodos y técnicas novedosas con resultados muy positivos.
Valores expresados en el Manifiesto Ágil
En el Manifiesto Ágil se expresa claramente los valores del desarrollo de software:
- 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.
Aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.
Las metodologías ágiles definen 12 principios para su funcionamiento.
- Satisfacer al cliente con entregas tempranas y continuas de software valioso.
- Los requisitos cambiantes son bienvenidos, incluso en fases tardías del desarrollo.
- Entregar con frecuencia software funcionando, -de dos semanas a dos meses,- cuanto antes se haga mejor.
- El cliente y los desarrolladores deben trabajar juntos a diario a lo largo del proyecto.
- Individuos motivados. Darles el ambiente y el soporte que necesitan, y confiar en ellos para obtener el trabajo realizado.
- El método más eficiente y efectivo de transmitir información hacia y dentro del equipo es la conversación cara a cara.
- El software en funcionamiento es la medida principal de progreso.
- El desarrollo debe ser sostenible. Los participantes deben ser capaces de mantener un paso constante de manera indefinida.
- Atención continua a la excelencia técnica y a un buen diseño.
- La simplicidad es esencial, maximizando el avance del trabajo no realizado.
- Las mejores arquitecturas, los mejores requisitos y los mejores diseños emergen de equipos auto-organizados.
- A intervalos regulares el equipo refleja la forma en que se puede volver más efectivo, entonces su comportamiento se ajusta y adecua en concordancia.
Metodología Ágil de Desarrollo eXtremo (MADEX)
En la búsqueda de información sobre metodologías ágiles, he encontrado una metodología propuesta por un desarrollador de software venezolano, Ernesto Jimenes, miembro del Colectivo CaribesTIC , quien ha compilado metódicamente las metodologías ágiles más populares como Scrum, Extreme Programming (XP), Lean, entre otras. MADEX es un libro digital de lectura obligatoria para quienes desean tener una visión amplia de las metodologías ágiles y su evolución a través del tiempo.
El libro está dirigido a analistas – diseñadores, arquitectos de software, programadores, administradores de proyectos – de bases de datos – de servidores, directores de informática, principales usuarios de software, es decir a todos los equipos de trabajo involucrados en el desarrollo de software.
Tal como indica su autor MADEX no representa una nueva metodología, es una adaptación del concepto del ágilismo hacia las distintas empresas del sector público, bien sean organismos y demás instituciones del estado. Entras las metodologías que analiza en su libro destacan:
XP se centra en las prácticas de programación.
SCRUM se enfoca en las técnicas de gestión de proyectos.
KANBAN se orienta en tablas de visualización para mejorar la ejecución de tareas.
LEAN considera que todo lo que no añade valor al proceso califica como desperdicio.
- KAIZEN significa que siempre es posible hacer mejor las cosas.
Este libro te guía en el proceso de ir conociendo la familia de modelos y técnicas que existen en las metodologías ágiles, todas ellas compartiendo la característica de interpretar el desarrollo de software como una actividad en la que siempre hay un cierto grado de incertidumbre. Incertidumbre que hace necesario poner el énfasis en las personas, dejar que se auto-organicen y que interactúan buscando siempre satisfacer los requisitos del cliente, y planificando iteración a iteración, adaptándose con flexibilidad a los cambios que se producirán de seguro durante la vida del proyecto.
Ademas de profundizar en los temas técnicos propios de las metodologías ágiles incorpora lecturas y ejemplos de contenido socio políticos de América Latina, que nos hacen reflexionar sobre el papel que jugamos en la comunidad global de desarrolladores de software.