Las metodologías ágiles son técnicas que han sido diseñadas con el objetivo de gestionar y desarrollar proyectos de software, debido a su adaptabilidad a un amplio rango de proyectos industriales, donde se permite a los equipos desarrollar rápidamente respuestas a cambios que surgen a lo largo de la vida del proyecto.

A través de las metodologías ágiles se pretende mejorar la productividad del conjunto de equipos que forman parte del proyecto y de la misma manera optimizar la calidad final.

Según el manifiesto ágil, la capacidad de respuesta a un cambio es más importante que el seguimiento estricto de un plan. lo que para muchos clientes significa una ventaja competitiva y al estar preparados para un cambio significaría una reducción en el costo del proyecto.

Por lo anterior se podría inferir que mediante la implementación de metodologías ágiles que brinden flexibilidad a un proyecto en el que se tiene cierto grado de incertidumbre, se podría generar una disminución de los costos.

Una definición similar plantea el docente investigador Armando A. Cabrera en su trabajo “Metodologías tradicionales Vs. Metodologías ágiles”, quien afirma que las metodologías ágiles deberían aplicarse a aquellos proyectos donde exista alto grado de incertidumbre, donde el entorno sea volátil y donde los requisitos no se conozcan con exactitud.

Por ello se ha evidenciado el auge de las metodologías ágiles en la actualidad, donde muchas compañías están realizando su implementación a fin de migrar de los conceptos y paradigmas de las metodologías tradicionales o formales, las cuales se focalizan en documentación robusta, planificación y procesos, mientras que las metodologías ágiles siempre están buscando planificaciones más ajustadas a la realidad, evitando retrasos, involucrando significativamente al cliente, generando comunicación constante entre los equipos, satisfaciendo al cliente a través de resultados esperados, en fin, estas metodologías le apuntan a optimizar tiempo y costo de un proyecto, y por supuesto a disminuir las probabilidades de fracaso del proyecto.

Teniendo como base las definiciones y los planteamientos expuestos, se considera pertinente realizar una analogía entre las principales diferencias, ventajas y desventajas de las metodologías ágiles y las metodologías tradicionales.

Tabla 1: Analogía entre metodologías Agiles y Metodologías Tradicionales

 METODOLOGÍAS ÁGILESMETODOLOGÍAS TRADICIONALES
PLANIFICACIÓN* Planificación adaptativa
* Afronta cambios durante la ejecución del proyecto sin problema alguno.
* Planificación predictiva
* Genera resistencia a los cambios durante la ejecución del proyecto.
CONTROL* Proceso basado en pocos principios.* Proceso altamente controlado mediante políticas y normas.
CLIENTE* Forma parte del equipo que desarrolla el proyecto.* Únicamente interactúa con el equipo en reuniones de poca frecuencia.
GRUPOS/ ROLES* Grupos pequeños.
* Pocos roles.
* Trabajo en conjunto.
* Grupos grandes.
* Frecuentemente distribuidos.
* Dispersión de esfuerzos.
CONTRATO* Contrato con alta flexibilidad.* Contrato prefijado y poco flexible.
CODIFICACIÓN* Transferencia de conocimiento.
* Conocimiento colectivo.
*Desarrollo individual.
* Responsabilidades estrictas.
DISEÑO* Diseño simple.
* Documentación mínima.
* Enfoque en la comunicación.
* Documentación robusta y exhaustiva.
* Se expresa mediante modelos.
PRODUCCIÓN* Requiere liderazgo y colaboración.
* Requiere empoderar al equipo.
* Fortalecer la auto organización.
* Requiere actividades de control.
* Orienta hacia los hitos del proyecto.

De igual forma, en la Tabla 2, se realiza una comparación entre las metodologías ágiles utilizadas con más frecuencia en la actualidad, en donde se establece la analogía de los parámetros de mayor relevancia de cada una de ellas.

Tabla 2: Comparación entre Scrum, Kanban y XP

MARCOS Y METODOLOGÍAS ÁGILES
 SCRUMXTREAMING PROGRAMMING (XP)KANBAN
PROPÓSITO* Gestión de proyectos
* Productividad
* Administración del proyecto.
* Trabajo técnico
* Ingeniería.
* Programación o creación del producto.
* Flujo del trabajo
* División de tareas
APLICABILIDAD* Mejor para equipos con prioridades estables que pueden no cambiar tanto con el tiempo.* Proyectos con cambios de requisitos repentinos.* Hacer con mucho recurso humano pocas tareas.
* Mejor para proyectos con prioridades muy diversas.
DESARROLLO* Iteraciones o Sprints
* Reunión diaria del equipo.
* Iteraciones cortas
* Reunión diaria del equipo.
* No se realizan Sprints o Iteraciones
CONCEPTO* Iteración corta (Sprint)* Iteración corta.* División y revisión periódica de tareas.
ROLES Y RESPONSABILIDADES* Cada miembro del equipo tiene un rol predefinido.
* El product owner define las metas y los objetivos.
* Los equipos trabajan en los elementos en un orden estricto.
* El product owner está siempre disponible para los desarrolladores.
* Evita roles y equipos.
* No tiene estructura formal de reuniones.
ENTREGABLES* Los entregables están determinados por los sprints en donde se busca mejorar los rendimientos y la velocidad del equipo* Los entregables están determinados por los sprints en donde se busca la simplicidad y la comunicación para la satisfacción del cliente.* Los productos y procesos se entregan de forma continua dependiendo de su necesidad.
MODIFICACIONES / CAMBIOS* Los cambios durante el sprint están fuertemente desaconsejados.* Aceptan cambios con facilidad en sus iteraciones.* Permite que se realicen cambios en un proyecto en marcha, lo que permite iteraciones y mejoras continuas antes de la finalización de un proyecto.
MEDICIÓN DE LA PRODUCTIVIDAD* Mide la producción utilizando la velocidad a través de los sprints.
* Cada sprint adicional se basa en el éxito del anterior.
* Mejora la calidad.
* Reduce la revisión del trabajo que puede causar la deuda técnica.
* Mide la producción utilizando la cantidad de tiempo que se tarda en completar una parte completa de un proyecto de principio a fin.
VENTAJAS* Lecciones aprendidas.
* Identificación temprana de riesgos.
* Actividades cortas.
* Resultados rápidos.
* Adaptabilidad a cambios.
* Pequeñas mejoras de forma continua.
* Pruebas continuas y automatizadas.
* Promueve programación en parejas.
* Interacción con el cliente.
* Permite definir en cada iteración los objetivos de la siguiente.
* Permite retroalimentación de los usuarios.
* Evita cuellos de botella.
* Mitiga los reprocesos.
* Concentración de esfuerzos.
DESVENTAJAS* Limita la cantidad de trabajo que se realiza en cada sprint.* Delimita el alcance del proyecto con el cliente.* No establece roles ni equipos.
* No tiene estructura formal de reuniones.
CASO DE ÉXITOSPOTIFYCHRYSLERTOYOTA

Fuente: Elaboración a partir de (Beck K. , 1999), (Quonext, 2018).

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí