#1.
Qu’est-ce que la méthode AGILE ?
La méthode Agile, dite Scrum, est une approche de gestion de projet de plus en plus connue et utilisée par de nombreuses entreprises.
Au départ, cette méthodologie a été créée pour le domaine du développement informatique mais aujourd’hui, elle a été adaptée à bien d’autres secteurs. C’est naturellement la méthode que nous employons pour gérer nos projets.
Peu importe votre domaine d’activité, si vous cherchez une nouvelle méthode de gestion de projet pour votre projet de développement informatique, nous vous conseillons la méthodologie Agile car nous en sommes pleinement satisfaits et sommes convaincus de son efficacité.
Pour décrire cette méthode, nous parlons davantage d’un état d’esprit, d’une philosophie ou d’une approche Agile plutôt que d’une méthodologie au sens stricte.
On l’oppose souvent à la méthode très répandue Waterfall, appelée également méthode en cascade, qui consiste à suivre le cahier des charges, clairement défini au début du projet, sans interaction avec le client jusqu’à la livraison du produit.
Cette méthode offre très peu de possibilités de changement contrairement à l’approche Agile qui prône la coopération avec les clients et des livraisons fréquentes du logiciel ou produit tout au long du projet.
#2.
Les valeurs et les principes
Le Manifeste Agile, rédigé par les experts qui ont créé ce courant, explique les valeurs et les principes. Cette approche valorise 4 aspects :
1) Les individus et leurs interactions plus que les processus et les outils.
2) Des logiciels opérationnels plus qu’une documentation exhaustive.
3) La collaboration avec les clients plus que la négociation contractuelle.
4) L’adaptation au changement plus que le suivi d’un plan.
Bien entendu, ce n’est pas parce que cette approche privilégie ces 4 valeurs qu’elle néglige totalement les autres. Il est évidement, par exemple, qu’il est nécessaire d’établir un contrat avec vos clients au début de vos projets.
Dans ce Manifeste, nous découvrons 12 principes qui découlent de ces 4 valeurs. Voici ceux que nous jugeons les plus pertinents :
Faire de la satisfaction de vos clients votre priorité :
Cela peut vous sembler évident mais c’est un principe élémentaire important à rappeler. Pour y parvenir, il faut inclure vos clients dans le processus de développement. S’ils sont impliqués dans le pojet, vous connaîtrez leurs ressentis et pourrez ajuster le projet (si besoin) pour les satisfaire à 100%.
Accueillir positivement les demandes de changements :
C’est le point fort de cette approche. Vos clients peuvent apporter des modifications au projet durant le processus de développement, ça leur permet d'obtenir le produit qu’ils désirent réellement.
Maintenir une collaboration permanente avec vos clients :
En coopérant et dialogant régulièrement, vous serez certains d’arriver au produit idéal.
Prêter une attention particulière à l’excellence technique et à la conception :
Vous vous en doutez, pour réussir un projet, vous devez utiliser les meilleurs outils possibles pour offrir à vos clients des services ou un développement de haute qualité.
Améliorer sans cesse vos processus pour optimiser les projets de vos clients :
C’est un principe très important de la méthode Agile. Prenez le temps de réfléchir régulièrement aux moyens à mettre en place pour être encore plus performants.
#3.
Comment ça marche ?
Planifier l’ensemble d’un projet relève souvent d’une mission impossible car des imprévus et des changements éventuels peuvent arriver en cours de route. Cette méthode est contre-productive.
C’est pourquoi nous vous conseillons la méthode Scrum (i.e. partie de l’approche Agile), qui préconise de découper le développement de votre produit ou le déroulement de votre projet en sous-projets, appelés sprints.
Cette méthode Scrum prévoit 3 rôles :
1) Le Product Owner : représente le client et explique ses souhaits/exigences aux développeurs ou personnes en charge du projet.
2) Le Scrum Master : s’assure que l’équipe respecte la méthode Scrum.
3) L’équipe de développement : les personnes en charge de la réalisation du projet et dans le domaine du développement informatique, les personnes qui développent votre produit.
La méthode Agile suit plusieurs étapes :
Product Backlog :
Le client, avec l’aide du Product Owner, rédige et hiérarchise une liste de toutes les fonctionnalités et exigences qu’il souhaite pour son produit. C’est une liste de tâches à exécuter et qui s’appelle Product Backlog.
La planification du sprint :
l’équipe de développement sélectionne les éléments à développer, les tâches du backlog à réaliser durant le sprint et estime le temps et le budget nécessaires.
Revue de sprint :
À la fin d’un cycle (sprint), l’équipe de développement présente les fonctionnalités au Product Owner qui donnera ses feedbacks ainsi que ceux du client qui aura également testé la version provisoire du produit et qui peut alors demander des changements à placer dans le sprint suivant. C’est une étape très importante puisqu’elle détermine la suite du projet. Une fois les objectifs du sprint atteints, vous pouvez passer au suivant jusqu’à ce que l’ensemble du produit soit développé ou le projet réalisé.
Rétrospective de sprint :
En fin de chaque sprint, l’équipe de développement et le Product Owner effectuent une sprint retrospective meeting. Cette réunion a lieu après la revue de sprint et consiste à faire le point dans le but de chercher quels points positifs renforcer et quels points négatifs améliorer pour la suite du projet.
Cette approche est flexible mais répond, tout de même, à certaines règles. En effet, une fois qu’un sprint a commencé, vos clients ne peuvent plus effectuer de changement de scope (i.e. périmètre du projet : ensemble des applications et modules à développer ou tâches à réaliser). Ils doivent attendre la fin du cycle pour voir les modifications souhaitées réalisées.
Au quotidien
Pour s’assurer du bon déroulement des projets, la méthode Agile préconise de commencer la journée par un daily stand-up, une réunion quotidienne durant laquelle les membres de l’équipe expliquent sur quoi ils vont travailler la journée et les difficultés éventuelles qu’ils pourraient rencontrer afin de trouver une solution. Fonctionner en équipe est, selon nous, la meilleure technique pour offrir des services de haute qualité.
#4.
Les avantages de la méthode Agile
Flexibilité :
Vous l’aurez compris, c’est l’avantage principal de cette méthode. Vous déterminez avec vos clients les fonctionnalités souhaitées ou les tâches à exécuter au début du projet et vos clients peuvent, en cours de route, apporter des modifications pour aboutir au meilleur résultat.
Qualité supérieure :
Le développement étant découpé en sprints, vos clients peuvent facilement adapter leur projet en fonction de leurs besoins et vous livrerez ainsi le produit qui correspondra parfaitement à leurs envies.
Meilleure relation client :
Avec cette approche, vos clients sont davantage investis dans leur projet. Vous restez disponibles et dialoguez régulièrement avec eux afin d’établir une relation de confiance nécessaire, selon nous, à la réussite d’un projet.
Délais respectés :
Il est plus facile d’établir et de respecter un planning et un délai de livraison en découpant le développement du produit, plutôt que de réfléchir au temps nécessaire pour le développer en une seule fois.
Meilleure gestion du budget :
Vous établissez un cahier des charges au début du projet avec un budget global et à la fin de chaque sprint, vous prévenez vos clients du budget déjà dépensé et le montant restant. Comme ça, il n’y a pas de mauvaise surprise à la fin et vos clients peuvent ainsi adapter le projet en fonction de leurs fonds disponibles.
#5.
Et chez nous ?
Nous avons décidé d’appliquer cette approche car elle correspond davantage à la réalité du terrain en ce qui concerne les imprévus et les changements dans le développement. De plus, elle permet d’établir une relation de confiance avec nos clients ce qui est primordial pour nous.
Afin d’appliquer cette méthode Scrum correctement, toute notre équipe a suivi une formation donnée par Jean-Marc Ledent, spécialiste Agile et coach pour les entreprises, pour apprendre les valeurs, les principes et le fonctionnement de cette méthode.
Nous recommandons vivement cette approche car elle offre une meilleure gestion de projet et de temps de travail, c’est bénéfique à la fois pour nos clients et pour notre équipe. Nous en sommes à 100% convaincus.