Modélisation agile - Agile modeling

La modélisation agile (AM) est une méthodologie de modélisation et de documentation des systèmes logiciels basée sur les meilleures pratiques. C'est un ensemble de valeurs et de principes qui peuvent être appliqués sur un projet de développement logiciel (agile). Cette méthodologie est plus flexible que les méthodes de modélisation traditionnelles, ce qui la rend mieux adaptée à un environnement en évolution rapide. Il fait partie du kit d'outils de développement logiciel agile .

La modélisation agile est un complément à d'autres méthodologies de développement agile telles que Scrum , la programmation extrême (XP) et Rational Unified Process (RUP). Il est explicitement inclus dans le cadre de la livraison agile disciplinée (DAD). Selon les statistiques de 2011, la modélisation agile représentait 1% de tout le développement de logiciels agiles.

Pratiques de base

Il existe plusieurs pratiques de base:

Documentation

  1. Documentez en continu. La documentation est réalisée tout au long du cycle de vie, parallèlement à la création du reste de la solution.
  2. Document en retard. La documentation est faite le plus tard possible, évitant les idées spéculatives susceptibles de changer en faveur d'une information stable.
  3. Spécifications exécutables. Les exigences sont spécifiées sous la forme de "tests clients" exécutables, au lieu d'une documentation "statique" non exécutable.
  4. Informations à source unique. Les informations (modèles, documentation, logiciels) sont stockées en un seul endroit et en un seul endroit, pour éviter des questions sur la version / l'information «correcte».

La modélisation

  1. Participation active des parties prenantes. Les parties prenantes de la solution / du logiciel modélisé doivent y participer activement. Il s'agit d'une extension de la pratique client sur site d' Extreme Programming .
  2. Imagination de l'architecture. L'équipe effectue une modélisation légère et de haut niveau qui est à peine suffisante (JBGE) au début d'un projet logiciel afin d'explorer la stratégie d'architecture qui, selon l'équipe, fonctionnera.
  3. Outils inclusifs. Préférez les outils de modélisation, tels que les tableaux blancs et le papier, avec lesquels il est facile de travailler (ils sont inclusifs).
  4. Modélisation d'itération. Lorsqu'une exigence / un élément de travail n'a pas été suffisamment exploré en détail via la modélisation prospective, l'équipe peut choisir de faire cette exploration au cours de sa session de planification d'itération / de sprint. La nécessité de le faire est généralement considérée comme un symptôme que l'équipe ne fait pas suffisamment de modélisation prospective.
  5. Juste à peine assez bon (JBGE). Tous les artefacts, y compris les modèles et les documents, doivent être juste suffisants pour la tâche à accomplir. JBGE est de nature contextuelle, dans le cas du modèle, il est déterminé par une combinaison de la complexité de tout ce que le modèle décrit et des compétences du public pour ce modèle.
  6. Modélisation prospective. Une équipe agile examinera son backlog une ou plusieurs itérations / sprints à venir pour s'assurer qu'une exigence / un élément de travail est prêt à être travaillé. Aussi appelé «backlog grooming» ou «backlog raffinement» dans Scrum .
  7. Modèle d'assaut. Une courte session de modélisation agile, souvent impromptue. Des sessions d'assaut de modèles sont organisées pour explorer les détails d'une exigence ou d'un aspect de votre conception.
  8. Plusieurs modèles. Les modélisateurs agiles doivent savoir comment créer une gamme de types de modèles (tels que des user stories, des story maps, des modèles de données, des diagrammes UML ( Unified Modeling Language ), etc.) afin d'appliquer le meilleur modèle pour la situation actuelle.
  9. Exigences prioritaires. Les exigences doivent être traitées par ordre de priorité.
  10. Prévision des exigences. L'équipe effectue une modélisation légère et de haut niveau qui est JBGE au début d'un projet logiciel pour explorer les exigences des parties prenantes.

Limites

Il existe une forte dépendance à la communication personnelle et à la collaboration client. Les disciplines de modélisation agile peuvent être difficiles à appliquer:

  • Sur de grandes équipes (disons 30 ou plus) sans support d'outillage adéquat
  • Lorsque les membres de l'équipe sont incapables de partager et de collaborer sur des modèles (ce qui rendrait le développement de logiciels agiles en général difficile)
  • Lorsque les compétences de modélisation sont faibles ou inexistantes.

Voir également

Les références

Liens externes