Cuando se resuelve un problema, hay que considerar el contexto, los elementos implicados y diferentes formas de resolverlos, de tal modo que se aprovechen las herramientas disponibles de la mejor manera para poder alcanzar el objetivo, la solución con la menor disrupción posible. Es decir, si es una situación del día a día, se busca hacerlo lo más rápido posible y usando los recursos de forma eficiente, mientras que, si es un problema más complejo, se tiende a planear para utilizar las herramientas más adecuadas según el tipo de problema.
De la misma forma, existen diferentes marcos de referencia ágiles que pueden ser utilizados en diferentes situaciones, dependiendo de lo que se quiera resolver, los cuales están diseñados para planear, gestionar y ejecutar el trabajo a desarrollar, no existiendo uno "mejor" que otro, ya que el mejor para la organización dependerá del tipo de industria, la madurez de la empresa, los equipos ágiles, los objetivos y la forma en la cual se implementa la agilidad organizacional. Por ello, en la siguiente experiencia de aprendizaje, revisarás diferentes marcos de referencia ágil, los cuales no son los únicos que existen, pero sí de los más utilizados.
XP
Extreme Programming (XP) es un marco de referencia agile que surge y es muy utilizado en desarrollo de software, el cual permite liberaciones frecuentes en sprints de desarrollos cortos que motivan al cambio cuando se requiere. Los valores esenciales de XP incluyen, de acuerdo con Berman (s.f.):
Este marco de referencia aplica cuando:
El ciclo de XP incluye los elementos mostrados en la figura 1.
Figura 1. Marco de referencia XP.
Fuente: SlideTeam. (2022). Agile methods it projects extreme programming XP in agile framework. Recuperado de https://www.slideteam.net/agile-methods-it-projects-extreme-programming-xp-in-agile-framework.html
Digité. (2022a). ¿Qué es la programación extrema (XP) y sus valores, principios y prácticas? Recuperado de https://www.digite.com/es/agile/programacion-extrema-xp/
El desarrollo de la figura 1 muestra un ciclo, a través del cual se desarrollan unidades de prueba, cada etapa ivvncluye:
Scrum
Es de los marcos de referencia más conocidos que existen para equipos ágiles, el cual puede ser utilizado para resolver problemas adaptativos complejos, mientras se producen y entregan productos del más alto valor de forma creativa (Berman, s.f.). La palabra Scrum no tiene traducción, pero hace alusión a una formación de jugadores utilizada en rugby para reiniciar el juego, en la cual el equipo se mueve hacia adelante con los brazos entrelazados y la cabeza abajo, empujando hacia adelante a un grupo similar del equipo opuesto con el objetivo de tomar posesión del balón, el cual es arrojado al Scrum. Los valores de Scrum están basados en el manifiesto agile y son (Peek, 2022):
Scrum puede ser utilizado en casos donde se requiere (Thompson, s.f.):
Figura 2. Marco de referencia Scrum.
Fuente: Scrum Alliance. (s.f.). Quick Guide to Scrum. Recuperado de https://www.scrumalliance.org/about-scrum
De manera general, los ciclos Scrum de la figura 2 se llevan a cabo a través de los eventos siguientes (Kneafsey, s.f.):
Kanban
Kanban es un marco de referencia ágil que surge a partir de la mejora continua, el cual es flexible en la gestión de tareas y flujo de trabajo, de tal forma que el progreso del proyecto completo sea entendido fácilmente de un vistazo. Kanban significa tarjeta, y todo gira en torno al tablero Kanban, el cual permite visualizar el proyecto completo para monitorear el flujo de este (Kissflow Inc., s.f.).
Kanban tiene su base sobre un sistema de tipo pull (jalar), el cual controla el flujo de trabajo reemplazando lo que ya se completó, enfocándose en dividir el trabajo en pequeñas tareas, visualizarlos y obtener los elementos más pequeños en un estado de trabajo dado. Kanban es muy simple y puede ser utilizado en cualquier trabajo que requiera conocimiento, aplicándose a situaciones donde el trabajo llega de forma impredecible pero que se tiene que desplegar tan pronto como esté terminado.
El tablero de Kanban utiliza las columnas que aparecen en la figura 3, en la cual se indica (Kissflow Inc., s.f.):
Figura 3. Tablero Kanban.
Fuente: Kissflow Inc. (s.f.). Kanban Methodology: The Simplest Agile Framework. Recuperado de https://kissflow.com/project/agile/kanban-methodology/
Ojukwu, G., (2020). The Kanban Methodology and why you need it for your Software Team. Recuperado de https://community.atlassian.com/t5/Jira-Software-articles/The-Kanban-Methodology-and-why-you-need-it-for-your-Software/ba-p/1553608
Los componentes básicos de Kanban son los siguientes (Ojukwu, 2020):
AUP/RUP
El Proceso Unificado Ágil (AUP) es una versión del RUP simplificada, basada en técnicas ágiles como Desarrollos Basados en Pruebas (TDD), Desarrollo Dirigido por Modelos (MDD) y gestión del software; mientras que, el Proceso Unificado de Rational (RUP) es un marco de referencia que usa prácticas de gestión de proyectos con iteraciones graduales, siguiendo ciclos de cuatro fases, guiándose por casos de uso, centrado en la arquitectura, incremental, paralelo, basado en riesgos, orientado a objetos, y que comienzan con funcionalidades generales para terminar con las específicas (Alhir, s.f.; Ferretti, 2021).
AUP surge de los elementos de agilidad como el valor, la cultura, estrategia y la ejecución, así como también se basa en principios como los que se mencionan a continuación (Alhir, s.f.):
Figura 4. Iteraciones/fases de AUP.
Fuente: Ferretti, A. (2021). A guide to Agile project management types. Recuperado de https://www.ariadgroup.com/es/blog/todo-sobre-scrum-agile-metodologia/tipos-gestion-proyectos-agile
AUP está compuesto con siete disciplinas: modelo, implementación, prueba, despliegue, gestión de la configuración, gestión de proyectos y ambiente, las cuales interactúan con las cuatro iteraciones de los procesos AUP que aparecen en la figura 4 y son adaptables, pero en general se enfocan en (Alhir, s.f.):
Las disciplinas que se emplean de forma iterativa para definir las actividades que debe ejecutar el equipo de desarrollo para construir, validar y entregar software funcionando que satisfaga las necesidades de los interesados son (Alhir, s.f.):
En lugar de utilizar un enfoque de grandes desarrollos, a través de este enfoque se busca la liberación de pequeñas porciones en producción, de tal forma que poco a poco se vaya obteniendo la solución completa.
Lead FDD, DSDM
El Desarrollo Basado en Funcionalidades (FDD) fue introducido como práctica de desarrollo de software, basado en mejores prácticas de ingeniería como modelación de objeto dominio, desarrollo por características y código propietario. Se divide en cinco etapas iterativas, las cuales aparecen en la figura 5 (DELOS SANTOS, 2022).
Figura 5. Etapas iterativas de FDD.
Fuente: Ferretti, A. (2021). A guide to Agile project management types. Recuperado de https://www.ariadgroup.com/es/blog/todo-sobre-scrum-agile-metodologia/tipos-gestion-proyectos-agile
Cada una de las etapas consisten en (Digité, 2022b):
El Método de Desarrollo de Sistemas Dinámicos (DSDM) es un marco de referencia que reúne las mejores prácticas bajo ocho principios que ayudan a dirigir al equipo y crear una mentalidad para la entrega a tiempo y dentro del presupuesto (DELOS SANTOS, 2022). Es un enfoque genérico de gestión de proyectos ágiles, con la diferencia de que hereda el rol de director de proyectos y lo considera compatible con otros enfoques de proyectos, tal como Prince2 y el PMI (agility.im, s.f.).
Como principios base, tiene los siguientes (Agility.im, s.f.; DELOS SANTOS, 2022):
El DSDM es un enfoque basado en procesos, el cual busca enfocarse desde el inicio en el negocio, utilizando un enfoque exploratorio para poder cumplir con los requerimientos del negocio y generar el valor esperado.
Figura 6. Etapas iterativas de FDD.
Fuente: agility.im. (s.f.). What is DSDM Atern? Recuperado de https://agility.im/frequent-agile-question/what-is-dsdm-atern/
Las etapas del proceso de la figura 6 son (agility.im, s.f.):
SCRUM+XP+Kanban
Marco de referencia ágil que combina las prácticas de Scrum, XP y Kanban, para generar el mayor valor posible. La combinación de Scrum y Kanban normalmente es conocida como Scrumban, la cual es desarrollada para facilitar a los equipos Scrum la transición a Kanban y la exploración hacia enfoques esbeltos (GERMANOV, 2022).
La principal diferencia con los enfoques originales son que Scrumban tiene las siguientes características (GERMANOV, 2022):
En el caso de XP, la combinación trae como diferencias las siguientes características, con respecto a las originales (Giriraj, 2020; Scaled Agile, 2022):
Al combinar los tres marcos se tendrían los beneficios de las combinaciones híbridas mencionadas.
A lo largo de esta experiencia se revisaron de manera general las familias de enfoques ágiles que son más comunes, pero todos ellas tienen la misma base; se basan en valores comunes y tienen el mismo objetivo: generar valor al cliente a través del desarrollo de un producto que pueda ser utilizado al momento de la liberación.
Así, existen diferentes formas de ejecutar las actividades, siendo la mejor aquella que más se adapte a las condiciones del negocio, del nivel de preparación del equipo, del contexto organizacional, y de la forma de trabajo de los integrantes del equipo de desarrollo, de tal forma que al alinearlos se pueda generar el valor buscado sin impactar la calidad debido a desconocimiento o a curva de aprendizaje.
Además, como se revisó al final, cada una de las prácticas puede ser incorporada con otras, generando así los marcos de referencia ágiles; aunque algunos de ellos son más aplicados en entornos de desarrollo de software, no quiere decir que solo se puedan aplicar en dicha industria, sino que también pueden adaptarse y ejecutarse en entornos de negocio diferentes, para mejorar procesos, crear un producto y/o servicio, es decir, que ayude al logro de los objetivos buscados.
Asegúrate de:
Los siguientes enlaces son externos a la Universidad Tecmilenio, al acceder a ellos considera que debes apegarte a sus términos y condiciones.
Videos
Para conocer más acerca de Familias ágiles, te sugerimos revisar lo siguiente:
Lecturas
Para conocer más acerca de Familias ágiles, te sugerimos leer lo siguiente: