Modelado ágil - Agile modeling

El modelado ágil (AM) es una metodología para modelar y documentar sistemas de software basada en las mejores prácticas. Es una colección 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, por lo que se adapta mejor a un entorno que cambia rápidamente. Es parte del kit de herramientas de desarrollo de software ágil .

El modelado ágil es un complemento de otras metodologías de desarrollo ágil como Scrum , programación extrema (XP) y Rational Unified Process (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.

Prácticas fundamentales

Hay varias prácticas básicas:

Documentación

  1. Documentar continuamente. La documentación se realiza a lo largo del ciclo de vida, en paralelo a la creación del resto de la solución.
  2. Documento tarde. La documentación se realiza lo más tarde posible, evitando ideas especulativas que puedan cambiar a favor de información estable.
  3. Especificaciones ejecutables. Los requisitos se especifican en forma de "pruebas de cliente" ejecutables, en lugar de documentación "estática" no ejecutable.
  4. Información de fuente única. La información (modelos, documentación, software) se almacena en un lugar y solo en un lugar, para evitar preguntas sobre cuál es la versión / información "correcta".

Modelado

  1. Participación activa de los grupos de interés. Las partes interesadas de la solución / software que se está modelando deben participar activamente al hacerlo. Esta es una extensión de la práctica del cliente en el sitio de Extreme Programming .
  2. Visualización de la arquitectura. El equipo realiza un modelado liviano de alto nivel que apenas es lo suficientemente bueno (JBGE) al comienzo de un proyecto de software para explorar la estrategia de arquitectura que el equipo cree que funcionará.
  3. Herramientas inclusivas. Prefiera herramientas de modelado, como pizarras y papel, con las que sea fácil trabajar (son inclusivas).
  4. Modelado de iteraciones. Cuando un requisito / elemento de trabajo no se ha explorado suficientemente en detalle mediante el modelado anticipado, el equipo puede optar por realizar esa exploración durante su sesión de planificación de iteraciones / sprints. La necesidad de hacer esto generalmente se considera un síntoma de que el equipo no está haciendo suficientes modelos de anticipación.
  5. Apenas lo suficientemente bueno (JBGE). Todos los artefactos, incluidos los modelos y documentos, deberían ser suficientes para la tarea en cuestión. JBGE es de naturaleza contextual, en el caso del modelo, está determinado por una combinación de la complejidad de lo que describe el modelo y las habilidades de la audiencia para ese modelo.
  6. Modelado anticipado. Un equipo ágil examinará su backlog una o más iteraciones / sprints para asegurarse de que un requisito / elemento de trabajo esté listo para trabajar. También se llama "preparación de trabajos pendientes" o "refinamiento de trabajos pendientes" en Scrum .
  7. Modelo de asalto. Una sesión de modelaje breve, a menudo improvisada y ágil. Las sesiones de tormenta de modelos se llevan a cabo para explorar los detalles de un requisito o aspecto de su diseño.
  8. Varios modelos. Los modeladores ágiles deben saber cómo crear una variedad de tipos de modelos (como historias de usuarios, mapas de historias, modelos de datos, diagramas de Lenguaje de modelado unificado (UML) y más) para aplicar el mejor modelo para la situación en cuestión.
  9. Requisitos priorizados. Los requisitos deben trabajarse en orden de prioridad.
  10. Previsió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 (digamos 30 o más) sin el soporte de herramientas adecuado
  • Donde los miembros del equipo no pueden compartir y colaborar en modelos (lo que dificultaría el desarrollo de software ágil en general)
  • Cuando las habilidades de modelado son débiles o inexistentes.

Ver también

Referencias

enlaces externos