L’Agile : un atout puissant pour des projets réussis

Image de Ethan Perret

Ethan Perret

7 minutes de lecture
Bien que son nom ne soit pas nouveau, l'Agile continue d'alimenter les débats : pour ou contre ? Quels sont ses avantages, et ses limites ? Quelques faits pour mieux l'appréhender !

Table des matières

Qu’est-ce que l’Agile ? 

On a l’habitude d’entendre que l’Agile est une méthode de gestion de projet, mais ce n’est pas aussi simple que ça. L’Agile, si nous parlons uniquement de lui, c’est un manifeste qui donne des valeurs et des principes à respecter, c’est une culture à s’approprier. 

Avant de se lancer dans le dur, un peu d’histoire, vous ne m’en voudrez pas j’espère 😅. Cela nous permettra de comprendre pourquoi l’Agile a vu le jour et nous comprendrons mieux son application. 😎 

Naissance de l’Agile

Tout part, ou presque, d’un groupe de développeurs qui, dans le début des années 2000 se sont rassemblés avec un objectif en tête : Comment rendre le processus de développement de logiciels plus performant ?  

Pourquoi ont-ils fait cela ? Ils avaient tous rencontré les mêmes problématiques dans les méthodes de développement dites « traditionnelles » ou « Waterfall » :

-Un temps de développement trop long par rapport à l’évolutivité du marché ultra rapide. 

-Un manque de flexibilité par rapport aux besoins changeants des clients. 

-Un manque de visibilité pour le client sur le développement de SON produit. 

Ce qui en découle ? des clients frustrés d’avoir une solution qui ne correspond pas à leurs attentes, et souvent en retard par rapport au marché, qui lui, n’a cessé sa croissance. 

Face à ces défis, un groupe de développeurs décide de se retrouver lors d’un week-end au ski. Oui, vous avez bien lu, un week-end au ski 😄 ! Ils ont pris le temps de réfléchir ensemble à une solution tout en profitant de la neige et du bon temps, il faut savoir lier l’utile et l’agréable 😉 ! C’est dans ce cadre qu’est né le Manifeste Agile, un document fondateur qui définit les principes de l’Agile. Ce manifeste n’a cessé d’évoluer et de s’enrichir au fil des années, s’adaptant aux nouveaux défis se présentant. 

Agile VS Waterfall

Pour mieux comprendre les enjeux dans la pratique, revenons un peu sur les différences entre Agile et Waterfall.

agile vs waterfall

Comment fonctionne une gestion Waterfall

La méthode de gestion plus classique est aussi appelée Waterfall car les tâches sont gérées en cascade, c’est à dire les unes à la suite des autres. Cette méthode de gestion plus ancienne se déroule ainsi :

  • Découverte des besoins client
  • Rédaction du cahier des charges
  • Estimation du planning et du budget
  • Démarrage du développement
  • Implémentation des tests – recettage
  • Déploiement du projet
  • Maintenance pour corriger les éventuels bugs.

Cette méthode éprouvée a un côté très rassurant dans le fait que le produit fini est clairement décrit, de même que les délais et les coûts sont estimés selon un objectif de résultat.

Dans les faits, sa structure stricte et son organisation par « paliers » de tâches peuvent entraîner un manque de souplesse, particulièrement handicapant quand il s’agit de projets informatiques ou web. Dans ces métiers, l’environnement marché a tendance à évoluer tellement rapidement, que le fait d’avoir à l’avance une image précise du projet fini n’est pas un avantage !

Prenons un exemple pour illustrer ces problématiques : 

Imaginons un projet de développement d’application ! Suite à la validation du cahier des charges et du budget auprès d’une agence de développement, la production est lancée ! Un an plus tard, le client reçoit enfin son produit…

Et la déception est grande. Le produit livré ne correspond pas à ce qu’il avait imaginé. Mais pourquoi ? Avec uniquement un cahier des charges pour guide, les développeurs n’ont pas pu saisir chaque petit détail, chaque attente précise du client. Pendant cette année, les besoins du marché ont évolué à une vitesse fulgurante, rendant le produit partiellement voire complètement obsolète. Et le client n’a eu que très peu de visibilité sur l’avancement des « travaux ». En outre, le manque de flexibilité dans le processus aurait empêché toute adaptation en cours de route aux besoins changeants du client.

Quelles améliorations sont apportées par l’Agile ?

Pour pallier les manques de souplesse et de réactivité, la gestion de projet dans un cadre de travail Agile est organisée autour de « sprints » ou d’itérations d’environ 1 ou 2 semaines qui découpent la phase de développement. Chaque sprint contient des fonctionnalités prioritaires à développer, définies avec le client à la fin du précédent.

Cette gestion permet :

  1. De développer des fonctionnalités de façon indépendante les unes des autres, contrairement au Waterfall, qui impose qu’une tâche soit terminée avant de pouvoir en commencer une autre;
  2. De délivrer à la fin de chaque sprint un produit fonctionnel, même s’il n’est pas encore complet, afin que le client teste en temps réel les avancées;
  3. De pouvoir modifier les priorités ou d’intégrer de nouvelles fonctionnalités au produit souhaité en cours de développement, sans attendre la toute fin pour que le client s’aperçoive de ce qui lui convient ou non.

Les avantages de l’Agile

Pour schématiser, les avantages de l’Agile par rapport au Waterfall peuvent être résumer comme ci-dessous :

Afin d’être parfaitement clair, 3 précisions pour compléter le schéma :

  • En Agile, il y a tout de même de la planification :
    • En démarrage de projet, les fonctionnalités à développer sont estimées et classées par ordre de priorité avec le client. Le prestataire propose en fonction un nombre de sprints pour les développer.
    • Avant chaque sprint, le prestataire revoit avec le client les fonctionnalités à inclure dans ledit sprint : sont-elles toujours les mêmes, et les priorités ont-elles changé ?
  • Le prix est fixe pour chaque sprint, ainsi que sa durée, entre 1 et 4 semaines selon la complexité des projets.
  • Le temps de développement est connu dès le départ, bien entendu. Si le client ajoute ou modifie des fonctionnalités en cours de route :
    1. On revoit avec lui les priorités afin de redéfinir le périmètre du projet et d’éviter d’éventuelles hausses de budget.
    2. Si toutefois le client souhaite intégrer toutes les fonctionnalités de départ ainsi que les nouvelles, il est possible de revoir le nombre de sprints à la hausse.

Pour illustrer ces différences en reprenant un exemple concret, imaginons cette fois un projet de création de jeu vidéo !

Au lieu de tout planifier en une seule fois, vous divisez le projet en petites étapes itératives appelées « sprints ». Pour commencer, vous développez un prototype basique du jeu avec un seul niveau et des fonctionnalités de base. A chaque sprint, vous ajoutez de nouvelles fonctionnalités et de nouveaux niveaux en fonction des retours des testeurs. 

À chaque fin de sprint, une nouvelle version du jeu est livrée pour tester les nouvelles fonctionnalités et donner des retours. Cette approche itérative et collaborative permet de s’adapter rapidement aux besoins et aux préférences des joueurs. Pas besoin de tout planifier dès le départ, car le développement peut s’ajuster au fur et à mesure, en répondant directement aux retours des testeurs. 

L’agile entre pratique et théorie 

Le fonctionnement de l’Agile 

Pour résumer, l’Agile est une philosophie de travail dont les contours sont définis dans le manifeste de 2001.

Pour faciliter sa mise en œuvre opérationnelle, des framework (ou cadres de travail) en découlent. Parmi les plus connus, on retrouve SCRUM, KANBAN, XP et SCRUMBAN. Ces Framework permettent aux équipes de travailler de manière plus flexible et collaborative, tout en s’adaptant continuellement aux besoins changeants du marché et des clients. 🤸‍♂️  

Quel que soit le Framework utilisé, l’objectif est de respecter 4 valeurs fondamentales de l’Agile :

  • « Les individus et interactions plutôt que processus et outils » : L’accent est mis sur les relations humaines et la communication, plutôt que sur les règles et les outils rigides. 
  • « Des logiciels opérationnels plutôt que documentation exhaustive » : Plutôt que de passer des mois à rédiger des documents détaillés, l’Agile privilégie la création de logiciels fonctionnels et utilisables dès que possible. 
  • « La collaboration avec le client plutôt que la négociation contractuelle » : L’implication du client à chaque étape du projet permet de s’assurer que les besoins réels sont bien compris et pris en compte. 
  • « Répondre au changement plutôt que suivre un plan » : Plutôt que de s’accrocher à un plan initial, l’Agile encourage à s’adapter aux changements et aux imprévus. 

L’objectif est d’avoir un cadre qui favorise la flexibilité, l’adaptabilité et la collaboration. C’est une façon de travailler qui permet d’obtenir des résultats concrets plus rapidement et de répondre efficacement aux besoins changeants. 

Les principes de l’Agile  

De ces quatre valeurs fondamentales découlent 12 principes suivis par les adeptes du Manifeste Agile. Nous n’allons pas tous vous les citer car nous préférons essayer de choisir ceux qui nous parlent le plus chez JUNR ! Même s’il a été difficile de faire un choix, voici les 4 qui ont obtenu le plus de voix :

« Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée. » 

« Accueillez 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. » 

« Réalisez les projets avec des personnes motivées. Fournissez leur l’environnement et le soutien dont elles ont  besoin et faites leur confiance pour atteindre les objectifs fixés. » 

« À intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence. » 

Pour les 12 principes au complet, vous pouvez suivre ce lien !

L’application de l’agile dans les entreprises contemporaines 

Si bon nombre d’entreprises se disent Agiles, il nous semblait important de mettre en garde sur les limites qui peuvent se poser !

Malheureusement, certaines entreprise, notamment parmi les plus grosses, se définissent comme Agiles pour un objectif d’image, plutôt que pour un réel objectif d’amélioration dans le processus de gestion de projet. Ainsi on se retrouve avec une mauvaise implémentation de l’Agile et le revers de la médaille apparait.

L’Agile appliqué à moitié peut être néfaste pour les équipes et donner une image peu reluisante aux clients, alors voici quelques indices pour repérer les red flags !

Lorsqu’une entreprise décide de passer à l’Agile, il faut réellement que son organisation soit modifiée, notamment en terme de management, pour en connaître les avantages. Les dirigeants doivent notamment être prêts à :

  • Moins exercer leur pouvoir de négociation
  • Réduire leur capacité de contrôle sur les équipes
  • Abandonner leur pouvoir de validation

Dans les cas bien trop fréquents d’intégration très partielle de l’Agile, les effets négatifs se font sentir directement : multiplication des réunions, perte d’autonomie des équipes, diminution de la confiance des équipes et baisse de productivité.

Dans les faits, on rencontre souvent des dirigeants qui pensent voir leur intérêt en implémentant des fonctionnements Agiles afin de mettre la pression sur les équipes en terme de délais, sans prendre en compte les autres principes du manifeste. Cependant la demi-mesure conduit à l’opposé des avantages de l’Agile et à l’insatisfaction des clients : il est primordial pour les entreprises souhaitant expérimenter un fonctionnement Agile de se faire accompagner par des experts en la matière, et d’en respecter la philosophie globale !

Conclusion 

l’Agile repose sur des itérations rapides et une collaboration étroite avec les parties prenantes. Ce cadre de travail permet des résultats concrets rapidement et une forte adaptation aux changements et aux retours client au fur et à mesure qu’ils surviennent. En fin de compte, le produit final obtenu correspond mieux aux attentes des utilisateurs et peut évoluer avec les besoins du marché 🚀

Il y a cependant des risques de dérives lorsque des entreprises ne l’implémentent que partiellement, afin notamment de tenter de tirer profits de la réactivité demandée, mais sans laisser l’autonomie ou la collaboration équipes développeurs/clients s’exercer ! Ce qui conduit à des insatisfaction tant en interne, que de la part des clients.

Afin d’aider à son déploiement opérationnel, il existe différents Framework sous-jacents à l’Agile, qui permettent de s’adapter au mieux à chaque organisation !

Chez JUNR il a été naturel de nous tourner vers l’Agile, qui est aligné avec notre vision et nos valeurs en terme d’organisation globale d’entreprise de management ! Et côté technique, ce cadre de travail nous permet de respecter la modularité que nous souhaitons dans tous nos projets : développer chaque fonctionnalité de façon indépendante des autres et livrer des outils digitaux scalable à des clients véritablement au centre des projets ! De plus, la réactivité de l’Agile est accrue grâce à la technologie Low Code : de quoi générer un maximum de rentabilité et de performance ! Et si vous voulez en savoir plus sur cette techno récente, encore assez méconnue, c’est par ici !

Et vous ? Êtes-vous prêt à rejoindre la team Agile ? 😎