Agile

La mise en œuvre de l’agilité est une nécessité pour les organisations dans le monde d’aujourd’hui. Il se concentre sur les individus et les mentalités plutôt que sur les cadres et les outils.

Agile est une approche de gestion de projet, le mot «Agile» représente «Souplesse», «Rapidité» et «Adaptation au changement» et il continuera à conduire des changements dans tous les types d’organisations, en particulier le développement de logiciels.

C’est un terme générique qui comprend un ensemble de cadres, de principes et de pratiques conçus pour accroître la collaboration, la qualité et la rapidité. Dans ce monde complexe, incertain et axé sur le client, l’agilité aide les organisations à fournir des valeurs aux clients en suivant des méthodes et des mentalités de «changement continu».

Contrairement aux approches de gestion de projet traditionnelles prédictives et séquentielles de type cycle en V ou waterfall (en cascade) de style commandement et contrôle, l’agilité impose le changement culturel et la responsabilité de chacun dans l’équipe, elle se veut plus souple et adaptée, et place les besoins du client au centre des priorités du projet. Parmi les points forts de la méthodologie Agile :

  • communication face à face et régulière
  • cycle de rétroaction continu
  • accent principal sur la qualité et la rapidité
  • incrémental et itératif
  • capacité à changer la perfection et les plans

La méthodologie Agile se base sur ce principe simple : c’est contre-productif de planifier la totalité de projet dans les moindres détails avant de le développer. 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.

L’approche 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.

Fonctionnement des méthodes Agiles
Dans le cadre d’un projet Agile, le client élabore sa vision du produit à réaliser et liste les fonctionnalités ou exigences de ce dernier. Il soumet cette liste à l’équipe de développement, communique directement avec elle (plutôt que par papier) qui estime le coût de chaque élément de la liste. On peut ainsi se faire une idée approximative du budget global.

L’équipe sélectionne ensuite une portion des exigences à réaliser dans une portion de temps courte appelée itération. Chaque itération inclut des travaux de conception, de spécification fonctionnelle et technique (quand c’est nécessaire), de développement et de test. A la fin de chacune de ces itérations, le produit partiel mais utilisable est montré au client. Ce dernier peut alors se rendre compte par lui même très tôt du travail réalisé, de l’alignement sur le besoin. L’utilisateur final quant à lui peut se projeter dans l’usage du produit et émettre des feedbacks précieux pour les futures itérations. La visibilité ainsi offerte est clef. Cette transparence peut également apporter davantage de confiance et de collaboration dans la relation client/fournisseur. Les risques quant à eux sont levés très tôt.

Si le client a priorisé avec soin son besoin, il peut saisir l’opportunité d’accélérer le “time to market” si il estime que le produit en l’état peut aller en production. Économisant ainsi son budget et récoltant un premier retour sur investissement. Il a aussi la possibilité de changer la priorité des fonctionnalités qui n’ont pas encore été développées (prévues pour les itérations futures). Afin de retarder une fonctionnalité dont le besoin n’est pas mûr, ajouter une nouvelle fonctionnalité cruciale en échange du retrait d’une autre (respectant ainsi budget et délais).

Les méthodes Agiles les plus connues/utilisées dans le cadre de développement logiciel sont : Scrum, Kanban, Extreme Programming (XP), Lean et SAfe.

Historiquement, l’origine de l’approche agile remonte à l’année 2001 aux USA, quand des experts en développement logiciel ont décidé  de mettre en commun leurs méthodes respectives. Le résultat de leur rencontre c’était la naissance de «Manifeste Agile» qu’a défini les 4 valeurs et les 12 principes fondamentaux de la méthode Agile.

Aujourd’hui les méthodes Agile ont fait leurs preuves. Tout le monde (dans le monde de l’informatique) ou presque a au moins entendu parler d’une méthode Agile (Scrum, eXtreme Programming, RAD, Chrystal Clear,…). L’outillage associé est maintenant disponible sur le marché y compris dans le secteur Open Source. Les formations, certifications, conférences, livres, blogs se sont multipliés. Nous pouvons également noter la prise de position en faveur de l’approche Agile de la part des organismes faisant “autorité” en matière de gestion de projet informatique (SEI, PMI, Gartner).

Des années que je me baigne dans des projets agiles, où j’ai eu l’opportunité d’occuper plusieurs rôles : développeur, Scrum master et Product owner, avec double certification ”Professional Scrum Master” et ”Professional Scurm Procut Owner”, j’aide mes clients en partageant mon expérience agile pour consolider leur transformation agile et devenir plus rapides, réactifs et innovants face aux changements permanents. Pragmatique, j’accompagne les équipes dans leurs propres contextes pour favoriser la collaboration à l’échelle de l’entreprise, aller au plus simple et améliorer le time to market. Pour apprendre plus, contactez-moi et échangez librement sur les pratiques et méthodes Agiles.

Vous êtes intéressé pour en savoir plus ? Contactez-moi

error: Content is protected !!