Los primeros en adoptar el desarrollo agile fueron equipos pequeños e independientes que trabajaban en proyectos pequeños, demostrando que el modelo ágil puede funcionar.
Las organizaciones más grandes están escalando de manera ágil más allá de los equipos o proyectos individuales, y buscan formas de aplicarlo a proyectos completos.
El viaje no está exento de desafíos. ¡Pero eso no significa que no se pueda hacer!
Los estilos tradicionales de gestión de proyectos, como la cascada (Waterfall), se construyen en fases. A continuación se muestra una ilustración de un proyecto de cascada estándar.
Este estilo de desarrollo de productos reúne todo en una única versión de alto riesgo. Una vez que un proyecto pasa una fase, es doloroso revisarlo porque los equipos siempre están avanzando hacia la siguiente etapa.
Los estilos tradicionales de gestión de proyectos a menudo crean “rutas críticas”, donde el proyecto no puede avanzar hasta que se resuelva un problema de bloqueo. Para colmo de males, el cliente final no puede interactuar con el producto hasta que esté completamente completo. Por lo tanto, los problemas importantes en el diseño y el código del producto no se descubren hasta el lanzamiento.
Comparemos eso con un estilo de gestión de proyectos Agile, que adopta un enfoque iterativo del desarrollo con intervalos de retroalimentación regulares. Estas iteraciones permiten que el equipo sea más productivo, pudiendo desviarse en otra área del proyecto mientras se resuelve un problema de bloqueo.
Además de eliminar las rutas críticas, las iteraciones le permiten interactuar con el producto durante el desarrollo.
Esto, a su vez, le brinda al equipo oportunidades constantes para construir, entregar, aprender y adaptarse. Los cambios del mercado no va a dejar sorprendidos los equipos que estarán preparados para adaptarse rápidamente a los nuevos requisitos.
Un beneficio aún mayor son los conjuntos de habilidades compartidos entre el equipo de software. Los conjuntos de habilidades del equipo añaden flexibilidad al trabajo en todas las partes del código base del equipo. De esta forma, no se pierde tiempo ni trabajo si cambia la dirección del proyecto.
Cuando un proyecto o desarrollo de producto pasa de la gestión de proyectos tradicional a la ágil, el equipo y las partes interesadas deben adoptar dos conceptos importantes:
Exploremos los mecanismos ágiles para organizar, ejecutar y estructurar el trabajo de forma iterativa.
Una hoja de ruta describe cómo se desarrolla un producto o una solución a lo largo del tiempo.
Los mapas de ruta se componen de iniciativas, que son grandes áreas de funcionalidad e incluyen líneas de tiempo que nos permiten saber cuando estará disponible una funcionalidad o característica. A medida que se desarrolla el se acepta que la hoja de ruta cambiará, a veces de manera sutil, a veces de manera general.
El objetivo es mantener la hoja de ruta centrada en las condiciones actuales del mercado y los objetivos a largo plazo.
Cada iniciativa de la hoja de ruta se divide en un conjunto de requisitos.
Los requisitos ágiles son descripciones muy breves de la funcionalidad requerida, en lugar de los documentos de 100 páginas asociados con los proyectos tradicionales.
Evolucionan con el tiempo y aprovechan la comprensión compartida del equipo sobre el cliente y el producto deseado.
Los requisitos ágiles se reducen mientras que todos los miembros del equipo desarrollan un entendimiento compartido a través de la conversación y la colaboración continuas. Solo cuando la implementación está a punto de comenzar, se completan con todos los detalles.
La pila de tareas o backlog establece las prioridades cuando trabajamos de manera ágil. El equipo incluye todos los elementos de trabajo en el backlog: nuevas funciones, errores, mejoras, tareas técnicas o refactorización, arquitectura, etc.
El propietario del producto prioriza el trabajo de la pila de tareas y luego, el equipo de desarrollo utiliza el trabajo pendiente priorizado como su única fuente de información sobre el trabajo que se debe realizar.
Los límites sobre el trabajo que puede estar en progreso (WIP) mantienen al equipo y al negocio enfocados en entregar el trabajo de mayor prioridad.
Distintos tipos de gráficas (Burndown, Burnout,…) ayudan al equipo a predecir su velocidad de entrega, y los diagramas de flujo continuo ayudan a identificar los cuellos de botella.
Estas métricas mantienen a todos enfocados en los grandes objetivos y aumentan la confianza en la capacidad del equipo para realizar trabajos futuros.
El desarrollo ágil no puede funcionar sin un alto nivel de confianza entre los miembros del equipo.
Requiere humildad, franqueza y confianza, ya que a menudo se tienen conversaciones difíciles sobre lo que es correcto para el producto. Debido a que las conversaciones ocurren a intervalos regulares, las ideas y preocupaciones se expresan muy a menudo. Eso significa que los miembros del equipo también deben confiar en la capacidad (y disposición) de los demás para ejecutar las decisiones tomadas durante esas conversaciones.
En resumen, el desarrollo ágil es un enfoque estructurado e iterativo para hacer software. Brinda la capacidad de responder al cambio sin salirse del camino principal. Y desde luego, esa es una buena noticia para cualquier proyecto o desarrollo de producto.
(Fuente: Atlassian Blog)
Si quiere mejorar tu flujo de trabajo, contactanos sin compromiso y te responderemos en menos de 24 horas.