Qu’est-ce que l’agile UP (AUP) ?

Ecrit par << Paquet Judicaël >>

L’agile UP est une méthodologie agile totalement inconnue aujourd’hui qui est d’ailleurs considérée remplacée par le disciplined agile delivery (DAD) aujourd’hui ; elle n’est plus utilisée dans le monde professionnel. Nous allons cependant voir pour notre culture ce qu’était cette méthodologie agile.

Les origines d’Agile UP

Agile Up est une version simplifiée de la Rational Unified Process (RUP) developpée by Scott Ambler. La dernière version de cette méthodologie a été réalisée en 2006 et le travail pour mettre en place cette nouvelle méthodologie agile a commencé en 1999.

Si en 2011, on considérait que 1% des projets agiles utilisaient cette méthodologie agile aux Etats Unis, elle a été remplacée par la disciplined agile delivery (DAD) dès 2012.

Cette méthodologie utilise des pratiques que l’on retrouve aujourd’hui dans un grand nombre de DSI mais également d’autres méthodologies comme l’Extreme Programming. Vous y retrouverez le  test-driven development (TDD), l’agile modeling (AM) et le refactoring de base de données.

Les 7 disciplines de l’agile UP

L’agile UP qui est une simplification du RUP, a simplifié le nombre de disciplines de la méthodologie à 7. Celles-ci sont :

  • Le modèle : comprendre le business de l’organisation, le problème qu’on cherche à résoudre afin d’identifier la solution fiable à proposer
  • L’implémentation : on va transformer ce modèle en ligne de code exécutable qui sera au préalable bien couvert  de tests unitaires.
  • Les tests : on va travailler sur la qualité technique avec de nombreux tests pour s’assurer que tout fonctionne parfaitement bien.
  • Le déploiement : mettre en place un plan de déploiement et le mettre en exécution afin de pouvoir mettre le produit à disposition des utilisateurs clés sur un environnement stable.
  • La configuration : contrôler les accès et le versionning de notre produit.
  • Le management du projet : faire la gestion des risques, management des hommes et coordonner l’équipe avec tout ce qui est en lien avec eux extérieurement à l’équipe. On gèrera également les aspects de livraisons et de budget.
  • L’environnement : s’assurer d’avoir de bons process adaptés, d’avoir des normes de codage, des standards ainsi qu’un environnement de test pour l’ensemble des personnes qui en ont besoin.

La philosophie de l’agile UP

Comme vous devez l’imaginer, les philosophies de l’agile UP sont assez similaires aux différentes méthodes Agile que vous avez du rencontrer au sein de ce blog. Nous allons cependant les voir rapidement ensemble.

L’équipe sait ce qu’ils ont à faire : en effet, on va éviter de donner des documentations gigantesques à l’équipe mais nous allons privilégier de leur donner la documentation au fur et à mesure selon les développements en cours. On sait très bien que les gens ne lisent que très rarement l’ensemble d’une grosse documentation… Autant leur donner ce que l’équipe lira à coup sûr soit uniquement ce qu’elle a besoin à un moment T.

La simplicité : on va tout décrire de façon concise et laisser le superflu ailleurs.

Agilité : L’agile UP désire que ces utilisateurs l’utilisent en respectant l’ensemble des préconisations de l’agilité. N’hésitez pas à vous référer au Manifeste Agile pour connaitre exactement ces philosophies agiles.

Focus sur la valeur : on va privilégier de délivrer un maximum de valeur sur notre produit.

Les bons outils : l’agile UP demande aux membres de l’équipe d’utiliser tous les outils qui seront nécessaires mais de choisir les outils par rapport au besoins et de ne pas se forcer à utiliser un outil qui ne répond pas parfaitement au besoin.

Et la dernière philosophie que je recommande toujours aux équipes agile moi même : adaptez la méthode selon vos besoins sans hésitation en respectant l’ensemble des philosophies de la méthode.

Deux types d’itération et cycle de vie

En Agile UP, on a deux types d’itérations qui se mélangent ensemble : les itérations de développement et les itérations de release.

Agile UP - itérations
Agile UP – itérations

Voici d’ailleurs comment est représenté les cycles de vie d’un projet en Agile UP avec les deux types d’itération que nous venons de voir ensemble  :

cyle de vie en Agile UP
cycle de vie en Agile UP

Le cycle de vie d’un projet en Agile Up est décomposé en 4 phases successives : l’initialisation, l’élaboration, la construction et la transition. Si comme ça, certains y verraient un côté « waterfall », ces cycles de vies peuvent se faire itérativement sur des fonctionnalités.

Vous verrez en fait que la discipline du « modèle » est un travail continuel du fait d’avancer au fur et à mesure des itérations ; c’est là qu’on distingue l’aspect agile de cette méthodologie car on peut sans soucis faire évoluer le produit en cours de route très facilement.

Conclusion

On voit que cette méthodologie agile n’est pas si éloignée des autres. J’espère que ce petit article de culture général agile vous aura plu.

2 réponses sur “Qu’est-ce que l’agile UP (AUP) ?”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *