La metodología Agile son un conjunto de principios y valores que agrupan marcos de trabajo que permiten ejecutar proyectos empleando enfoques adaptativos con ciclos iterativos e incrementales.
Agile nace en el dominio de proyectos de desarrollo de software aunque en la actualidad es empleada en muchas industrias y proyectos. Agile es una contribución a la Gestión de Proyectos en ambientes de incertidumbre disminuyendo los riesgos de un proyecto.
Además existen otros ámbitos en que se han establecido principios y metodologías de trabajo que han influido en la concepción y desarrollo de Agile. “Toyota’s Production System” es un marco de trabajo que determinó en la concepción de “Lean”. Lean establece un grupo de principios para optimizar la producción en muchas industrias. Varios de los principios de Lean inspiraron a Agile. De manera similar algunos de los principios de las metodologías que han permitido crear y desarrollar las Startup’s también han influido en Agile. Otras metodologías y marcos de trabajo también han sido determinantes en la concepción Agile como es el caso de Diseño de Patrones, Scrum, Extreme Programming, Lean Software development. Lo anterior se ve ilustrado en la figura 1.
Contenido
Manifiesto Ágil
El 12 de febrero de 2001 un grupo de 17 expertos en desarrollo de software elaboraron un documento que definió los valores y principios que cualquier marco de trabajo debe contemplar para ejecutar un proyecto empleando una metodología de gestión de proyectos Agile. El manifiesto marca la formalización de los marcos de trabajo ágiles, diferenciándose de los métodos tradicionales imperantes en la ejecución de proyectos de software en la época.
Antes de 2001 ya se habían creado marcos de trabajo que eran adaptativos y en ciclos iterativos e incrementales (ejemplo: Crystal, Adaptative Software Development, DSDM, FDD, SCRUM). De hecho, algunos de los autores del manifiesto eran a su vez autores de estos marcos de trabajo ya existentes. El manifiesto establece lineamientos que permanecen válidos hasta la fecha.
Los valores del manifiesto cambian el paradigma de la gestión de proyectos basadas en métodos tradicionales invirtiendo su sentido. Esto hace visible la ineficacia de los métodos tradicionales en proyectos de software y posteriormente en proyectos de otras industrias en los que no se conocen los requisitos o existe un contexto de alta incertidumbre.
Los principios establecen criterios que se deben emplear para ejecutar los proyectos de manera eficaz y con guías que establecen lineamientos a seguir durante el ciclo de vida del proyecto.
Valores de la Metodología Agile
1- Personas por encima de Procesos y Herramientas
Este es el valor con mayor impacto en la forma en que se ejecutarán los proyectos en con metodología Agile.
Hasta ese momento los métodos de desarrollo de proyectos se concebían como un grupo de procesos que se debían cumplir para tener éxito en el desarrollo de un proyecto. Las personas eran un engranaje más del proceso que debían seguir estrictamente las reglas definidas por los procesos. En cambio en agilidad las personas son las protagonistas en la ejecución del proyecto, se valora su diversidad, sus potenciales, su creatividad, su humanidad pues cuando las personas están altamente motivadas logran resultados más allá de lo habitual. Los marcos de trabajo ágiles implementan prácticas centradas en las personas para lograr los desafíos que presentan los proyectos.
2- Producto funcionando por encima de documentación extensiva
Este valor pone el foco en el producto funcionando que es lo realmente importante. En los métodos tradicionales los procesos exigen mucha documentación de los productos y entregables de cada proceso lo que, sin estar mal, descuida el foco de obtener primero un producto valioso que esté terminado. La documentación es necesaria e importante pero nunca lo es más que el producto terminado y funcionando. En Agile el foco siempre está en el producto
3- Colaboración con el cliente por encima de la negociación contractual
Es importante contar con un buen contrato que regule la relación entre un equipo ágil y su cliente. En Agile es más importante establecer una relación de confianza entre el equipo ágil y su cliente pues esto permite abordar las dificultades que en todo proyecto aparecen y que no se pueden colocar en un contrato. Una relación de confianza se cultiva en cada acción que se realiza. Permite abordar proyectos en donde los requerimientos son inciertos y esto otorga ventajas competitivas al cliente. La colaboración con el cliente ahorra mucho esfuerzo pues la energía se emplea en realizar acciones o construir productos que él valora. El relacionamiento desde el contrato puede producir pérdidas de energía y enfocarse en cuestiones contractuales y no en cosas de valor.
4- Respuesta ante el cambio por encima de seguir un plan
El cambio es lo único que siempre sucede en todo proyecto. Las planificaciones son necesarias para organizar el trabajo y estimar los recursos necesarios de un proyecto: Las planificaciones siempre se deben modificar debido a los cambios que ocurren durante la ejecución de un proyecto. La planificación es una herramienta que está al servicio del equipo de proyecto y sus circunstancias. En Agile las planificaciones detalladas abarcan una duración acotada. La respuesta rápida a los cambios reduce significativamente los riesgos en un proyecto.
Los 12 Principios de la metodología Agile
1- Satisfacer a los clientes a través de la entrega temprana y continua
La entrega temprana y continua aumenta la probabilidad de satisfacer las demandas de los clientes y contribuye a la generación de un retorno de la inversión más rápido. Siguiendo este principio se aumenta la respuesta a los cambios de manera oportuna. Los clientes estarán más satisfechos porque obtendrán valor con más frecuencia y más anticipadamente. El equipo recibe retroalimentación desde el principio del proyecto por lo que se puede corregir el plan tempranamente evitando costos mayores.
2- Bienvenidos los requisitos cambiantes incluso al final del proyecto
Las solicitudes de cambio son bienvenidas incluso en las últimas etapas de la ejecución del proyecto. Los equipos ágiles aprovechan el cambio para otorgar ventaja competitiva del cliente.
En los métodos tradicionales cualquier cambio en etapas tardías generalmente aumentan el alcance y el costo del proyecto. En Agile, los equipos aceptan la incertidumbre y reconocen que incluso un cambio tardío puede tener mucho valor para el cliente final.
3- Entrega valor con frecuencia
El objetivo principal de este principio de Agile es reducir el tamaño de los lotes de requerimientos que se construirán de manera de lograr entregas con mayor frecuencia.
La planificación de lotes pequeños de requisitos es más simple y logra que se aumente el trabajo dedicado a construcción con lo cual se aumenta la productividad del equipo.
4- Romper los silos dentro del proyecto
Agile trabaja con equipos multifuncionales para facilitar la comunicación entre los integrantes del equipo. El objetivo es crear una sincronización entre las personas que crean valor. La comunicación es más fluida y mejora el rendimiento del equipo de proyecto.
5- Construir proyectos en torno a individuos motivados
Los equipos altamente motivados logran realizar los proyectos en mucho menos tiempo, con mayor calidad y a menor costo que equipos con bajo compromiso.
Confiar en el equipo posibilita que sean capaces de tomar decisiones de manera más efectiva lo que aumenta su compromiso. Además los miembros del equipo aumentarán su sentimiento de pertenencia a la organización.
6- La forma más eficaz de comunicación es cara a cara
En Agile la conversación directa o en línea entre dos o más personas mejora los tiempos para lograr entendimiento compartido, reduce los malos entendidos, tiene buen desempeño en la resolución de conflictos.
7- Un producto terminado y funcionando es la principal medida de progreso
Este principio de Agile permite enfocar al equipo en el producto que le importa al cliente, el que debe estar terminado y funcionando. Todas las métricas de progreso deben medir el avance del producto y las otras métricas pueden ser importantes pero se supeditan a esta métrica principal.
8- Mantener un ritmo de trabajo sostenible
El ritmo de trabajo en la metodología Agile determina en gran medida la productividad del equipo de proyecto. El ritmo debe ser adecuado con las capacidades del equipo. Se debe lograr que el equipo maximice su productividad cuidando la salud de sus miembros. El ritmo se marca con eventos que ocurren con una frecuencia conocida lo que en el tiempo produce la adopción de hábitos de trabajo que aumenta la productividad del equipo de proyecto
9- La excelencia continua mejora la agilidad
Este principio de Agile inspira a los equipos de proyecto a crear no sólo productos que funcionen, sino que también productos de alta calidad. La construcción de calidad minimiza los errores y el retrabajo. Esto dará al equipo más capacidad para adaptarse a los cambios que se presenten.
10- La simplicidad es esencial
Este principio de Agile apunta a evitar realizar trabajo innecesario. Para lograrlo se requiere que los productos sean diseñados de manera simple. De esta forma se aprovecha mejor la capacidad disponible del equipo de proyecto. Se trata de evitar todo desperdicio de esfuerzo pues el cliente está pagando sólo por el trabajo productivo que le agregue valor.
11- Equipos autoorganizados generan más valor
En la metodología Agile los equipos que se autoorganizan son más eficientes en el uso de los recursos debido a que multiplican su poder de toma de decisiones pues todos pueden hacerlo. Los equipos que son dirigidos jerárquicamente pierden tiempo en esperar las decisiones que se toman en los niveles jerárquicos superiores.
12- La reflexión y ajuste regular de las formas de trabajo aumentan la eficacia
A intervalos regulares, el equipo Agile reflexiona sobre cómo ser más eficaz, luego sintoniza y ajusta su comportamiento en consecuencia. Esto permite al equipo mejorar en forma constante lo que se traduce en mejoras en la productividad, el ritmo de trabajo, los métodos y prácticas empleadas, la incorporación de tecnologías.
Enfoque adaptativo
En la metodología Agile los marcos de trabajo tienen el enfoque adaptativo y son muy usados en contextos de alta incertidumbre o cuando los requisitos no están debidamente detallados o son cambiantes en el tiempo y tienen una alta volatilidad. La gestión de proyectos Agile es flexible y le permite adaptarse rápido a los cambios y reducir los riesgos en un proyecto.
La adaptabilidad se refiere a qué es necesario que el equipo de un proyecto continuamente evalúe hipótesis a validar, y de acuerdo a la retroalimentación recibida de los usuarios o del mercado, se establezcan nuevas hipótesis y de esta manera avanzar en el descubrimiento del producto que el mercado necesita. Una forma de lograr la adaptabilidad es implementando ciclos de trabajo cortos en el tiempo de manera que en cada ciclo se puedan probar las hipótesis.
Métricas ágiles
Las métricas permiten conducir un proyecto ágil con menores riesgos, permiten tomar decisiones ante desviaciones o cuando el producto no está siendo bien acogido por el mercado.
Existen al menos tres tipos de métricas: las de negocio, las de producción y las de calidad. Se deben llevar en forma integral para sacar conclusiones de interés.
Se debe tener en cuenta que la elección de las métricas debe cumplir con que conduzcan a representar la realidad y no hay que llenarse de métricas que pueden ser engañosas en el sentido de que lleven a sacar conclusiones erróneas.
Principales marcos de trabajo en la metodología Agile
SCRUM qué es: ¿Cómo lograr la hiperproductividad?
Este es el marco de trabajo más conocido y utilizado por los equipos de proyectos. Scrum sintetiza lo mejor de las características esenciales de la metodología Agile. En Scrum los ciclos de trabajo, iteraciones o sprint, duran entre una y cuatro semanas y permiten obtener resultados de forma regular.
En este marco de trabajo existe un equipo integrado por el Product Owner, el Scrum Master y el Equipo de Desarrollo o Construcción. El Product Owner es experto en el negocio para el que se está desarrollando el proyecto y le corresponde establecer las prioridades en los requisitos deben ser abordados por el Equipo de Desarrollo. Toma decisiones sobre el producto y equilibra todas las prioridades.
El Scrum Master es un experto en la implementación del marco de trabajo y ayuda a los miembros del equipo a obtener los resultados de forma efectiva. Elimina impedimentos, da visibilidad del progreso, posibilita los diálogos del equipo en un ambiente constructivo y facilita las reuniones indicadas en la metodología Agile. El Equipo de Desarrollo o Construcción gestiona cómo lograr los objetivos establecidos y los requisitos priorizados por el Product Owner. Todo el equipo establece una cultura de mejora continua y entrega valor en cada iteración.
Kanban
Kanban en japonés significa algo así como tarjeta visible. Es un marco de trabajo visual. Se emplean tarjetas con el detalle de los requisitos a realizar que se colocan en un tablero que es visible por todo el equipo de proyecto. La idea es que estas tarjetas avancen a medida que van pasando por las etapas establecidas en el proceso de construcción de los requisitos. Es un marco de trabajo apropiado para el trabajo que requiere un rendimiento o flujo de trabajo constante. Los miembros del equipo utilizan representaciones visuales de sus tareas generalmente con la ayuda de notas adhesivas de colores que se colocan en un tablero. Existen muchas herramientas para utilizar tableros electrónicos que se emplean cuando los equipos no están co-ubicados. En la metodología Agile es frecuente encontrar que se emplea Scrum en conjunto con Kanban.
Extreme Programming (XP)
Extreme Programming (XP) es un método Agile de desarrollo de software que está destinado a mejorar la calidad con objetivo de satisfacer las necesidades en constante evolución del cliente. XP, incluye sprints cortos, iteraciones frecuentes y colaboración constante con los stakeholders.
Crystal Clear
Este enfoque Agile puede ser utilizado por equipos entre 5 y 9 miembros. El método se centra básicamente en las personas, no en los procesos. El método Crystal Clear tiene siete propiedades: las tres primeras son obligatorias y las otras opcionales.
- Entrega Frecuente
- Mejora de la reflexión
- Comunicación fluida
- Seguridad personal
- Enfoque
- Fácil acceso a usuarios expertos
- Entorno técnico con pruebas automatizadas, gestión de configuración e integración frecuente.
¿Qué es Lean Startup?
Lean Startup es una metodología con gran auge en el medio emprendedor que posibilita implementar negocios evitando desperdiciar tiempo y recursos. Una Startup es un experimento que permite, a un emprendedor, buscar un modelo de negocio rentable antes de crear una empresa.
Este método estructurado permite realizar la búsqueda de un negocio a través de seguir el ciclo Construir-Medir-Aprender. Se Construye un Producto Mínimo Viable, luego se expone a los clientes para que interactúen con él y se obtienen datos empíricamente de su experiencia de manera de poder aprender de estos resultados y poder efectuar adaptaciones si corresponde o bien continuar ampliando las funcionalidades de Producto Mínimo Viable.
¿Qué es pivotar en Lean Startup?
Un aspecto importante en el método tiene que ver con la noción de Pivotar, que ocurre cuando se valida que la hipótesis está equivocada y se hace necesario probar con una nueva. El método propone diez pivotes posibles para lograr mejorar la estrategia de crecimiento.