La historia de Agile se remonta à la publicación de “El Manifiesto para el Desarrollo Ágil de Software”, que consta de 12 principios fundamentales en 2001. Sin duda, ciertas configuraciones del enfoque ágil habían aparecido antes, pero solo este documento sistematizó y estableció estos conceptos en una medida suficiente para su uso. Año tras año, nuevas empresas, especialistas en TI y gerentes de proyectos se adhieren al Manifiesto. Nuevos métodos y versiones del sistema de desarrollo ágil emergen.
¿Qué es la metodología ágil?
Agile es un modelo de desarrollo interactivo en el cual el software se crea de manera incremental desde el inicio de un proyecto, en contraste con los modelos en cascada donde el código se entrega al final del ciclo de trabajo.
La metodología ágil se basa en la descomposición de proyectos en pequeñas piezas operativas llamadas historias de usuario. Según las prioridades, las tareas se resuelven dentro de ciclos cortos de dos semanas (iteraciones).
Los 12 principios que constituyen la Metodología Ágil pueden resumirse en 4 ideas principales:
- Prioridad de las personas y la comunicación sobre herramientas y procesos;
- Prioridad de un producto funcional sobre abundante documentación;
- Prioridad de la colaboración con los clientes sobre la confirmación del contrato;
- Prioridad de estar listos para cambios sobre seguir el plan inicial.
Métodos inherentes en Agile:
Scrum
El término Scrum se tomó del rugby, donde esta palabra significa el método de juego en equipo en forma de tres líneas construidas por cada rival que intenta agarrar el balón. Para un reapoderamiento exitoso, no solo es esencial tener buena forma física, cada jugador en Scrum debe actuar en conjunto con los demás, con una comprensión clara del objetivo.
Este método es utilizado con éxito por empresas como Microsoft, Yahoo, Siemens Healthcare. Un gerente de proyectos de Amazon incluso describió un caso de introducción de Scrum basado en la experiencia adquirida.
Dado que Scrum es un marco para el desarrollo, cada ejemplo que sigue puede diferir del anterior.

Jeff Sutherland, el autor del libro “Scrum. El Arte de Hacer el Doble del Trabajo en la Mitad del Tiempo”, distinguió 8 pasos para utilizar la metodología:
- Seleccionar al propietario del producto que esté al tanto del objetivo del proyecto y el resultado esperado.
- Organizar un equipo — de hasta 10 personas con habilidades necesarias para crear un producto operativo.
- Nombrar al Scrum master que supervisará el flujo de trabajo del proyecto y asistirá al equipo del proyecto en la resolución de desafíos.
- Elaborar un backlog del producto — para cada requisito del producto, establecer prioridades en la pizarra ágil. En este proceso, el rol del propietario del producto es esencial, ya que recolecta las solicitudes del producto para que el equipo del backlog las evalúe.
- Programar sprints (iteraciones) — fragmentos de tiempo para completar cadenas definidas de tareas.
- Organizar reuniones diarias de quince minutos — preguntar a cada miembro del equipo 3 preguntas: qué hizo ayer, qué hará hoy, qué impide el cumplimiento de la tarea.
- Realizar revisiones de partes operativas del producto — involucrando a las partes interesadas en tales revisiones.
- Sostener retrospectivas — discusión de problemas con búsqueda de soluciones después de cada sprint. Implementar el plan de modificaciones resultante en el siguiente sprint.
Retrospectiva en Agile
Scrum tiene 4 elementos clave:
- Product Backlog — lista de requisitos para el proyecto
- Sprint Backlog — lista de requisitos a cumplir dentro del próximo sprint
- Sprint Goal — propósito del sprint
- Sprint Burndown Chart — el diagrama que se actualiza a medida que se completan las tareas. Facilita la comprensión de la dinámica y del nivel de avance del equipo en el proyecto.
Programación Extrema (XP)
Kent Beck, el desarrollador de esta metodología, creó un método de programación extrema orientado a abordar requisitos volátiles de productos de software y mejorar la calidad del desarrollo.
Es aplicable solo en el ámbito del desarrollo de software, y se basa en 4 procesos:
- codificación — según los estándares comunes de diseño del equipo;
- pruebas — las pruebas son creadas básicamente por los programadores antes de escribir un código que será probado;
- planificación — tanto para la construcción final como para iteraciones separadas. Estas suelen llevarse a cabo cada dos semanas en promedio.
- auditoría — de ambos desarrolladores y un cliente, para eliminar puntos poco claros y definir requisitos y valores.
Métodos Cristal
Esta familia de metodologías desarrollada por Alistair Cockburn, uno de los autores de “El Manifiesto para el Desarrollo Ágil de Software”, es poco conocida en algunos dominios locales de la gestión de proyectos. Cockburn propone hacer una clasificación por colores, basada en tal criterio como el número de personas en un equipo: de 2 (Crystal Clear) a 100 (Crystal Red). Los colores Marrón, Azul y Violeta se asignan a proyectos más grandes.
Los proyectos cristal deben cumplir con 3 características básicas:
- entrega rápida del código operativo — idea en evolución para el modelo iterativo en el desarrollo ágil.
- mejora a través de la reflexión — una nueva versión de software se mejora con base en la información de la anterior.
- interacción “osmótica” — innovación de Alistair, una metáfora para la comunicación e intercambio de información entre desarrolladores de software dentro de una misma sala.
Esta familia de metodologías se describe en detalle en el libro “Crystal Clear: A Human-Powered Methodology for Small Teams” de Alistair.
Método de Desarrollo de Software Dinámico (DSDM)
No solo una persona, ni siquiera un equipo, sino un consorcio de 17 empresas británicas trabajó en el desarrollo de DSDM. Al igual que la programación extrema, DSDM se utiliza predominantemente para crear software.
El consumidor final (usuario) juega un papel especial en el proceso de desarrollo. Este principio fundamental se complementa con los siguientes principios básicos:
- lanzamientos frecuentes de versiones operativas del producto
- autonomía de los desarrolladores en la toma de decisiones
- pruebas a lo largo del ciclo de trabajo.
DSDM se subdivide en versiones que se actualizan a medida que las tecnologías se desarrollan y surgen nuevos requisitos de desarrollo de software. Actualmente, la última es DSDM Atern, lanzada en 2007, aunque la anterior (de 2003) sigue en servicio.
Desde el principio, el equipo considera la viabilidad de desarrollar una aplicación y su ámbito de uso. Luego el trabajo se divide en tres ciclos interconectados:
- ciclo de modelo funcional — creación de documentos analíticos y prototipos.
- ciclo de diseño e ingeniería — poner un sistema en funcionamiento.
- ciclo de implementación — despliegue del sistema.
Desarrollo Basado en Características (FDD)
Esta metodología surgió incluso antes que “El Manifiesto para el Desarrollo Ágil de Software”.
Aunque FDD también emplea el modelo iterativo de desarrollo, se diferencia de Agile en las siguientes características:
- más atención à la modelación anticipada
- significativa (en comparación con Agile) importancia de la elaboración de informes y gráficos
- la metodología está diseñada para desarrollo corporativo.
Desarrollo Basado en Características consta de las siguientes fases cíclicas:
- Crear un modelo general — visión del proyecto basada en datos preliminares.
- Elaborar una lista de propiedades — similar al backlog del producto en la metodología Scrum.
- Planificación por propiedades — la complejidad de las propiedades es evaluada por cada miembro del equipo.
- Para cada propiedad — diseño técnico e implementación – la fase final tras la cual la propiedad se fusiona en el producto, y el ciclo se repite.
Desarrollo de Software Lean
El Desarrollo de Software Lean es un conjunto de principios de gestión lean (en lugar de una metodología) que están orientados a aumentar la eficiencia del proceso de desarrollo y a minimizar costos.
Este conjunto incluye los siguientes 7 fundamentos:
- eliminar pérdidas — todo lo que no agrega valor al producto para el consumidor final.
- capacitación continua — el desarrollo continuo de un equipo mejora las posibilidades de cumplimiento eficiente de tareas.
- tomar decisiones lo más tarde posible — se da prioridad a las soluciones deliberadas que están bien desarrolladas y basadas en el conocimiento adquirido, en lugar de las espontáneas.
- entrega rápida — esto es básicamente el principio clave del modelo iterativo.
- refuerzo del equipo — uno de los fundamentos de “El Manifiesto…” sostiene que las personas y sus interacciones son más importantes que los procesos y herramientas. Un equipo de proyecto es la mejor garantía para la finalización exitosa de tareas.
- integridad y calidad — es necesario hacer un producto originalmente de alta calidad para no perder tiempo y recursos en pruebas y eliminación de errores posteriores.
- visión de una imagen agregada — un proyecto no puede dividirse en partes separadas sin comprender el estado actual del desarrollo, así como los propósitos, concepto y estrategias del software desarrollado.
Versiones de metodologías de desarrollo ágil
Modelado Ágil (AM)
El Modelado Ágil es un conjunto de valores, fundamentos y prácticas para la modelación de software.
AM se utiliza como un elemento en metodologías de desarrollo de software completas — por ejemplo, en programación extrema o Desarrollo Rápido de Aplicaciones.
El Modelado Ágil tiene las siguientes características fundamentales:
- interacción efectiva entre las partes interesadas del proyecto;
- esfuerzo por desarrollar una solución que sea finalmente simple de todas las posibles, que cumpla con todos los requisitos;
- recepción continua de retroalimentación;
- coraje para tomar decisiones y hacerse responsable de ellas;
- realizarse con la convicción de que uno lo sabe absolutamente todo.
Proceso Unificado Ágil (AUP)
AUP es una versión simplificada de otra metodología de desarrollo de software — Proceso Unificado Racional (RUP). Desde 2012, fue sustituido por Disciplined Agile Delivery (DAD), pero AUP sigue presente aquí y allá.
Scott Ambler, el autor de la metodología, destacó los siguientes puntos clave en el Proceso Unificado Ágil:
- Tu equipo sabe lo que hace;
- La simplicidad primero.
- Conformidad con los fundamentos de la metodología de desarrollo ágil.
- Enfoque en actividades valiosas para el proyecto.
- Independencia en la selección de herramientas.
- Configuración personalizada de AUP para los requisitos de un proyecto específico.
Método de Datos Ágiles (ADM)
ADM es un conjunto de metodologías de desarrollo de software iterativas que enfatizan la formación de requisitos y soluciones en un proyecto a través de la colaboración de diferentes equipos. Al igual que AUP, esta metodología tampoco es autónoma.
El principio del Método de Datos Ágiles se define por seis fundamentos:
- Datos — la base para la creación de cualquier aplicación.
- Problemas en un proyecto — solo se pueden detectar si se comprenden claramente el objetivo y el concepto del proyecto.
- Grupos de trabajo — además del equipo básico de desarrolladores, hay grupos empresariales que apoyan a otros grupos de trabajo.
- Singularidad — no hay metodología perfecta, por lo que cada proyecto requiere herramientas de diferentes metodologías que se combinen.
- Trabajo en equipo — el trabajo conjunto es muchas veces más eficaz que la actividad individual.
- “Punto dulce” — búsqueda de una solución óptima a un problema (“punto dulce”) evitando extremos.
Proceso Unificado Esencial (EssUP)
Fue desarrollado por Ivar Jacobson, un científico sueco, para mejorar el Proceso Unificado Racional.
EssUP utiliza el concepto de práctica que incluye:
- escenario de uso — descripción del comportamiento de un sistema.
- desarrollo iterativo — creación de piezas operativas del código en ciclos cortos dentro de algunas semanas.
- prácticas de equipo — orientadas a unir el equipo y aumentar su eficiencia.
- prácticas procedimentales — por ejemplo, “Piensa global, comienza pequeño” o “Involucra a las partes interesadas en los procesos empresariales”.
En una forma u otra, todas las prácticas están presentes en las metodologías RUP y CMMI, así como en la metodología de desarrollo ágil.
Lo Real (GR)
Esta es una metodología efectiva para startups y equipos emergentes, que sugiere el uso máximo de características específicas inherentes a pequeños proyectos y empresas, como movilidad, flexibilidad, búsqueda de nuevas soluciones, ausencia de una jerarquía estricta y confusa, etc.
Jason Fried y David Hansson, fundadores de la empresa 37signals (actualmente Basecamp), determinaron Lo Real como un sistema para resolver tareas factibles, que es en última instancia simple, comprensivo y funcional.
GR es una mezcla de una docena de herramientas de desarrollo ágil que se utilizan para minimizar lo siguiente:
- alternativas
- opciones y configuraciones
- estructura de la empresa
- reuniones
- promesas.
Tal concepto extraordinario no ha alcanzado popularidad, aunque algunos de sus elementos se han fusionado en otras metodologías.
OpenUP (OUP)
Esta es una metodología de desarrollo de software independiente de herramientas y libre de estructura estricta, que proporciona tales prácticas:
- medición de la velocidad de operación del equipo;
- realización de reuniones diarias y retrospectivas al finalizar las iteraciones;
- concepto de micro-pasos y pruebas tempranas utilizando listas de verificación;
- metodología de Desarrollo Ágil Guiado por Modelos (AMDD).
Estas prácticas se realizan sobre la base de cuatro principios:
- reconciliación de intereses y logro de una visión común en el trabajo conjunto;
- mejora continua a través de retroalimentación continua;
- enfoque en la arquitectura de la aplicación en las etapas iniciales para minimizar riesgos;
- maximizar el valor para el consumidor final.

Indicadores Ágiles
Dada la diversidad de herramientas, prácticas, métodos y metodologías ágiles, necesitamos elegir un instrumento que nos ayude a determinar cuán efectivo es cada uno de ellos.
Se utilizan métricas como tal instrumento.
Para la mayoría de los proyectos, estas 4 categorías de métricas serán suficientes:
- Productividad — está relacionada con las métricas de Velocidad y WIP. La primera no se ajustará a todos los proyectos, ya que se mide el número de tareas realizadas por iteración, pero las iteraciones no son iguales. La métrica de Trabajo en Progreso define el límite de tareas en diferentes fases: y cuanto más alto es, peor le va;
- Pronóstico — la métrica de Capacidad, que consiste en determinar el número de horas perfectas disponibles en el siguiente sprint. En consecuencia, es posible entender la cantidad de tiempo disponible para trabajar, el grado de eficiencia en el cumplimiento de tareas, así como planear el número de tareas para un sprint;
- Calidad — por ejemplo, el índice de estabilidad de requisitos que se calcula mediante la fórmula = (Número total de requisitos comerciales originales + Número de requisitos alterados por el tiempo dado + Número de requisitos añadidos + Número de requisitos eliminados) / (número total de requisitos originales). Esta métrica se usa para determinar la cantidad de tiempo gastado en rehacer tareas;
- Valores — esta métrica se computa individualmente en cada caso, dependiendo del formato del proyecto. Por ejemplo, en la startup AirBnb, el número de fotos de alta calidad descargadas se eligió como una métrica que determina el valor final del producto para los usuarios. A medida que este número aumentaba, el número de usuarios crecía en proporción.
Las reglas aplicables a las métricas son las mismas que las de otras herramientas ágiles.
No hay una métrica única que sea universalmente correcta y relevante para tu proyecto.
Las métricas deben ser revisadas de manera continua, las obsoletas deben ser eliminadas y las nuevas deben ser añadidas según sea necesario. Debe ser comprensiva y estar disponible para todo el equipo sin convertirse en un objetivo en sí mismo. Las métricas por el simple hecho de tener métricas son una mala solución.

Desmitificando: Agile
La popularidad de la metodología de desarrollo flexible jugó una mala pasada, y los mitos sobre ciertos aspectos de Agile se pueden ver incluso en portales especializados. ¡Vamos a desglosarlos!
Mitología No.1: Agile servirá para todos los proyectos.
Este es el concepto erróneo más asertivo. Solo un método Agile por sí solo no agregará valor al producto, ni motivará al equipo.
Mitología No.2: Agile desfavorece la documentación.
La metodología de desarrollo ágil no desfavorece la documentación, niega la documentación como un objetivo en sí mismo. À la hora de seleccionar la documentación como medio de comunicación, Agile realmente favorece la comunicación personal.
Mitología No.3: Agile y la planificación son incompatibles.
Este mito se contradice con los eventos de planificación diaria con reuniones de pie de 10 minutos, así como la planificación de iteraciones que se lleva a cabo cada dos semanas, reuniones de sprint, etc.
Mitología No.4: Agile requiere mucho trabajo adicional.
La metodología de desarrollo de software ágil prevé el trabajo adicional en dos formas: re-trabajo de requisitos (los usuarios se dan cuenta de lo que realmente necesitan) y re-trabajo de software (los equipos de desarrolladores encuentran formas mejoradas de escribir y diseñar aplicaciones). ¡Pero este fenómeno también se encuentra en otras metodologías! Además, una novedad ágil como el modelo de iteración sirve para reducir la influencia negativa del re-trabajo.
Ventajas y desventajas de usar Agile
Ventajas:
- involucrar a las partes interesadas — el equipo se vuelve más capaz de comprender los requisitos del cliente. Además, la entrega temprana y frecuente de software aumenta la confianza de las partes interesadas en el equipo del proyecto y hace que su participación en el proyecto sea más profunda.
- entrega temprana y predecible — el modelo de desarrollo basado en iteraciones (en períodos cortos de 1 a 6 semanas) proporciona flexibilidad y promueve el lanzamiento del producto.
- enfoque en el valor comercial — la colaboración con el cliente asegura que el equipo entienda cómo hacer que el producto sea realmente valioso para el consumidor.
- mejora continua de calidad — la prueba durante cada iteración con la división de la construcción final en partes separadas del código operativo facilita la mejora y eliminación de errores de software antes de que se libere el producto final.
Desventajas:
- requisitos estrictos para el equipo y los clientes — sin una interacción cercana entre el equipo del proyecto y los usuarios, es imposible asegurar el lanzamiento de un producto de alta calidad con un alto valor. Además, las abundantes herramientas y métodos ágiles predeterminan que el equipo debe ser experimentado para su correcta introducción.
- no es adecuado para trabajos externos y para proyectos donde los participantes interactúan solo en modo en línea.
- el riesgo de que la versión final del software nunca se lance — sorprendentemente, esta desventaja surge de ventajas ágiles como el desarrollo iterativo y la mejora continua del producto.
- no tiene éxito sin una visión clara de los propósitos comerciales del proyecto — dado que un equipo ágil se guía por las partes interesadas, es imposible desarrollar un producto sin un objetivo y un concepto claramente definidos.
Aplicaciones
No todos los servicios o programas de gestión de proyectos servirán para la gestión de proyectos basada en Agile, porque cada uno de ellos tiene sus características específicas.
Si tu negocio es una agencia de marketing y publicidad, diseño, SEO o digital, puedes usar el servicio SaaS de Worksection para que todo el equipo opere en él. Hasta ahora, hemos sido recomendados por COXO Digital, Royal ® Advertising y Prozorro.
Aquí hay un par de trucos para configurar Agile en Worksection:
- configura las etiquetas y estados que son necesarios para trabajar en tu empresa. Los estados pueden ser: en progreso, revisión, completado, re-trabajo necesario, crítico, funciones, pago pendiente. Las etiquetas a menudo son: diseño, pruebas, producción, concepto, código.
- crea un backlog del proyecto y el primer sprint.
- crea tareas y listas de verificación preliminares, bocetos, etc. en el backlog.
- durante las reuniones, determina las tareas del sprint y transfiérelas del backlog al sprint.
- utiliza el acceso de invitados de los clientes a las tareas para que siempre tengas comentarios coordinados y relevantes sobre el proyecto.
- etiqueta a las personas responsables en las tareas para que cada colega sepa su área de responsabilidad y se sienta involucrado en el resultado del sprint.

Veredicto
Gracias à la metodología de desarrollo de software ágil, los pequeños equipos de proyecto obtienen la máxima eficiencia. Agile se realiza a través de otros métodos flexibles como Scrum, XP, Lean, etc.
No se puede implementar apresuradamente, por un equipo inexperto, en un corto período de tiempo,
pero cuando se introduce, Agile mejorará la interacción entre TI y los negocios, promoverá el lanzamiento de productos al mercado y añadirá valor al producto para el consumidor final.