Méthode Agile

Méthode Agile

Qu’est-ce que la méthodologie Agile ?

Le terme « agile » définit une approche de gestion de projet qui est à l’opposé des approches traditionnelles prédictives et séquentielles de type cycle en V ou waterfall (en cascade). La notion même de « gestion de projet » est remise en question au profit de « gestion de produit ». De façon à raisonner davantage « produit » que « projet ». Car l’objectif d’un projet consiste à donner naissance à un produit.

Une approche dite « traditionnelle » attend généralement du client une expression détaillée et validée du besoin en entrée de réalisation, laissant peu de place au changement. La réalisation dure le temps qu’il faut et le rendez vous est repris avec le client pour la recette. Cet effet tunnel peut être très néfaste et conflictuel, on constate souvent une différence entre le besoin initial et l’application réalisée. On se rapporte alors aux spécifications validées et au contrat. Certains projets se terminent dans la douleur (surtout dans le cadre d’un contrat au forfait classique) au risque de compromettre la relation client. De plus il n’est pas rare que certaines fonctionnalités demandées se révèlent finalement inutiles à l’usage alors que d’autres, découvertes en cours de route, auraient pu donner plus de valeur au produit.

Fonctionnement

La méthodologie Agile se base sur ce principe simple : planifier la totalité de votre projet dans les moindres détails avant de le développer est contre-productif.

En effet, organiser tous les aspects de votre projet est une perte de temps car il est rare que tout se passe exactement comme prévu. Souvent, des aléas surviennent et vous forcent à revoir votre planification.

La méthode Agile recommande de se fixer des objectifs à court terme. Le projet est donc divisé en plusieurs sous-projets. Une fois l’objectif atteint, on passe au suivant jusqu’à l’accomplissement de l’objectif final. Cette approche est plus flexible. Puisqu’il est impossible de tout prévoir et de tout anticiper, elle laisse la place aux imprévus et aux changements.

Autre point important : la méthode Agile repose sur une relation privilégiée entre le client et l’équipe projet. La satisfaction du client étant la priorité, l’implication totale de l’équipe et sa réactivité face aux changements du client comme aux imprévus sont nécessaires. Le dialogue avec le client est privilégié. C’est lui qui valide chaque étape du projet. L’évolution de ses besoins est prise en compte et les ajustements sont effectués en temps réel afin de répondre à ses attentes.

Avec l’approche Agile, rien n’est figé. L’équipe projet doit être capable de se remettre sans cesse en cause et de chercher continuellement à évoluer.

Le Manifeste Agile, les principes fondateurs

Suite à l’observation d’un taux d’échec élevé des projets dans les années 1990, 17 experts en développement logiciel se réunissent aux Etats-Unis en 2001 afin de mettre en commun leurs méthodes respectives. Le « Manifeste Agile » naît de cette rencontre et détermine les valeurs et les principes fondamentaux de la méthode Agile.Une plus grande implication du client et une meilleure réactivité des équipes face à ses demandes sont au cœur de la méthode Agile.

Ce manifeste prône les 4 valeurs fondamentales de la méthodologie :

  • L’équipe, soit des individus et des interactions plutôt que des processus et des outils ;
  • L’application, c’est-à-dire des fonctionnalités opérationnelles plutôt que de la documentation exhaustive ;
  • La collaboration avec le client plutôt que la contractualisation des relations ;
  • L’acceptation du changement plutôt que le suivi d’un plan.

De ces valeurs découlent les 12 principes généraux suivants :

  1. Satisfaire le client en priorité
  2. Accueillir favorablement les demandes de changement
  3. Livrer le plus souvent possible des versions opérationnelles de l’application
  4. Assurer une coopération permanente entre le client et l’équipe projet
  5. Construire des projets autour de personnes motivées
  6. Privilégier la conversation en face à face
  7. Mesurer l’avancement du projet en matière de fonctionnalité de l’application
  8. Faire avancer le projet à un rythme soutenable et constant
  9. Porter une attention continue à l’excellence technique et à la conception
  10. Faire simple
  11. Responsabiliser les équipes
  12. Ajuster à intervalles réguliers son comportement et ses processus pour être plus efficace

Avantages et inconvénients

Avantages

  • plus de flexibilité en travaillant sur des sous-parties autonomes. Elles peuvent être conçues, testée, modifiées de nouveau sans que l’ensemble du projet ne soit impacté. La prise en compte de besoins non identifiés dans la phase d’analyse ou bien l’émergence de nouvelles fonctionnalités au cours du développement peuvent être implémentées. Par expérience, il est difficile de penser à tout dans la phase de définition de besoin pour une approche classique de gestion de projet.
  • Plus de fiabilité et de qualité : en simplifiant la complexité, en testant en continu, en favorisant les feedbacks, les échanges avec les clients.
  • Des risques réduits : détection rapide grâce à des cycles courts.
  • Une meilleure maîtrise des coûts : pas de coûteux retours en arrière – si nécessaire le projet peut être stoppé rapidement.

Inconvénients

  • Comme le dialogue est privilégié, la méthode Agile laisse peu de place à la documentation, ce qui peut poser problème en cas de changement d’équipe projet, par exemple.
  • Le client doit être disponible et s’intéresser à son projet afin de s’assurer qu’il répondra parfaitement à ses besoins. Tous les clients n’ont pas le temps, ni l’envie de s’impliquer pleinement dans la réalisation d’un projet.
  • La méthode Agile n’est pas adaptée pour les entreprises avec une structure hiérarchique très forte à cause de son fonctionnement collaboratif.
  • Cette méthodologie permet un bon contrôle des coûts, mais elle rend très difficile la vision d’un budget pour la totalité du projet. La flexibilité a un coût que le client doit être prêt à payer.

La contractualisation agile

La contractualisation d’un projet agile n’est pas la partie la plus facile étant donné que le périmètre est par définition variable. La régie ferait bien l’affaire mais difficile de rassurer le client avec un tel contrat. En France et ailleurs, le contrat au forfait domine; surtout sur les gros projets. Malheureusement pour le fournisseur – dans le cadre d’un forfait classique – tous les risques sont pour lui (aussi bien sur un projet agile que sur un projet traditionnel). On peut limiter ces risques en prenant quelques précautions, mais on limite également la souplesse offerte par une approche Agile.

Cela ne veut pas dire qu’il n’existe pas de solutions. Un contrat par itération avec la possibilité pour le client d’arrêter le contrat à la fin de chaque itération est assez intéressante. Ainsi que le principe de troc d’exigence : réalisation d’une exigence imprévue en échange du retrait d’une autre moins importante, de priorité faible et de même coût.

Les méthodes de développement Agile

  • La méthode Scrum : utilisé pour n’importe quel projet complexe. Vous trouverez ici une veille technologie réalisé par Laurelenne Poussin .
  • Extreme Programming (XP) : très répandue dans l’ingénierie logicielle
  • FDD (Feature-Driven Development) Dynamic System Development Method (DSDM) : une des plus anciennes, voir le site  https://www.agilebusiness.org/
  • Adaptive software development (ASD) 
  • Crystal Clear : orienté « petites équipes »

Ahmed Alidjinou

0
0

One thought on “Méthode Agile

Laisser un commentaire