Qu'est-ce que la méthodologie Agile et comment fonctionne-t-elle dans la gestion de projet ?
La sagesse populaire nous conseille de "ne jamais répondre à une question par une question". Cependant, il est parfois utile d'enfreindre cette règle, car pour saisir un point important, nous devons d'abord prendre du recul et regarder la situation dans son ensemble - et cette situation en fait partie.
Ainsi, avant de nous plonger dans la réponse à "qu'est-ce que la méthodologie agile et comment fonctionne-t-elle dans la gestion de projet ? ", déplaçons brièvement notre perspective sur une question plus fondamentale : "que signifie la méthodologie agile ?"
Méthodologie & État d'esprit
Bien qu'Agile soit largement désigné comme une méthodologie, il s'agit plus d'une convention pratique que d'une étiquette précise - car au fond, Agile n'est pas exclusivement une méthodologie. Il s'agit plutôt d'un état d'esprit qui s'appuie sur quatre valeurs fondamentales et sur les principes 12 (que nous examinerons dans un instant). Ces principes fondamentaux sont repris dans le Manifeste pour le développement logiciel agile, qui a été créé par l'Alliance Agile: une organisation mondiale à but non lucratif qui soutient les personnes et les organisations qui explorent, appliquent et développent les valeurs, les principes et les pratiques agiles.
Les quatre valeurs fondamentales d'Agile
- Les individus et les interactions sont mis en avant et privilégiés par rapport aux processus et aux outils.
- Il peut sembler surprenant qu'un paradigme issu de l'espace du développement logiciel (mais qui a depuis été appliqué dans d'autres domaines) fasse de l'habilitation des individus et de la facilitation des interactions sa valeur numéro un. Or, c'est précisément ce que l'Alliance Agile voulait établir : que si les processus et les outils sont importants et de plus en plus influents, ils ne doivent pas limiter ou dégrader l'élément humain. En d'autres termes, les processus et les outils doivent servir les équipes Agile, et non l'inverse.
- L'accent est mis sur les logiciels fonctionnels plutôt que sur une documentation complète.
- L'objectif et le message de cette valeur fondamentale sont d'empêcher les organisations de surcharger les développeurs avec des tâches qui détournent les ressources et l'attention de ce qui compte vraiment : la création de logiciels qui fonctionnent.
- Bien sûr, la documentation est toujours importante. Cependant, il est relativement moins vital que les logiciels de travail. Les organisations qui perdent de vue ce principe découvrent - et généralement plus tôt que tard - qu'elles entravent et sapent leurs efforts Agiles.
- La collaboration avec le client est privilégiée par rapport à la négociation du contrat.
- Une collaboration efficace et efficiente avec les clients est vitale en Agile. Lorsque des problèmes et des défis se présentent (et ils se présenteront très certainement !), l'approche la plus pratique et la plus sage consiste à essayer de trouver un terrain d'entente.
- Réagir au changement a la priorité sur le suivi d'un plan.
- C'est l'une des plus grandes dérogations à la gestion de projet traditionnelle. Historiquement, le changement était considéré comme un risque ou une menace à éviter. Cependant, en Agile, le changement est embrassé et exploité. Le plan sert de base, mais pas nécessairement de manuel d'instruction étape par étape.
Les 12 principes de la méthode Agile
Selon l'Agile Alliance, les 12 principes d'Agile sont les suivants
- La priorité absolue est de satisfaire les attentes des clients. Cela se fait par la livraison précoce et continue de logiciels fonctionnels et utiles.
- Lorsqu'elle est stratégique et qu'elle renforce l'avantage concurrentiel d'un client, l'adaptation aux exigences changeantes est accueillie favorablement plutôt que d'être combattue - y compris dans les phases ultérieures du développement.
- Plutôt que de livrer un logiciel fini à la fin d'un projet, l'accent est mis sur la livraison fréquente d'un logiciel partiellement achevé (mais, comme indiqué ci-dessus, fonctionnel et précieux). La préférence va à des délais plus courts plutôt que plus longs.
- Les membres d'une équipe Agile ne peuvent pas travailler en silos. Ils doivent se coordonner et, si nécessaire, collaborer tout au long du projet.
- Les projets Agile réussis sont alimentés par des membres d'équipe motivés et engagés, qui disposent d'un environnement approprié et d'un soutien et de ressources suffisants pour accomplir leurs tâches respectives de manière compétente et dans les délais.
- La communication directe (en face à face ou virtuelle) est généralement la méthode la plus efficace et la plus efficiente.
- La principale mesure du progrès est le produit final.
- Tous les membres de l'équipe doivent être capables de maintenir un rythme constant pendant une période indéfinie. Cela ne peut se produire s'ils sont surchargés de tâches et/ou accablés de délais ou d'autres attentes peu pratiques et déraisonnables.
- L'agilité est renforcée par une attention constante portée à l'excellence technique et à un design exceptionnel.
- La simplicité - qui se définit comme l'art et la science de l'optimisation de la quantité de travail qui n'a pas besoin d'être effectuée - est essentielle à la réussite.
- Les équipes Agile auto-organisées sont les mieux placées et équipées pour créer le meilleur travail.
- À intervalles réguliers, les équipes Agile doivent réfléchir et analyser comment elles peuvent devenir plus efficaces et efficientes, et s'adapter en conséquence.
Qu'est-ce que la méthodologie Agile en gestion de projet ?
Maintenant que nous avons examiné les valeurs et principes fondamentaux d'Agile - autrement dit l'état d'esprit Agile - nous pouvons explorer ce qu'est la méthodologie Agile dans la gestion de projet.
Essentiellement, la gestion de projet Agile est une approche itérative et incrémentale pour atteindre les objectifs commerciaux (c'est-à-dire le produit du projet).
- Une approche itérative signifie que davantage d'informations sur le projet - ses risques, ses opportunités et d'autres variables - apparaissent au fur et à mesure que le projet avance. Ce résultat est sensiblement différent de celui de la méthode conventionnelle (c.-à-d. approche de gestion de projet en cascade), dans laquelle un plan solide est élaboré avant l'exécution. Bien sûr, le changement est souvent nécessaire en raison d'événements imprévus (généralement négatifs, mais parfois positifs). Toutefois, l'objectif est de s'en tenir le plus possible au plan et d'éviter tout écart majeur.
- Une approche incrémentale signifie qu'au lieu d'avoir une longue phase d'exécution, le travail est réalisé par étapes courtes et très ciblées. On les appelle des sprints. Bien qu'il n'existe pas de norme ou de règle indiquant la durée de chaque sprint, ils durent généralement entre une et trois semaines. Nous explorerons plus en détail les sprints dans la section suivante.
Qu'est-ce que le processus de la méthodologie Agile ?
Bien que différentes organisations - et parfois diverses équipes au sein d'une même organisation - aient la possibilité de personnaliser la méthodologie agile qui fonctionne le mieux, le processus comporte généralement quatre grandes étapes :
1. Planification du projet
Comme mentionné ci-dessus, la planification de projet Agile est moins robuste que la planification de projet conventionnelle. Ce n'est pas parce que la planification de projet n'est pas importante dans Agile - car elle l'est très certainement. C'est plutôt parce que les projets Agile embrassent le changement permanent plutôt que d'y résister. De plus, les projets agiles étant par nature itératifs, passer un temps excessif dans la phase de planification peut être théoriquement attrayant mais pratiquement contre-productif, puisqu'une partie (ou peut-être une grande partie) de ce qui était prévu s'avère ne pas être applicable.
Une pièce importante du puzzle de la planification de projet Agile est l'histoire d'utilisateur. Il s'agit d'une vue d'ensemble de haut niveau d'une demande de travail, qui fournit à l'équipe Agile suffisamment d'informations pour élaborer une estimation fonctionnelle de l'effort, des ressources et du temps nécessaires pour réaliser la demande. La raison pour laquelle ce document s'appelle une histoire d'utilisateur, est qu'il est rédigé du point de vue d'un utilisateur, et met en évidence ce qu'il veut accomplir et pourquoi.
Une autre partie importante de la planification d'un projet Agile consiste à créer une feuille de route du produit, qui est une ventilation de toutes les caractéristiques du produit. Ces caractéristiques seront ensuite utilisées pour créer le backlog de produit.
2. Planification du sprint
L'étape majeure suivante consiste à planifier chaque sprint. Si possible, chaque sprint doit cibler une fonctionnalité du backlog de produit. Si cela n'est pas possible - parce qu'une caractéristique est très complexe ou en raison d'un autre facteur - l'accent peut alors être mis sur un aspect de la caractéristique.
Il est extrêmement important de veiller à ce que les membres de l'équipe ne soient pas surchargés de tâches, ou ne soient pas tenus de respecter des délais déraisonnables. Si cela se produit, un phénomène connu sous le nom de "sprint fatigue" peut se produire, ce qui est un précurseur du désengagement, de l'épuisement professionnel et du turnover. L'établissement de limites pour les travaux en cours (TEC) peut aider à prévenir ce scénario coûteux, et l'utilisation d'un outil de gestion des tâches efficace . pour documenter visuellement les flux de travail et les ressources est un must.
3. Exécution et stand-up quotidien
Une fois le plan, le backlog et les sprints en place, il est temps de passer à l'action et de lancer le projet Agile. Pendant la phase d'exécution, les membres de l'équipe partagent quotidiennement ce qu'ils ont fait la veille, ce qu'ils prévoient de faire aujourd'hui, ainsi que tous les problèmes ou défis qu'ils ont rencontrés ou anticipés. Ces sessions sont appelées réunions "debout", car l'idée est de les garder suffisamment courtes (généralement 10-15 minutes) pour que les membres de l'équipe puissent, s'ils le souhaitent, rester debout pendant toute la durée de la réunion.
Sur certains projets, il se peut que les réunions de stand-up ne soient pas quotidiennes. Alors que pour d'autres (comme ceux qui sont en difficulté), il peut y avoir plus d'une réunion debout par jour. En définitive, la fonction de ces réunions est de partager les informations de la manière la plus efficace possible. Trop peu de réunions peuvent conduire à des erreurs et à des hypothèses, tandis que trop de réunions peuvent conduire à la frustration et à la bureaucratie.
4. Critiques et analyses
Après chaque sprint, il y a deux réunions. La première consiste à examiner le produit avec les parties prenantes concernées (généralement le propriétaire du produit et éventuellement le client également). La seconde consiste à analyser le sprint et à identifier les possibilités d'amélioration future.
Dans l'ensemble, ces deux réunions permettent également d'établir une relation de confiance entre l'équipe Agile et le client/propriétaire du produit, et de garder les lignes de communication ouvertes. Étant donné que les projets Agile sont si rapides et qu'il y a des changements constants, la force de cette relation joue un rôle important dans la réussite ou l'échec de l'expérience.
Rôles dans les équipes agiles
En général, il existe quatre principaux types de rôles sur les projets Agile :
- Les membres de l'équipe Agile, qui effectuent le travail dans chaque sprint.
- Le Scrum Master, qui veille à ce que chaque sprint soit ciblé et à ce que les membres de l'équipe disposent des ressources dont ils ont besoin. Le Scrum Master contribue également à empêcher les personnes extérieures à l'équipe d'interférer.
- Les propriétaires du produit, qui représentent les attentes du client et jouent un rôle clé dans la définition de l'objectif de chaque sprint, ainsi que dans la hiérarchisation du backlog de produit.
- Les parties prenantes, qui doivent être informées des progrès et des développements du projet.
Qu'est-ce que la méthodologie Agile dans le développement de logiciels par rapport à d'autres domaines ?
Comme la gestion de projet Agile est apparue dans le monde du développement de logiciels, elle est généralement discutée dans ce contexte - par exemple, en faisant référence aux "fonctionnalités" dans un backlog de produit ou aux "programmeurs" dans une équipe Agile. De plus, les valeurs et principes Agile que nous avons explorés précédemment sont clairement liés au développement de logiciels (par ex. "l'accent est mis sur le logiciel fonctionnel plutôt que sur une documentation complète").
Cependant, la gestion de projet Agile peut être appliquée avec beaucoup de succès dans de nombreux autres domaines tels que marketing, la construction, les services professionnels, et plus encore. N'oubliez pas : Agile n'est pas seulement une méthodologie, c'est aussi un état d'esprit !