Hablamos de los principios del trabajo según Agile y de para qué proyectos es adecuada esta metodología, y en cuáles es mejor utilizar otros métodos.
Agile (o «ágil») es una metodología de gestión de proyectos. Surgió en la esfera de la TI y, al principio, se usaba para el desarrollo de software. En la actualidad, Agile se utiliza también en otros sectores; por eso, además de los gestores de proyectos, otros directivos de empresas también deben entender la metodología.
En este artículo, hablamos sobre lo siguiente:
- Qué es Agile
- Cuáles son los principios de la gestión flexible de proyectos
- Cuáles son los tipos de metodologías Agile
- Cómo se gestiona un proyecto según Scrum
- A qué proyectos les convienen las metodologías flexibles y a cuáles no
- Cómo aprender más sobre la gestión de proyectos
Qué es Agile
El término Agile se utiliza en dos sentidos:
- Es una filosofía, un sistema de valores y principios en el que trabaja el equipo del proyecto.
- Es una familia de metodologías de gestión de proyectos creadas en base a la filosofía Agile.
En inglés, agile significa «flexible«. La flexibilidad es la base tanto de la filosofía como de las metodologías. Esto quiere decir que el equipo que trabaja según Agile se adapta rápidamente a los cambios en el trabajo y a nuevos datos iniciales. Por ejemplo, a nuevas exigencias del cliente, nuevas necesidades del público objetivo, cambios en las condiciones del mercado u otras circunstancias imprevistas.
Agile es lo contrario de la metodología Waterfall («Cascada»). Waterfall fue la metodología de gestión de proyectos dominante a finales del siglo XX.
La esencia de Waterfall es la siguiente. El equipo del proyecto elabora una especificación técnica detallada y la coordina con el cliente. Luego, se dedica al desarrollo estrictamente de acuerdo con el plan aprobado y entrega al cliente el producto terminado.
En el sistema Agile, todo es diferente. Se intenta desarrollar el producto lo más rápido posible, de modo que se pueda empezar a utilizarlo casi de inmediato. Las funciones del producto se cambian durante el desarrollo. Además, el equipo del proyecto está en contacto constante con el cliente.
Como sistema de valores, Agile se formó en 2001. Lo inventó un grupo de desarrolladores que se dieron cuenta de que las antiguas formas de gestión de proyectos no siempre funcionaban bien. Así nació el Agile Manifesto; hablaremos más detalladamente de él en la siguiente sección.
Agile Manifesto: Valores y Principios de Agile
El Agile Manifesto (Manifiesto ágil o Manifiesto para el desarrollo de software ágil) es el documento principal donde se describen los valores y los principios de Agile para la gestión flexible de proyectos. El texto completo del manifiesto en diferentes idiomas puede consultarse en el sitio web oficial. Nosotros solo enumeraremos los valores y los principios.
Cuatro valores de la gestión flexible de proyectos
- LAS PERSONAS Y LA INTERACCIÓN son más importantes que los procesos y las herramientas.
- EL PRODUCTO QUE FUNCIONA es más importante que la documentación exhaustiva.
- LA COLABORACIÓN CON EL CLIENTE es más importante que la aprobación de las condiciones del contrato.
- LA DISPOSICIÓN AL CAMBIO es más importante que seguir el plan original.
Es importante comprender que en el Agile Manifesto no se niega lo que está a la derecha, pero se valora más lo que está a la izquierda.
Además de los valores principales, en el Agile Manifesto se enumeran 12 principios de Agile:
- La prioridad del equipo del proyecto es satisfacer las necesidades del cliente mediante el suministro oportuno y regular de un producto de calidad.
- Los cambios en los requisitos del producto son bienvenidos incluso en las últimas etapas del desarrollo. Los procesos de Agile permiten brindar al producto ventajas competitivas.
- El producto funcional intermedio debe mostrarse al cliente con la mayor frecuencia posible: con una periodicidad de dos semanas a dos meses.
- Los gerentes y desarrolladores deben trabajar juntos diariamente durante todo el proyecto.
- En el proyecto deben trabajar especialistas motivados. Es necesario crear para ellos las condiciones necesarias y darles apoyo.
- La comunicación personal es la forma más práctica y efectiva de intercambiar información en equipo.
- Un producto que funciona es el indicador principal del progreso.
- Los procesos en Agile deben configurarse de manera que el proyecto se desarrolle de manera sostenible. Los clientes, desarrolladores y usuarios deben estar preparados para que los cambios se realicen de manera uniforme.
- La atención constante a la perfección técnica del producto y la calidad del diseño aumentan la flexibilidad del proyecto.
- No compliques demasiado el proyecto; los procesos innecesarios deben reducirse al mínimo.
- Los mejores productos nacen de equipos que saben organizarse de forma independiente.
- El equipo debe buscar constantemente formas de trabajar de manera más eficiente y corregir su estilo de trabajo.
Los valores y principios enumerados son una lista de verificación con la que se puede saber si el equipo del proyecto cumple con Agile o no.
Tipos Principales de Metodologías Agile: Scrum y Kanban
La familia Agile incluye varias metodologías (o marcos) para la gestión flexible de proyectos. Te contaremos sobre las metodologías Agile más populares: Scrum y Kanban.
Scrum
SCRUM. Esta metodología se utiliza con mayor frecuencia en el desarrollo de software. El proyecto se divide en iteraciones (sprints): intervalos de tiempo en los que el equipo desarrolla el producto por etapas.
Por lo general, un sprint dura de 2 a 4 semanas. Al final de cada sprint, el equipo entrega la parte terminada del producto, su versión «imperfecta» que ya se puede utilizar, o bien funciones adicionales para ella. Al mismo tiempo, al inicio del proyecto, no se tiene una idea de cómo lucirá el producto al final: los requisitos pueden cambiar durante el desarrollo.
Por ejemplo, a finales del primer sprint, se diseña la página de inicio del sitio web del banco. Durante el segundo sprint, se crea una página separada para cada servicio bancario: hipotecas, créditos de consumo, depósitos, seguros. Al final del tercer sprint, en el sitio web aparecen una calculadora de crédito y un agregador de noticias financieras. Así sucesivamente: según sea necesario, se añaden diferentes funciones al sitio web. Al mismo tiempo, su versión «sin pulir» funciona desde el final de la primera iteración.
A continuación, te contamos más sobre las etapas de gestión de proyectos según esta metodología.
Scrum es un marco en el que hay muchas funciones, términos y actividades específicas. Te contaremos sobre algunas de las principales: esto te ayudará a comprender mejor el concepto general de la metodología.
Equipo o desarrolladores: personas que crean el producto. En palabras sencillas: los desarrolladores. La composición del equipo se forma por separado para cada proyecto.
Scrum máster: gerente que guía al equipo y resuelve los problemas que retrasan el proceso de trabajo. Su tarea es organizar el trabajo de manera que cada miembro del equipo comprenda las necesidades del cliente y pueda ofrecer sus ideas. Además, el scrum máster organiza la comunicación entre el cliente y el equipo en eventos conjuntos. Puedes leer más sobre las particularidades de la profesión en este artículo.
Dueño del producto o product owner: la persona responsable del valor del producto y del backlog. Por lo general, es un representante del cliente. Le transmite al equipo los nuevos requisitos del producto y se asegura de que el equipo trabaje en la dirección correcta.
Backlog: una lista de tareas del proyecto, organizadas por prioridad.
Scrum meeting (diario o standup): reunión diaria del equipo de aproximadamente 15 minutos. Durante este tiempo, cada miembro del equipo responde tres preguntas:
- Qué hizo desde la última reunión
- Qué planea hacer hoy
- Qué le impide hacerlo
Como resultado de la reunión, queda claro si todo va según lo planeado, qué se debe hacer para superar los obstáculos.
Esta no es toda la terminología de la metodología Scrum. Puedes aprender más sobre este marco en la «Guía de Scrum«, escrita por los fundadores del método, Jeff Sutherland y Ken Schwaber.
Kanban
KANBAN. Esta metodología se desarrolló en Japón y, originalmente, se utilizaba en la producción de automóviles. La palabra «kanban» significa «letrero» en japonés.
Las tareas del proyecto se colocan en forma de tarjetas en una pizarra, dividida en columnas. Estas columnas reflejan las etapas de ejecución del proyecto. El miembro del equipo toma una tarea, mueve la tarjeta por la pizarra, de una columna a otra, y todo el equipo ve el estado actual de esta tarea.
La idea es que el trabajo en el proyecto se desarrolle según el principio de una cadena de montaje. Es decir, para que los desarrolladores no piensen en la planificación de las tareas y su priorización, sino que se acerquen a la pizarra, tomen una tarea y vayan a ejecutarla.
Por lo general, en los tableros Kanban hay, por lo menos, tres columnas: «Ejecutar
«, «En proceso
» y «Hecho
«. Con mayor frecuencia, se les añaden columnas para etapas intermedias: «Backlog
«, «En coordinación
«, «Prueba
«, etc.
Tradicionalmente, los tableros Kanban eran pizarras físicas, por ejemplo, magnéticas o de corcho, en las que se colocaban tarjetas de papel. Posteriormente, aparecieron los tableros en línea. Los más populares de ellos son Trello, Jira y Asana.
A diferencia de otros métodos de gestión de proyectos, el equipo Kanban trabaja sin plazos estrictos, aunque en los tableros en línea se puede asignar un plazo de ejecución a las tareas.
En cambio, el trabajo en el proyecto se organiza como un flujo continuo de tareas. Cuando un miembro del equipo termina una tarea, pasa a otra, luego a la siguiente, y así sucesivamente.
En la mayoría de las ramas, por ejemplo, en marketing, SMM, publicación, cuando se dice que se trabaja según Agile, se refiere a Scrum o Kanban.
En la esfera de la TI, además de estas metodologías Agile, se utilizan otras. Por ejemplo, XP (programación extrema), Lean (Lean Software Development), método de desarrollo de sistemas dinámicos (Dynamic Systems Development Method). Cada metodología tiene sus prácticas e instrumentos; la elección depende de las necesidades del proyecto.
Etapas de la Gestión de Proyectos según Scrum
Como mencionamos anteriormente, en Scrum el trabajo se divide en sprints. Cada sprint es un período corto durante el cual el equipo trabaja en varias tareas: las analiza, las ejecuta, las prueba, las discute con el cliente y las perfecciona si es necesario. Veamos cómo sucede esto, paso a paso.
- Planificación. En esta etapa, se determina el concepto principal del proyecto, se debaten los requisitos del cliente y se elabora una lista de tareas. Esta lista también se denomina backlog. Luego, las tareas se priorizan: las más importantes y urgentes se colocan en la parte superior del backlog.
- Análisis. El equipo selecciona tareas para una iteración de la parte superior del backlog. Luego, determina qué recursos se necesitarán para ejecutar estas tareas y los distribuye entre sus miembros.
En esta misma etapa, se establecen los criterios para la finalización exitosa de cada tarea: según qué parámetros se entenderá que la tarea se ha realizado correctamente. Gracias a este enfoque, todo el equipo tiene las mismas expectativas con respecto a los resultados de la iteración.
- Ejecución. Los miembros del equipo trabajan en sus tareas. Todos los días se reúnen para debatir el progreso actual: qué están haciendo en ese momento, qué problemas están teniendo, qué planean hacer a continuación. Esto es importante para que el trabajo en el proyecto sea transparente y todos los miembros del equipo estén al tanto de la situación.
- Prueba. En esta etapa, se verifican las funcionalidades del proyecto, por ejemplo, si se ejecuta el programa, si realiza sus funciones correctamente, etc. La etapa de prueba se lleva a cabo en paralelo con la etapa de ejecución. Esto es necesario para responder rápidamente a los problemas detectados y realizar cambios a tiempo.
- Lanzamiento. Al final del sprint, el equipo muestra al cliente los resultados de su trabajo, por ejemplo, el programa terminado o parte de sus funciones. El cliente proporciona información y explica qué le satisface y qué no. Si hay comentarios, el equipo debate cómo perfeccionará el proyecto y regresa a las etapas anteriores.
Si no hay comentarios, el equipo pasa a la siguiente iteración. Este ciclo se repite hasta que se completa todo el proyecto, por ejemplo, hasta la etapa en que el programa se entrega al cliente completamente terminado.
Por lo tanto, la metodología Scrum permite que el equipo responda rápidamente a los cambios, interactúe constantemente con el cliente, tenga en cuenta nuevos requisitos y cree un producto actualizado.
Dónde se utiliza Agile: para qué proyectos son adecuadas las Metodologías Agile y para cuáles no
Las metodologías Agile son adecuadas para proyectos con un alto grado de incertidumbre. Al trabajar en dicho proyecto, no está claro cuál será el producto final, no se ve el objetivo final del proyecto. O, por el contrario, existe un objetivo, pero no se ve el camino que se debe seguir para alcanzar este objetivo; no está claro cómo desarrollar el producto.
Estos son ejemplos de proyectos en los que las metodologías flexibles funcionan bien:
- Desarrollo de software y sitios web.
- Creación de nuevos productos.
- Campañas de marketing y publicidad.
- Proyectos creativos, por ejemplo, negocios editoriales.
Por el contrario, las metodologías Agile son «perjudiciales» en proyectos típicos, donde todos los procesos son comprensibles y predecibles. Por ejemplo, en la construcción de edificios y estructuras o en otros proyectos de ingeniería complejos, cuando hay un objetivo medible que alcanzar y el camino para lograrlo es claro.
Por lo tanto, si al inicio del proyecto puedes describir claramente su resultado y elaborar un plan de trabajo necesario, las metodologías Agile no serán adecuadas. En estos casos, es mejor utilizar Waterfall.
Lo Más Importante sobre Agile en 4 puntos
- Agile es una filosofía de gestión flexible de proyectos y una familia de metodologías basadas en ella.
- La metodología Agile supone que el equipo del proyecto se adapta rápidamente a los cambios en el trabajo y a nuevos datos iniciales. Por ejemplo, a nuevos requisitos del cliente o cambios en el mercado.
- La familia Agile incluye varias metodologías de gestión flexible de proyectos. En España, las más utilizadas son Kanban y Scrum.
- Las metodologías Agile son las más adecuadas para proyectos que requieren una respuesta rápida a los cambios y el perfeccionamiento del producto durante su creación. En los casos en que es importante resolver las tareas del proyecto de forma coherente y estrictamente de acuerdo con el plan inicial, Agile no es adecuado.
Implementar Agile no es tarea fácil. Quizás necesites profundizar en el tema, basándote en los materiales de los pioneros en esta área, o tomar cursos adicionales, ya que en las primeras etapas de la transición, los empleados necesitarán un gerente que sepa en qué debe convertirse el equipo y cómo lograrlo con las mínimas pérdidas.