Le manifeste agile est une déclaration rédigée par des développeurs en 2001 qui avaient pour objectif de révolutionner les processus de développement de logiciels.
De par leur expérience, ils ont convenu de 4 valeurs et 12 principes pour le développement en mode agile.
Dans cet article, je vais vous aider à interpréter ce qu’il faut retenir de ces valeurs et préceptes, et nous verrons comment l’appliquer pour votre projet.
Qu'est-ce que le Manifeste Agile ?
La notion de manifeste agile sous-entend l’idée d’une déclaration formelle.
On comprend qu’il s’agit de la représentation d'un idéal à atteindre.
Il s'agit du fruit d’une rencontre entre développeurs logiciel qui se sont réunis dans l’intention de partager leurs expériences.
Il en est résulté une synthèse, courte et impactante, sur les essentiels d’un projet réussi.
Son objectif est de cadrer la pratique agile avec 4 valeurs et 12 principes.
Voyons chacun de ces valeurs et principes agiles plus en détails.
Les 4 valeurs agiles
“Nous découvrons comment mieux développer des logiciels par la pratique et en aidant les autres à le faire.“
Extrait du Manifeste Agile.
Il définit la méthode à suivre grâce à 4 valeurs agiles :
1) Les individus et les interactions plus que les processus et les outils
Qui construit la valeur d’une entreprise, qui crée les produits ? Ce sont bien les équipes.
Une entreprise avec des équipes passionnées sera une entreprise à succès.
Encore plus, si elle évite l'obsession des processus et n'utilise que ceux jugés pertinents.
Dans une interview de 1995, Steve Jobs explique que lorsque les entreprises grossissent, elles essaient de reproduire leur succès en se reposant sur les processus.
Cependant, les processus ne sont pas magiques et ne remplacent pas le contenu.
Des équipes engagées et passionnées sauront créer un produit de valeur et le contenu pour convaincre.
2) Des logiciels opérationnels plus qu’une documentation exhaustive
Ce qu’il faut comprendre ici, c’est que la documentation est essentielle.
Pourtant, une équipe de développement devrait se concentrer sur la production de fonctionnalités et non sur la rédaction de documents.
Avec les méthodes de gestion de projet classiques, les chefs de projet peuvent passer des heures à mettre à jour des présentations ou des calendriers.
La méthode Agile permet d’avoir des modèles de documents, qui sont toujours les mêmes, qui se complètent rapidement avec l’essentiel des informations.
On trouvera deux sortes de documentation pour le développement Agile :
- La documentation sur les exigences du produit telle que la vision produit, la roadmap produit, les besoins utilisateurs et les spécifications fonctionnelles.
- Les spécifications techniques qui regroupent la documentation de type architecture (logicielle ou matérielle), les procédures d’installations etc.
3) La collaboration avec les clients plus que la négociation contractuelle
La culture Agile demande de placer les utilisateurs au centre du processus de création de produit.
Les intégrer à chaque itération, et donc à toutes les phases de développement, permet de récolter leurs retours.
Les feedbacks sont un aspect essentiel de la construction de produits de valeur.
Avec les méthodes traditionnelles de gestion de projet, le moindre changement budgétaire, fonctionnel ou dans les délais, nécessitent de revoir totalement le projet.
Elles incitent à fortement négocier avec le client.
Avec la méthode Agile, il est facile de faire des modifications dans un produit.
La collaboration est simplifiée.
4) L’adaptation au changement plus que le suivi d’un plan
La dernière valeur du manifeste agile est l'acceptation des demandes changements même tard dans le développement du produit.
Les approches agiles de planification et de hiérarchisation permettent aux équipes produit de réagir rapidement au changement.
La flexibilité des approches agiles augmente la stabilité du projet.
En effet, le changement dans les produits agiles est prévisible.
Si de nouveaux événements adviennent, l’équipe produit intègre ces modifications dans les développements en cours.
Tout nouvel élément devient une possibilité d’apporter une valeur ajoutée au lieu d’un obstacle à éviter, donnant aux équipes de développement une plus grande chance de succès.
Les 12 principes agiles
En plus des 4 valeurs agiles fondamentales, le Manifeste Agile décrit 12 principes de l'agilité.
Ils vont nous offrir des exemples concrets de la manière dont un produit Agile doit se construire.
1) Livrer de la valeur au client
En raccourcissant le temps entre le cadrage et le début des développements, on raccourcit aussi le temps avant l’utilisation des fonctionnalités.
Le fonctionnement en itérations permet de délivrer plus vite le produit aux utilisateurs.
2) Intégrer les demandes de changement
Pour le Manifeste Agile, le changement n’est pas négatif. Il est même positif. Il vaut mieux se tromper tôt et de réparer ses erreurs rapidement que de se rendre compte trop tard que le chemin emprunté n’était pas le bon.
3) Livrer fréquemment une version opérationnelle
Si vous souhaitez adopter le Manifeste Agile, vous devrez abandonner certaines mauvaises habitudes telles que graver un diagramme de Gantt pour une durée d’un an sur le marbre.
Découper votre produit en petits morceaux et vos développements en itérations courtes de deux à trois semaines.
À la fin de chaque itération, livrez les nouvelles fonctionnalités développées et testez-les.
4) Assurer une coopération entre le client et l’équipe
Cela peut sembler difficile au premier abord. En effet, c’est comme si les deux parlaient deux langues différentes.
Dans un sens, c’est le cas.
Mais l’agilité permet de construire une sorte de pont entre les deux parties, leur permettant de se comprendre.
L'équipe et le client doivent s’entendre, échanger et travailler ensemble.
Certains outils et “rituels” facilitent cette collaboration.
Apprenez davantage sur comment rendre vos projets plus agile.
5) Réaliser les projets avec des personnes motivées
La confiance mutuelle est un point essentiel du Manifeste Agile. En d’autres termes, le management d’une équipe agile doit se baser sur la transparence. Le micro-management, ici, est à bannir.
Contrôler étroitement une équipe de développeur ne va ni les engager, ni les motiver.
Je vous conseille de les laisser faire ce qu’ils savent faire de mieux : développer.
L’agilité ne veut pas non plus dire aucun contrôle. Cela signifie qu’une équipe s’auto-organise. Dans une équipe agile, chacun a un rôle précis et le rôle de manager n’en fait pas partie. Il devra rester un peu à l’écart et s’appuyer sur les bons KPIs et les résultats des itérations pour mesurer le succès.
6) Privilégier le dialogue en face à face
La rédaction de documentation, les résumés de réunions, les présentations prennent du temps et diminuent la productivité d’une équipe Agile. Il n’y a rien de plus efficace que d’avoir une équipe travaillant sur le même produit dans un même espace de travail.
Les membres peuvent alors se poser directement les questions, obtenir les réponses dans la seconde.
D’autant plus qu’en posant ses questions dans un open-space, sans même prêter attention, chaque membre aura conscience des problématiques que son voisin rencontre.
7) Mesurer l'avancement sur la base d'un produit opérationnel
Vous ne mesurez pas les progrès en cochant les tâches et en vous déplaçant sur votre calendrier, mais par le taux d’utilisation des fonctionnalités par vos utilisateurs.
L’objectif du produit n’est pas le processus, c’est sa valeur. Le processus est ce qui vous permet de l’atteindre.
8) Faire avancer le projet à un rythme soutenable et constant
La raison de découper un produit en petites tâches est de garder vos équipes motivées.
Si vous travaillez sur un projet pendant une longue période, vos équipes rencontreront une lassitude. C’est inévitable.
Ne surchargez pas non plus l’équipe avec trop d’heures supplémentaires. Cela aura un impact sur la qualité de votre projet.
9) Contrôler l’excellence technique et à la conception
Que ce soit dans le code ou dans la méthodologie, la rigueur va favoriser la construction d’un produit de valeur.
Assurez-vous de bien respecter le Manifeste Agile.
N’hésitez pas à utiliser le Cadre Scrum pour vous aider à développer des produits complexes.
10) Minimiser la quantité de travail inutile
Si votre objectif est de produire rapidement un produit fonctionnel, il faut veiller à ne pas se noyer sous les tâches complexes et inutiles. Gardez vos documentations simples, ne vous embarrassez pas de réunions parasites.
11) Construire le projet avec des équipes auto-organisées
Le Manifeste Agile favorise la responsabilisation des équipes.
Je vous conseille de donner aux équipes l’autonomie d’agir de manière indépendante. Ils pourront alors prendre des décisions rapidement en cas d’imprévus.
En fait, ils peuvent tout faire avec une plus grande agilité parce que vous leur avez donné la confiance nécessaire pour agir. Une équipe responsabilisée est une équipe qui fera de son mieux pour atteindre son objectif.
12) Améliorer constamment l'efficacité de l'équipe
Le dernier des 12 principes du manifeste agile est l'amélioration continue de l'efficacité.
Ce dont vous avez besoin, c’est d’un groupe en constante évolution, constamment engagé et à la recherche de moyens d’améliorer la productivité.
En conclusion
Que vous travailliez en agile ou pas, les principes et valeurs du Manifeste Agile vous permettent d’enrichir votre boite à outils pour gérer vos projets plus efficacement !
Vous sentez-vous prêts à les appliquer ?
N’hésitez pas à me dire en commentaire lequel est, pour vous, le plus compliqué à mettre en place !