INTRODUCTION À L'AGILITÉ




Les méthodes Agiles caractérisent une approche itérative et collaborative en gestion de projet qui valorise la communication, la rétroaction, l'adaptation au changement et la production de résultats créant de la valeur.

L’agilité s’est surtout développée grâce au domaine TI dans les deux dernières décennies, mais il ne faut pas oublier que l’idée de l’agilité et le concept agile se basent sur des principes plus anciens. En effet, nous pouvons remonter à la période de la Révolution industrielle (fin du XIXe siècle et début XXe siècle) pour s’apercevoir de la présence d’une organisation scientifique du travail industriel : recherche de la procédure de travail optimale, décomposition du travail en tâches successives, utilisation maximale des outils, recherche des gestes les plus efficaces pour un rendement maximisé et suppression des gestes inutiles pour minimiser les pertes. Dans la même ligne de pensée, nous pouvons, entre autres, faire mention du Fordisme et du Deming Plan-Do-Study-Acts (PDSA) de Toyota. Nous sommes ainsi en mesure de constater que les débuts des méthodes Agile remontent bien au-delà du XXIe siècle et précèdent le Manifeste Agile de 2001.


Néanmoins, il est essentiel de reconnaître que les méthodes Agiles connaissent leur engouement et renommée actuels en grande partie grâce au Manifeste Agile, résultat du travail de 17 développeurs de logiciels dont Ward Cunningham, Kent Beck, Ken Schwaber, Jeff Sutherland, Jim Highsmith, Alistair Cockburn, Martin Fowler, Dave Thomas et Arie van Bennekum. Les méthodes Agiles doivent également leur popularité aux composantes et réalités du marché actuel.

Le Manifeste Agile met de l’avant quatre valeurs fondamentales :
  • Les individus et leurs interactions plutôt que les processus et les outils;
  • Des logiciels opérationnels plutôt qu’une documentation exhaustive;
  • La collaboration avec les clients plutôt que la négociation contractuelle;
  • L’adaptation au changement plutôt que le suivi d’un plan.
Ces quatre valeurs fondamentales se déclinent en douze principes généraux :
  • La plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée;
  • Accueillir positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client;
  • Livrer fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts;
  • Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet;
  • Réaliser les projets avec des personnes motivées. Leur fournir l’environnement et le soutien dont ils ont besoin et leur faire confiance pour atteindre les objectifs fixés;
  • La méthode la plus simple et la plus efficace pour transmettre de l’information à l'équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face;
  • Un logiciel opérationnel est la principale mesure d’avancement;
  • Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant;
  • Une attention continue à l'excellence technique et à une bonne conception renforce l’Agilité;
  • La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle;
  • Les meilleures architectures, spécifications et conceptions émergent d'équipes auto-organisées;
  • À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.

Il existe dorénavant une panoplie de méthodes Agiles. Voici, à titre d’introduction, quelques-unes de ces méthodes : 



La méthode SCRUM


La méthode Scrum est actuellement l’approche agile la plus populaire et la plus utilisée, notamment en raison de sa facilité d’implantation. Elle se caractérise par de courtes itérations (sprints) qui durent au maximum 1 mois. Une des forces de cette méthode réside dans ses équipes multidisciplinaires. On y retrouve les rôles suivants dans l’équipe projet dont le but premier est de satisfaire les clients et les utilisateurs et de fabriquer/livrer le meilleur produit/service possible.
  • ScrumMaster C’est la personne qui s'assurera du respect de la procédure/méthodologie Scrum. Il joue aussi les rôles de coach et de facilitateur, mais a aussi pour but de protéger l’équipe des différentes distractions auxquelles elle pourrait faire face.
  • Product Owner C’est la personne responsable de la définition du produit/service et qui portera la vision du produit. Cette personne a aussi pour rôle de satisfaire les attentes et demandes des utilisateurs/clients. C’est la responsabilité du Product Owner de déterminer les tâches et les priorités du projet afin de livrer un maximum de valeur.
  • L’équipe de réalisation/développement Il s’agit d’une équipe autogérée et multidisciplinaire qui exécute le projet et dont le but est de réaliser le meilleur produit/service possible. Chaque membre de l’équipe détient des connaissances et aptitudes particulières afin de répondre aux besoins du projet.

La méthode Kanban

Kanban est une méthode qui vise à faciliter les flux de travail d’une équipe en mettant l’accent sur la livraison en continue, mais en s’assurant de ne pas surcharger l’équipe. En fait, la production et le travail sont adaptés à la capacité de production de l’équipe. Le but essentiel de cette méthode (tout comme la méthode Scrum) est de mettre en place un contexte favorable permettant à l’équipe de travail ensemble efficacement. C’est une méthode de gestion de stocks et des approvisionnements qui se base sur une approche de système à flux tirés et qui tient compte des demandes des clients/utilisateurs. Ce système à flux tirés est déclenché par la consommation des clients/utilisateurs. C’est la commande d'un client qui active la chaîne de production.

En résumé, l’objectif principal de cette méthode est de minimiser (voire éliminer) les gaspillages en contrôlant la production et les stocks. Concrètement, cette méthode consiste à placer les items/tâches du projet dans une colonne du tableau Kanban où chacune des colonnes représente un état de production. Il s’agit donc d’une forme de production "juste à temps" et répondant au principe de la production selon le besoin. La production des postes en amont est déterminée par les besoins des postes en aval.

La méthode Lean a pour but d’optimiser un système de production en s’attaquant à la réduction des gaspillages et inefficacités. La méthode Lean est l’approche Agile la moins contraignante et qui peut s’appliquer à presque tout. Ce qui y est recherché est la performance : obtenir une grande qualité dans le travail effectué en attribuant une place centrale à l’amélioration continue et en réduisant au maximum les gaspillages, et ce, avec un minimum de ressources, de temps et d’argent. Dans l’approche Lean, les employés sont au centre des considérations, tant en ce qui concerne leur bien-être que la participation fondamentale de l’ensemble des employés dans le processus. En effet, l’approche Lean détermine que la participation de l’ensemble des employés d’une entreprise est cruciale pour l’amélioration continue et pour la lutte contre les gaspillages.

La méthode Lean cherche à éliminer tous les aspects inutiles et inefficaces dans les processus de production, et ce, à tous les niveaux d’une entreprise. Cette méthode se décline en 7 principes fondamentaux élaborés par Mary et Tom Poppendieck :
  • L’élimination du gaspillage
  • Améliorer l’apprentissage
  • La prise de décision au dernier moment responsable
  • La livraison la plus rapide possible
  • Des équipes engagées
  • Des solutions intègres
  • La prise de recul et le regard global


Commentaires