El modelado ágil ( MA ) es una metodología para modelar y documentar sistemas de software basada en las mejores prácticas. Es un conjunto de valores y principios que se pueden aplicar en un proyecto de desarrollo de software (ágil). Esta metodología es más flexible que los métodos de modelado tradicionales, lo que la hace más adecuada para un entorno de rápido cambio. [ 1 ] Forma parte del conjunto de herramientas para el desarrollo ágil de software .
El modelado ágil complementa otras metodologías de desarrollo ágil como Scrum , la programación extrema (XP) y el Proceso Unificado de Rational (RUP). Se incluye explícitamente como parte del marco de entrega ágil disciplinada (DAD). Según las estadísticas de 2011, el modelado ágil representó el 1 % de todo el desarrollo de software ágil. [ 2 ]
El modelado ágil es una forma de ingeniería ágil dirigida por modelos (Agile MDE), que se ha adoptado en varias áreas de aplicación como el desarrollo de aplicaciones web , las finanzas y los sistemas automotrices [ 3 ].
Prácticas básicas
Existen varias prácticas fundamentales:
Documentación
- Documentar de forma continua. La documentación se realiza a lo largo de todo el ciclo de vida, en paralelo a la creación del resto de la solución.
- Documentar tarde. La documentación se realiza lo más tarde posible, evitando ideas especulativas que puedan cambiar y optando por información estable.
- Especificaciones ejecutables. Los requisitos se especifican en forma de "pruebas de cliente" ejecutables, en lugar de documentación "estática" no ejecutable.
- Información de fuente única. La información (modelos, documentación, software) se almacena en un solo lugar, para evitar dudas sobre cuál es la versión/información "correcta".
Modelado
- Participación activa de las partes interesadas. Las partes interesadas de la solución/software que se está modelando deben participar activamente en el proceso. Esto es una extensión de la práctica de atención al cliente in situ de la Programación Extrema .
- Visualización de la arquitectura. Al inicio de un proyecto de software, el equipo realiza un modelado ligero y de alto nivel, apenas suficiente (JBGE), para explorar la estrategia arquitectónica que el equipo cree que funcionará.
- Herramientas inclusivas. Prefiero las herramientas de modelado, como las pizarras blancas y el papel, que son fáciles de usar (son inclusivas).
- Modelado iterativo. Cuando un requisito o tarea no se ha explorado con suficiente detalle mediante el modelado predictivo, el equipo puede optar por realizar dicha exploración durante la planificación de la iteración o el sprint. Generalmente, esta necesidad se considera un síntoma de que el equipo no está realizando un modelado predictivo suficiente.
- Apenas suficiente (JBGE). Todos los artefactos, incluidos los modelos y documentos, deben ser lo suficientemente buenos para la tarea en cuestión. El concepto de JBGE es contextual; en el caso del modelo, se determina por una combinación de la complejidad de lo que describe y las habilidades del público al que va dirigido.
- Modelado con anticipación. Un equipo ágil revisará su backlog con una o más iteraciones/sprints de anticipación para asegurarse de que un requisito/elemento de trabajo esté listo para ser abordado. También se denomina "refinamiento del backlog" o "limpieza del backlog" en Scrum .
- Model storming. Una sesión de modelado ágil, breve y a menudo improvisada. Las sesiones de model storming se realizan para explorar los detalles de un requisito o aspecto del diseño.
- Múltiples modelos. Los modeladores ágiles deben saber cómo crear una variedad de tipos de modelos (como historias de usuario, mapas de historias, modelos de datos, diagramas del Lenguaje Unificado de Modelado (UML), y más) para aplicar el mejor modelo a la situación en cuestión.
- Requisitos priorizados. Los requisitos deben abordarse en orden de prioridad.
- Visualización de requisitos. El equipo realiza un modelado ligero y de alto nivel que es JBGE al comienzo de un proyecto de software para explorar los requisitos de las partes interesadas.
Limitaciones
Existe una dependencia significativa de la comunicación personal y la colaboración con el cliente. Las disciplinas de modelado ágil pueden ser difíciles de aplicar :
- En equipos grandes (por ejemplo, de 30 personas o más) sin soporte de herramientas adecuado
- Cuando los miembros del equipo no pueden compartir ni colaborar en los modelos (lo que dificultaría el desarrollo ágil de software en general).
- Cuando las habilidades de modelado son débiles o inexistentes.
Véase también
Referencias
- ↑ Página principal de modelado ágil (AM), prácticas efectivas para el modelado y la documentación
- ↑ "Resultados de la encuesta sobre el estado del desarrollo ágil, 2011" . Archivado del original el 17 de julio de 2015. Consultado el 26 de junio de 2014 .
- ↑ Alfraihi, Hessa Abdulrahman A.; Lano, Kevin Charles (enero de 2017). «La integración del desarrollo ágil y el desarrollo dirigido por modelos: una revisión sistemática de la literatura» . Actas de la 5.ª Conferencia Internacional sobre Ingeniería Dirigida por Modelos y Desarrollo de Software . págs. 451–458 . doi : 10.5220/0006207004510458 . ISBN 978-989-758-210-3. S2CID 11369604 .
Enlaces externos
- Página principal de modelado ágil
- Desarrollo ágil basado en modelos (AMDD)
- Desarrollo ágil de software