Méthodologie Agile : Choisir la bonne méthode pour son projet
Conduire un projet exige bien souvent des facultés d’adaptation et de flexibilité, selon les réalités du contexte et de l’environnement projet. Et c’est pour cette raison que je vais aborder avec vous le concept de Méthodologie agile.
Pour rester focus sur les objectifs du projet, tout en prenant en compte tous les facteurs exogènes et endogènes qui pourraient impacter sur son avancement, les acteurs doivent faire preuve d’agilité.
C’est en cela que les méthodes agiles connaissent, de plus en plus, de succès depuis leur avènement, et ça, LiveMentor en parle dans sa formation gestion entreprise. D’ailleurs, nombreux sont les freelances qui se lancent dans le coaching Agile.
Dans cet article, je vais aborder la méthodologie Agile, sous l’angle de la gestion de projet pour un entrepreneur qui souhaite rendre son entreprise plus agile sans vouloir utiliser une multitude d’outils.
Pour vous aidez à vous y retrouver et relire une section qui vous a intéressée, voici un plan de l’article :
1) Qu’est-ce que la méthodologie Agile ?
2) Le Manifeste Agile, de quoi s’agit-il ?
3) Méthodes Agiles
4) Qu’est-ce que le Scrum ?
5) Waterfall vs Scrum : deux méthodes opposées
Bonne lecture !
1) Qu’est-ce que la méthodologie Agile ?
La méthodologie Agile est une approche qui permet de réaliser un projet en le découpant en petites parties.
L’idée est de parvenir au résultat final défini par les objectifs du projet par petits pas maîtrisés et pratiques.
Elle a été adoptée, en grande partie, dans les projets de développement de logiciels à cause de sa pragmatique qui est orientée sur le résultat et le produit final.
La méthodologie Agile allège de toute la lourdeur procédurale de la gestion de projet traditionnelle.
Cet allègement offre la possibilité aux équipes projets, spécialistes dans la réalisation du produit, de s’autogérer comme une chaîne bien huilée dans une unité de production.
La méthodologie Agile a été bâtie sur un ensemble de valeurs et de principes appelé le manifeste Agile.
2) Le Manifeste Agile, de quoi s’agit-il ?
Le manifeste Agile est une base fondamentale élaborée par 17 spécialistes de gestion de projet de développement de logiciels, pour définir les éléments clés de la méthodologie Agile.
Parmi ces dix-sept spécialistes, on retrouve les pères fondateurs des méthodes Extreme Programming et Scrum, qui font d’ailleurs partie des méthodes agiles.
Une organisation à but non lucratif a d’ailleurs été constituée pour gérer le manifeste Agile : l’Alliance Agile, ou en anglais « Agile Alliance ».
4 valeurs et 12 principes composent le dossier du Manifeste Agile. Cette composition se présente comme indiqué ci-dessous.
Les 4 valeurs du manifeste Agile
Les quatre valeurs du manifeste Agile se déclinent comme suit :
- La valeur humaine :
-
- L’homme est au centre de la méthodologie Agile : les interactions entre les acteurs du projet, le partage d’expérience, l’encadrement des débutants par les experts sont des aspects mis en avant, sans être cantonnés sur les contraintes technologiques et les procédures.
- Le chef de projet agile doit montrer à ses équipes qu’il est présent et disponible pour eux. Il doit les encourager et participer activement à la recherche de solutions quand un obstacle survient.
- Il faut aider sans juger, donner l’exemple au lieu de critiquer, motiver les plus forts à aider les plus faibles, etc.
- L’esprit d’équipe doit être développée dans la culture agile.
- La valeur qualité du produit :
-
- Le produit doit être entièrement fonctionnel selon toutes les spécificités exprimées par le client.
- Étant donné que la mise en œuvre se fait dans un cycle de développement itératif, chaque livraison d’une partie du logiciel doit présenter un module fonctionnel
- Le but est de rester focus sur le respect des deadlines de la livraison continue, en ne rédigeant que les livrables documentaires les plus nécessaires.
- La valeur communication au client :
-
- L’adhésion du client doit être maintenue pendant tout le cycle de développement, en le gardant informé des décisions prises en amont, et en aval de chaque cycle
- Cette communication doit primer sur les exigences contractuelles liées au projet
- Cela contribue à s’assurer de la satisfaction totale du client à la livraison du produit final.
Cela veut dire qu’il faut s’assurer que le client a bien compris la démarche agile, et qu’on a validé avec lui les différents paramètres de la gestion agile du projet que sont : les délais de livraison, le découpage des modules, le découpage de l’échéancier, etc.
- La valeur adaptation au changement :
-
- L’élément maître de la culture agile est la capacité à s’adapter au changement, et aux demandes de modification du client
- Le projet doit être mené dans une gestion agile, en s’auto-adaptant aux réalités du moment.
- L’idée est de ne pas rester figer sur un plan prédéfini.
Toutefois, il ne s’agit pas de céder à tous les caprices du client.
Les demandes de modifications doivent être pertinentes et bien justifiées.
Une demande de changement pertinente peut être par exemple, une nouvelle fonctionnalité qui pourrait donner un avantage compétitif au client, dans son métier, et face aux concurrents de son domaine d’activité.
Aussi, il faut savoir qu’un projet est avant tout une opération qui a un début et une fin, les changements doivent donc être encadrés pour ne pas se retrouver dans une affaire à durée indéterminée.
Les demandes de changement peuvent aussi avoir un impact important sur la qualification financière initiale.
Il faut donc amener le client à être ouvert sur des avenants contractuels liés aux changements demandés.
Si on regarde l’exemple d’une construction de maison, toutefois qu’on modifie le plan initial, il y a un impact financier sur ce qu’il faut recasser et reconstruire, et ce qu’il faut ajouter. C’est la même chose avec un logiciel.
Personnellement, je ne suis pas très porté sur des demandes de changement inopinées.
En mettant en face, les coûts générés par ces demandes, cela peut aider à mieux encadrer ces demandes.
Cas pratique d’application des 4 valeurs agiles :
Considérons un projet de développement d’un progiciel d’entreprise (ERP).
Un progiciel est un super logiciel qui couvre plusieurs fonctions dans l’entreprise comme la comptabilité, la gestion de stock, la gestion des ressources humaines, la gestion budgétaire, etc.
L’idée est de permettre d’avoir une gestion coordonnée de toutes les activités de l’entreprise dans un seul outil.
Cet exemple pratique va porter sur la mise en œuvre d’un progiciel en gestion agile.
On va donc préparer l’organisation avec les quatre valeurs du manifeste agile.
Mais avant, il faut préparer l’organisation agile, dès la phase de conception du progiciel.
Cela veut dire qu’il faut définir le noyau du logiciel qui va comporter les fonctions centrales, puis définir les différents modules qu’on va greffer au fur et à mesure, dans un processus itératif d’intégration continue.
- Pour la valeur humaine
Il faut organiser les différentes sous-équipes projet avec les besoins métiers, les besoins fonctionnels et les exigences techniques.
Par exemple, définir une sous-équipe pour le module RH qui va être découpée en plusieurs sous-groupes :
- Sous-groupe des professionnels RH : ceux qui définissent et valident les fonctionnalités de ce module. Je recommande d’ouvrir la composition de ce sous-groupe aux acteurs du projet chez le client. C’est un sous-groupe mixte composé des acteurs MOA et MOE ;
- Sous-groupe des développeurs : ceux qui réalisent le module ;
- Sous-groupe des testeurs : ils valident techniquement et fonctionnellement le module. Ce sous-groupe peut-être constitué d’informaticiens et de professionnels du métier.
- Pour la valeur qualité du produit
Tous les modules du progiciel doivent être de bonne qualité.
Pour cela, il faut s’assurer que le sous-groupe des professionnels métiers a défini un cahier de tests du module, en amont. Et donc, le module livré doit être testé selon ce cahier.
Les tests fonctionnels réalisés avec les professionnels du métier garantissent d’une meilleure qualité du produit obtenu.
- Pour la valeur communication au client
Il faut créer des cadres d’échanges dynamiques avec le client. Il peut s’agir de réunions bi-hebdomadaires sur la revue de progrès du projet.
Je recommande aussi d’organiser des ateliers techniques avec le client sur l’organisation projet, et la conception technique et fonctionnelle de chaque module.
- Pour la valeur adaptation au changement
Il faut savoir s’adapter aux changements, et se préparer à prendre en compte les demandes de changement du client.
Pour cela, il faut préparer un dispositif de recueil, d’analyse et de planification des changements. Les demandes de changement doivent transiter dans ce dispositif avant d’être validées.
Les 12 principes du manifeste Agile
Les principes de base du manifeste Agile, ou tout simplement principes agiles sont les éléments qui définissent l’organisation projet agile. Il s’agit de :
1. Comprendre que la satisfaction du client est le gouvernail du projet ;
2. Recevoir les demandes de changements du client et planifier leur intégration dans la suite du projet ;
3. Garantir une livraison continue de modules fonctionnels du logiciel ;
4. Garder un contact rapproché avec le client pendant tout le cycle du développement itératif ;
5. Maintenir et entretenir la motivation des membres de l’équipe projet. Cela peut passer par leur exprimer votre confiance en eux pour atteindre les objectifs assignés ;
6. Valoriser la communication orale, les interactions chaleureuses humaines pour la communication entre les différents acteurs du projet. C’est une approche directe pour poser une question ou partager une idée ;
7. Mesurer la progression du projet avec le taux de modules fonctionnels et mis en exploitation. Le niveau d’avancement du projet est donc évalué sur la base des modules fonctionnels et non de l’échéancier ou du taux de consommation du budget ;
8. Produire périodiquement du résultat concret. En effet, travailler en mode agile exige de garder un rythme continu d’activités pour assurer une livraison continue des composants fonctionnels du produit attendu ;
9. Veiller à la qualité de toutes les livraisons tant sur les aspects techniques que sur les aspects fonctionnels ;
10. Rester simple dans l’organisation et le travail. Il s’agit en fait de réduire au maximum toutes les activités superflues qui ne sont pas directement liées à la production du résultat ;
11. Comprendre que le brainstorming intra-équipe est productif sur les phases de conception du cycle de développement itératif dans la méthode agile ;
12. Garder la dynamique d’amélioration continue dans l’organisation du projet, pour rester efficace et efficient. Cela demande une remise en question, à la fin de chaque cycle pour évaluer ce qui a bien marché, ce qui a flanché.
Ces principes construisent la culture agile et permettent de cultiver les pratiques agiles.
En effet, il faut comprendre que la méthodologie Agile a généré toute une culture de pratiques agiles avec une organisation bien huilée.
3) Méthodes Agiles
Il existe plusieurs méthodes agiles autour de la méthodologie Agile.
Il faut déjà comprendre qu’il existe une différence entre méthode et méthodologie.
Dans le cas d’Agile, la méthodologie peut se définir comme l’ossature principale et les méthodes sont des pratiques spécifiques qui en découlent.
Parmi les méthodes agiles, les plus connus, on retrouve les 4 méthodes suivantes qui sont les plus usuelles dans la gestion de projet informatique relatif à la programmation logicielle.
a) Crystal Clear : c’est une méthode agile élaborée par Alistair Cockburn, diplômé de l’université américaine Case Western Reserve, et l’un des 17 signataires du manifeste Agile. Les particularités de la méthode agile Crystal Clear sont :
- la facilité d’adaptation à chaque projet, selon le contexte, les objectifs, la taille et l’envergure du projet ;
- l’organisation de l’équipe de développeurs en sous-équipes de 17 personnes maximum, avec à la tête un développeur plus expérimenté pour coordonner les travaux ;
- ces sous-équipes sont installées dans un espace de travail commun, qui facilite la communication osmotique, et l’accès aux expertises des uns et des autres ;
- les sous-équipes doivent produire des résultats exploitables tous les mois, au minimum et trois mois au maximum
b) Kanban : contrairement, à la plupart des méthodes agiles, la méthode Kanban n’est pas né dans le milieu de la programmation informatique, mais plutôt dans l’industrie automobile avec Toyota, dans les années 50.
Sa particularité est de présenter visuellement les tâches faites, celles en cours et celles qui devraient être effectuées dans les prochains délais.
Le but de la méthode est de ne pas crouler les équipes sous le poids de l’ensemble des tâches relatives à un projet, mais de ne mettre le focus que celles à faire dans une courte période de temps.
c) eXtreme Programming (XP) : c’est une méthode qui met le focus sur la programmation, la réalisation du logiciel en elle-même, plutôt que les aspects organisationnels de la gestion projet.
La méthode agile XP a été élaborée et promue par trois informaticiens américains : Ken Beck, Ward Cunningham et Ron Jeffries.
d) Scrum : Scrum est la méthode agile la plus adoptée pour la programmation de logiciels. Et pour cause, il définit des objectifs à atteindre dans un court délai.
Nous allons décrire dans le chapitre suivant le travail en mode agile avec la méthode Scrum.
4) Qu’est-ce que le Scrum ?
Fondamentaux du Scrum et principes
Scrum est une méthode agile qui a évolué vers un Framework de développement de logiciels.
Toutefois, vu son efficacité avérée, c’est une méthode qui a été adoptée dans d’autres domaines tels que l’aéronautique et le génie civil.
Le principe de Scrum est de se fixer un objectif SMART à atteindre dans un temps court.
Ce timing est désigné par « Sprint », qui renvoie à la vitesse la plus poussée qu’un athlète prend pour achever les derniers mètres de sa course.
La durée d’un Sprint Scrum peut varier de quelques heures à quelques semaines.
Il est recommandé de fixer la durée maximale d’un sprint à un mois, pour vraiment rester dans le concept agile.
Le concept de Scrum s’appuie sur la méthode du Time boxing ou gestion par blocs de temps.
Les 3 rôles du Scrum ?
La méthode Scrum propose une organisation des ressources humaines en 3 rôles, que sont :
- Product Owner : c’est un rôle qui désigne le directeur du projet. Celui qui valide les orientations stratégiques et détermine les priorités dans l’élaboration du processus scrum. Il répond à la question : « par quoi, commence-t-on ? ».
- Scrum Master : c’est un membre de l’équipe de développement qui peut être considéré comme chef d’équipe, sans toutefois avoir une position de supérieure hiérarchique. Il joue plus le rôle de facilitateur et de modérateur au sein de l’équipe, pour aider les uns et les autres à avancer.
- Membres de l’équipe de développement : ce sont les développeurs qui vont réaliser le produit, pendant les différents sprints.
Artefacts Scrum
Les artefacts Scrum renvoient aux éléments à manipuler par l’homme pendant le sprint. Il s’agit notamment du :
- Product Backlog : c’est le cahier de description des spécifications techniques et fonctionnelles du sous-produit à réaliser sur un sprint. Mais il arrive d’avoir plusieurs product backlogs sur un seul sprint.
- Sprint Backlog : c’est la liste des tâches à réaliser pendant le sprint scrum. Il est déduit du product backlog. Le sprint backlog peut être considéré comme le cahier des charges du sprint.
- Product Increment : le product increment est l’ensemble des product backlogs sur un ou plusieurs sprints. On peut aussi le décrire comme étant le résultat cumulatif du produit obtenu, après une série de sprints.
- En savoir plus sur les artefacts Scrum
Cérémonies ou rituels Scrum
Dans le processus agile Scrum, il y a des activités clés qui consistent à se réunir en équipe pour discuter sur des aspects importants du projet. Ces activités sont désignées par cérémonies Scrum ou rituels Scrums.
Il existe quatre rituels Scrums sur un sprint :
- Sprint Planning Meeting : c’est la réunion de planification du print qui passe en revue Product Backlog et Sprint Backlog.
- Daily Scrum : c’est le briefing journalier, qu’on peut tenir en début de journée, ou en fin de journée pour faire, de façon succincte, le point sur les priorités du jour.
- Sprint Review : c’est une revue de sprint qui fait un point global sur les actions menées pendant le sprint, les résultats obtenus et les problèmes rencontrés. Il est ouvert aux autres parties prenantes du projet, et pas seulement restreint à l’équipe projet.
- Sprint Retrospective : c’est la réunion bilan à la fin du sprint, pour tirer les bonnes leçons sur ce qui a marché, et sur ce qu’il faut améliorer.
KPI’s Scrum : les indicateurs de performance Agile Scrum
Les indicateurs de performance sont des éléments de suivi d’une activité.
Dans le cas du Scrum, il existe plusieurs indicateurs pour évaluer les performances des équipes : comme “la vélocité de l’équipe”, la qualité du produit : comme les “bogues en production”, ou encore les capacités de prédiction sur les délais.
Scrum et Kanban : quelle différence ?
Les méthodes agiles : Scrum et Kanban sont assez proches, en ce qu’elles mettent toutes les deux, la notion de temps comme élément central.
Cependant, la méthode Kanban oriente vers la visualisation des tâches et leur organisation dans un espace-temps donné.
Le but est de réguler le flux d’informations pour permettre aux équipes de rester concentrés sur la production d’une petite partie du produit final attendu.
La méthode scrum va plus loin en fournissant des outils de gestion pour affecter des tâches aux acteurs du projet.
Ainsi, Scrum permet d’avoir une cartographie claire entre tâches et acteurs, dans le temps.
La méthode kanban reste toutefois, plus aisée à être adoptée pour d’autres secteurs d’activités autres que la programmation informatique.
5) Waterfall vs Scrum : deux méthodes opposées
Le Waterfall ou modèle en cascade est une méthode de gestion de projet, similaire aux méthodes agiles sans en être une.
La méthode Waterfall découpe le projet en une série de phases successives que sont généralement l’expression du besoin et son analyse, la conception, la réalisation, les tests de validation et la mise en service.
Comment choisir entre Waterfall et Scrum
Il faut déjà comprendre qu’il n’y a pas de meilleure méthode.
Tout dépend du caractère du projet, et même des exigences des parties prenantes.
Les méthodes agiles comme Scrum correspondent à la philosophie suivante : « Un gros problème est la somme de plusieurs petits problèmes. Résolvez chacun des petits problèmes, et vous aurez le gros problème. »
Dans cette approche, le client reçoit des résultats partiels de façon continue, sur son produit. Il est orienté sur le résultat.
Le Waterfall, renvoie aux questions procédurales qui apportent une garantie sur la qualité du produit.
En fait, le Waterfall répond beaucoup plus à la question :« comment on le fait ? », plutôt qu’à la question « qu’est-ce qu’on fait ?».
On se retrouve avec la balance :
À mon avis, le critère déterminant qui doit primer sur comment choisir entre Waterfall et Scrum, ce sont les attentes du client.
Par exemple, avec un client trop pressé sur les atteintes de son résultat, il est mieux d’aller en agile. En revanche, un client engagé dans une démarche qualité serait plus réceptif à la gestion Waterfall.
Conclusion
Dans cet article, je vous ai présenté la méthodologie Agile, et plus particulièrement la méthode scrum avec tout ce qui en découle.
Plusieurs méthodes ont été générées à partir de la méthodologie agile, qui sont qualifiées de méthodes agiles.
Chacune de ces méthodes a ces spécificités, mais elles restent toute adoptables à chaque type de projet, et pas seulement dans l’industrie de l’informatique.
Vos retours d’expérience sur les méthodes agiles seront les bienvenus en commentaires.
Si vous cherchez à aller plus loin dans votre stratégie d’organisation de vos projets et de votre entreprise, nous avons conçu une formation sur la gestion d’entreprise.
Commentaires