Démystifier AGILE ! - Partie 2

Démystifier AGILE ! - Partie 2

4 Jun

Auteur : Arthur Dang, Catégories : Développement de site web

Lors du précédent article (Partie 1), nous avons découvert ensemble les fondations d’AGILE : son histoire, sa méthodologie, sa théorie et ses valeurs. Dans cette seconde partie, nous explorerons et répondrons aux 2 questions suivantes: 

  1. Quels sont les défis répondus par AGILE
  2. Quelles expertises de gestion permettent d’y répondre

               

1. Les défis répondus par AGILE

AGILE a pour objectif d’éviter les enjeux récurrents d’un projet classique :

  • La confusion entre les besoins souhaités, les besoins estimés, et les besoins réels
  • La perte de vue des objectifs principaux afin de respecter des spécifications techniques
  • Le manque de proactivité des équipes pour émettre des recommandations ou de nouvelles solutions
  • La perte progressive de communication au cours du projet entre les différentes équipes et décideurs

Une approche par objectif

Un projet sous AGILE sera orienté avec une vision et approche empirique. L’objectif premier étant de pouvoir se montrer flexible et adaptable à toutes évolutions de situation. Pour cela, AGILE opte pour un système de gestion de production itératif.

Votre projet sera exprimé en « Objectifs » (Story). L’objectif principal sera le fil rouge du projet. Cet objectif regroupera des sous-objectifs (Features). Et ses sous-objectifs, un ensemble de tâche (Tasks).

Une production itérative

Votre projet sera divisé en Phase et Lot (en anglais, Milestone et Sprint). Chaque phase regroupant une série d’objectifs priorisés, et par la suite, chaque lot regroupera une série de fonctionnalités pour répondre à un ou plusieurs de ses objectifs.

Lorsqu’une nouvelle phase ou lot débute, tous les acteurs s’assurent que l’objectif est clair et bien défini. S’il y a des zones d’ombre, il sera nécessaire d’y répondre par une décision avant de débuter.

En parallèle, à des fréquences régulières, des points de suivi auront lieu afin de tenir au courant chacun de l’avancée du développement : les questions, les enjeux, les actions.

Enfin, à la fin de chaque lot, un point de rétrospection aura lieu, c’est-à-dire un bilan des équipes avec pour but de corriger les enjeux sur les futurs lots. Le projet apprend donc de ses expériences et s’améliore toujours en continu.

Une production de qualité

La qualité des livrables (pour chaque lot) est un point essentiel. Dans nombre de projets, le « contrôle qualité » est mis de côté ou réduit à son strict minimum. Dans une méthodologie AGILE, la qualité est au cœur même des processus.

Lors du développement, les équipes auront prévu des séries de tests toujours dans l’optique que le produit développé respecte l’objectif et est conforme aux besoins. Ces tests peuvent apporter des changements mineurs à intégrer au projet, mais parfois des changements importants (tel qu’un changement d’objectif).

En conclusion

Avec tout cela, l’équipe projet et client s’assure que :

  • Le projet ne perd pas de vue ses objectifs
  • Le projet peut s’adapter à des changements de besoins (et permettre à vos équipes de proposer des solutions et recommandations)
  • La communication entre les équipes est régulière et décisive

AGILE, comme les autres méthodologies, ne permet pas de certifier que le développement du produit ne connaîtra aucun retard ou coût supplémentaire. Cependant, sa force est de pouvoir le signaler bien plus tôt et de proposer des solutions alternatives.

 

2. Les expertises orientées AGILE

AGILE est une méthodologie de gestion de projet (cycle de développement et production, gestion et suivi des processus) mais ne propose pas d’outils pratiques. Les 3 méthodes ci-dessous permettent d’y répondre. Chacune répondant à des types de gestion (production, gestion, développement) à différents niveaux, et pouvant se montrer complémentaires.

Méthode SCRUM

La méthode SCRUM est la plus connue et se caractérise par son approche différente de gestion de projet. Elle repose sur le principe de « Sprint » et deux outils principaux : le « Product Backlog » qui précise l’ensemble des fonctionnalités attendues sur le produit, et le « Sprint Backlog » qui définit au début de chaque Sprint quelles fonctionnalités seront mises en œuvre.

Elle regroupe 3 acteurs :

  • Un SCRUM Master qui a pour responsabilité de communiquer et promouvoir l’adhésion des équipes. Il définit la durée des itérations et s’assure du bon suivi du projet.
  • Le « Product Owner » qui est le représentant client. Il dirige l’activité de l’équipe de développement en clarifiant le « Product Backlog ».
  • L’équipe de développement qui travaille par itération et s’autogère pour la mise en œuvre. Les décisions sont collectives. De courtes réunions journalières leur permettent de coordonner le travail.

Méthode KANBAN

Cette méthode est orientée gestion de production et se repose sur une clarification/signalisation des étapes logiques de développement. 

Le concept principal est de visualiser rapidement l’ensemble des tâches à réaliser, puis comprendre et définir le meilleur moyen d’y parvenir. Le tableau Kanban permet en plus d’avoir une idée rapide de la progression des tâches.

Sous AGILE, le projet est découpé en « Story » qui représente un objectif à mettre en œuvre. Cet objectif regroupe plusieurs tâches. Avec une méthode Kanban, il peut y avoir plusieurs « Stories » en cours à des jalons différents du développement ou en parallèle.

Le cycle de développement doit être orienté pour réaliser des changements de petite envergure mais en continu. L’idée est d’éviter des livraisons trop lourdes ou des dates de livraison trop éloignées entre elles. Kanban peut s’utiliser avec un découpage par Sprint (ce n’est pas un prérequis).

 

Méthode Extreme Programming (XP)

Cette méthode est orientée gestion de développement et se repose sur des cycles rapides de développement, toujours par itération. 

Au niveau de la gestion de projet, on retrouvera un chargé de projet et un représentant client. Ceux-ci sont présents tout au long du projet et doivent pouvoir répondre à ces besoins :

  • Être disponibles pour répondre aux questions de l’équipe de développement
  • Garder et rappeler l’objectif global du résultat à obtenir (le produit)
  • Connaître les besoins des utilisateurs finaux du produit

Lors de la 1ère itération, les équipes projet et développement déterminent les scénarios à réaliser. Ceux-ci sont par la suite estimés (temps & coûts) et transformés en tâches et tests à réaliser. Chaque développeur s’attribue des tâches mais les réalise en binôme. Ce travail d’équipe permet de s’assurer que les standards de développement et la qualité des tests sont bien respectés, et que les compétences sont partagées.

Une fois que tous les tests ont été réalisés, le produit de l’itération est livré et l’équipe enchaîne avec un nouveau scénario.

Au cours du projet, de nouveaux scénarios peuvent apparaître pour répondre à de nouveaux besoins repérés (« feedback »). Le projet se finit une fois qu’il n’y a plus aucun scénario client à mettre en œuvre.

 

3. En conclusion

Ensemble, nous venons de voir la force et l’intérêt d’une méthodologie AGILE ainsi que les principales méthodes pratiques. Il en existe d’autres car à l’instar d’un projet, les méthodes évoluent pour toujours s’améliorer.

En tant que client, avoir des prestataires utilisant une méthodologie AGILE doit vous permettre d’avoir une meilleure expérience de suivi (satisfaction, temps et coûts), des communications régulières vous impliquant réellement dans votre projet et d’éviter au final des déceptions sur le produit livré.

En tant que prestataire web (ou logiciel), mettre en place une méthodologie AGILE doit vous permettre de mieux répondre aux besoins de vos clients, d’arrimer le travail pluridisciplinaire entre les équipes (éviter un travail en « silos ») et de mieux contrôler la planification de vos ressources.

Une vie de projet doit être comme une histoire de Lego : une belle aventure collective !

Tags : AGILE, drupal, site web, wordpress

Ajouter un commentaire