Les termes de philosophie Agile, de méthodes Agiles ou plus spécifiquement de méthode Scrum sont de plus en plus populaires lorsqu’on parle gestion de projet. Loin d’être de nouvelles tendances à la mode, les méthodes Agile se sont largement répandues cette dernière décennie mais leur élaboration remonte aux années 80-90.
Les méthodes Agile ont été conçues pour répondre aux besoins de flexibilité et de productivité devenus essentiels au succès des projets de développement web et informatique. En effet, l’essor des technologies digitales sur un marché de plus en plus concurrentiel ne permettait plus de rester sur les anciennes méthodes de type Waterfall (en cascade). Aujourd’hui, elles sont largement préférées par les développeurs.
Qu’est-ce que la philosophie Agile ?
Le terme de « philosophie Agile » est utilisé pour parler des méthodologies de gestion de projet axées « produit », contrairement aux méthodes traditionnelles qui vont plutôt se focaliser sur le « projet ». Cette nuance est importante, et fait toute la spécificité de l’esprit Agile.
L’intérêt n’est plus tant de respecter rigoureusement un cahier des charges que de livrer un produit conforme aux attentes du client et à la réalité du marché. C’est toute la problématique de l’Agilité, qui se veut une réponse aux changements culturels et aux bouleversements technologiques qui bousculent nos façons de faire depuis la fin du 20e siècle.
Chaque parti du projet va être impliqué dans la conception produit. Qu’il s’agisse du chef de projet, des développeurs mais aussi des clients et utilisateurs finaux. Cette ouverture à l’intervention des clients et des utilisateurs tests est ce qui ouvre, dans le cadre du projet Agile, à la prise de recul sur le produit.
Il ne faut pas croire pour autant que les projets en mode Agile ne sont pas structurés et ouvrent la porte à des sempiternelles modifications ou retouches clients. Cette mauvaise interprétation de la philosophie Agile pourrait laisser croire que cette approche serait finalement moins productive et moins rentable que les méthodes traditionnelles. Or, il n’en est rien.
La méthode Scrum : l’alliance de la flexibilité et de la productivité
Les cycles de production sont plus courts et permettent d’obtenir plus rapidement des premières fonctionnalités à tester. La méthode Scrum, très populaire dans les équipes de développement Agile, est un parfait exemple de la structure organisationnelle d’un projet agile.
La méthode Scrum repose sur un framework organisé en trois parties distinctes :
- Le Scrum Master : qui veille au respect des principes Scrum, à la communication d’équipe et à la productivité
- L’équipe : en charge du développement du produit, comportant généralement un effectif réduit pour faciliter l’interactivité et le savoir-faire
- Le Product Owner : qui a la charge de définir les fonctionnalités du produit et leur validation et les priorités dans les phases de développement. Il représente aussi le client.
L’équipe va donc fonctionner sur la base du sprint. Il s’agit d’un cycle d’itération très court, ne dépassant pas quelques semaines, pendant lequel l’équipe de développement va s’atteler à la conception d’une fonctionnalité définie selon les priorités établies par le Product Owner. Une itération en Scrum, ou sprint, fonctionne avec le déroulement suivant :
- Le sprint planning meeting : Sélection de la fonctionnalité prioritaire qui devra être livrée au client au terme du sprint
- La mêlée : Renouvelée chaque jour, la mêlée est une réunion d’une quinzaine de minutes tout au plus pendant laquelle les membres de l’équipe résument ce qu’ils ont fait la veille, leur planning du jour et les difficultés qu’ils rencontrent. La mêlée a pour but de conserver une vision claire de l’avancement du projet, et une meilleure coordination entre les techniciens.
- Le sprint review meeting : Clôturant le sprint, il s’agit d’une démonstration du livrable au client. C’est également l’occasion pour l’équipe et le client de faire un bilan du projet et de soulever des points d’amélioration.
Méthode Scrum : Quels bénéfices pour les équipes de développement ?
On voit rapidement ce qu’un projet développé en mode Agile peut apporter au client : plus rentable grâce à des cycles de conception plus courts, avec un effectif réduit et plus proche du projet, plus d’écoute et d’analyse de ses besoins et de leur évolution, la possibilité d’ajuster les objectifs par rapport à un marché ultra concurrentiel, etc.
Par ailleurs, un produit conçu en méthode Agile est par définition plus évolutif. Certaines fonctionnalités prévues, mais pas essentielles ou prioritaires peuvent être plus facilement mises en attente, et développées ou rajoutées après une période de rodage du produit, et analyse de son accueil par le public cible.
Quel profit y a-t-il, en revanche, pour les équipes de développement à travailler en méthode Scrum ? Le premier avantage est l’implication, qui permet aux équipes techniques de participer activement à l’évolutivité du projet. Une possibilité qui n’est pas possible avec les méthodes traditionnelles, à l’intérieur desquelles les équipes de développement répondent aux séquences statuées par le cahier des charges.
Les méthodes dites « en cascades » permettent peu d’interaction avec le client final, ce qui peut amener l’équipe à perdre de vue la réalité du besoin, puisqu’elles se basent sur une approche prédictive de ceux-ci. Cela crée un effet tunnel qui peut finir par déphaser les développeurs. Le client ne découvre le produit qu’une fois fini, alourdissant les processus de changement, lorsqu’ils sont acceptés.
L’avantage de présenter plusieurs livraisons est donc d’ajuster plus rapidement les défaillances, d’éliminer ou améliorer telle ou telle fonctionnalité, de rendre, en somme l’application plus « modulable ». Par ailleurs, le découpage en sprints facilite la productivité tout au long du développement : le projet est moins abstrait, les résultats sont plus vite quantifiables.
Les méthodes Waterfall en constante perte de vitesse
L’étude Chaos Report effectuée en 2012 par le Standish Group montre que le taux de succès (respect du budget et délais, du cahier des charges,…) des projets en cascade n’a fait que diminuer depuis 2009. En 2012, il était même passé à 14 %, contre 32 % en 2009. À la différence, les projets Agiles remportaient pour leur part 42 % de réussite.
Les changements économiques et sociaux expliquent l’épanouissement de la philosophie Agile à d’autres domaines que le développement et l’informatique. Les valeurs traditionnelles de hiérarchie, de fidélité à l’entreprise, n’ont plus autant de prise sur les nouvelles générations et le courant Agile donne l’opportunité à chaque rouage de l’entreprise d’apporter du sens à ses objectifs, de collaborer plus facilement tout en gagnant en autonomie.
- A lire aussi: https://blog.lesjeudis.com/waterfall-vs-agile
On reproche souvent aux méthodes itératives un manque de vision sur le long terme, contrairement aux méthodes séquentielles qui se projettent vers un objectif final. Ce serait mal comprendre l’intérêt des itérations. En effet, le bilan de fin de sprint permet de prendre du recul et d’anticiper sur la base de l’expérience acquise au fil des phases de test.
Les logiciels et applications évoluent d’autant plus vite aujourd’hui que de nombreux frameworks facilitent le développement à moindres coûts. L’accessibilité du marché accroit son évolutivité : aussi peut-il changer entre le moment de la rédaction du cahier des charges et le lancement du produit final.
C’est donc naturellement que des méthodes capables de réagir à ces évolutions constantes s’épanouissent au détriment des processus traditionnels. Grâce à des processus plus flexibles, ouvrant à la communication, les équipes de développement peuvent produire des produits digitaux innovants et cohérents avec l’état du marché au moment de leur lancement.
Êtes-vous un expert de la Philosophie Agile ? Découvrez nos offres d’emploi ou specifiquement Scrum!
Leave a Reply