Je vois de plus en plus d’offres d’emploi proposant des postes Scrum/Agile, et mélanger allègrement ces deux notions.
C’est courant de confondre ces deux notions pour des débutants en agilité, mais pas que. J’ai déjà eu des personnes ayant pratiqué Scrum depuis plusieurs mois qui m’ont posé la question.
Cela démontre une incompréhension sur ce qu’est Scrum d’un côté et Agile de l’autre. Confusion renforcée par de nombreux articles rédigés par des communicants et des rédacteurs web qui ne comprennent pas ce qu’est l’agilité.
Dans cet article, on va démystifier ensemble ce qu’est vraiment Scrum, et pourquoi Agile et Scrum ne sont pas la même chose.
Agile vs Scrum : Quelles différences ?
L’agilité (ou la méthode agile) est une philosophie provenant du manifeste agile, qui propose 4 valeurs et 12 principes pour une approche de gestion de projet légère et adaptative. Scrum est une méthode agile qui apporte le cadre de travail nécessaire pour maximiser la valeur apportée au client lors des sprints.
Pour l’expliquer autrement : Agile est un régime alimentaire, Scrum une recette.
Le manifeste agile décrit l’état d’esprit à avoir, mais n’indique pas quoi faire, ni comment le faire, contrairement à Scrum.
Voyons maintenant les différences qui existent entre Agile et Scrum :
Thèmes | Agile | Scrum |
---|---|---|
Définition | Agile est une philosophie de gestion de projet basée sur une approche itérative et incrémentale, et la satisfaction du client par la livraison de valeur ajoutée. | Scrum est l’une des méthodologies agile. Elle se base sur des principes empiriques de collaboration, d’auto-organisation et de priorisation par la valeur. |
Document officiel | Manifeste agile. | Guide Scrum. |
Utilisation | Tous secteurs d’activité. Adapté aux environnements complexes et soumis au changement permanent. | Idem. Bien adapté aux projets de développement de produits, logiciels & services. |
Processus itératif | Cycles de développement intératifs et incrémentaux, afin de rapprocher les livraisons. Nommés itérations. | Cycles de développement courts, de 1 à 4 semaines, nommés sprints. |
Durée d’une itération | Non définie. En fonction des besoins et de la méthode de travail choisie. | 1 à 4 semaines. |
Rôles | Laissés à la libre appréciation de l’équipe ou au choix de la méthodologie. | 3 rôles sont définis : le Scrum Master (garant du framework), le Product Owner (garant du produit) et l’équipe de développement. |
Valeurs & Principes | 4 valeurs & 12 principes définis dans le manifeste agile. | 5 valeurs, 6 principes et 3 piliers définis dans le guide Scrum. |
Ainsi, la méthode agile (ou l’agilité) est une philosophie invitant à repenser la manière de gérer des projets. Elle est officiellement née en 2001, lors de la rédaction du manifeste agile.
Scrum est une approche agile spécifique, qui répond en tout point au manifeste agile, à ses valeurs et ses principes. Cette méthode de travail permet de gérer des projets complexes et ayant beaucoup d’incertitudes grâce à l’adaptation constante au changement, l’auto-organisation de l’équipe, la transparence et une répartition claire des rôles et responsabilités.
On peut donc faire de l’agilité sans faire de Scrum. Mais appliquer Scrum sans être agile, c’est la catastrophe assurée.
Histoire de Scrum et de l’agilité
Pour la petite histoire, Scrum est apparu en 1995, lorsque Jeff Sutherland et Ken Schwaber ont commencé à tester de nouvelles manières de développer des logiciels. Le framework Scrum a ainsi été testé en conditions réelles sur de multiples projets, a été affiné, amélioré, pour en arriver jusqu’au guide Scrum version 2020.
Scrum a donc été testé et éprouvé sur le terrain, afin d’éliminer le superflu et ne garder que l’essentiel. C’est pour cela qu’on parle d’une approche empirique.
Jeff Sutherland explique d’ailleurs dans son livre « The art of doing twice the work in half the time » tout le processus de développement de Scrum, les principes sous-jacents de ce framework. Il livre également plusieurs études de cas chiffrées pour expliquer ce qui a fonctionné ou pas, et comment Scrum est né de manière empirique.
En parallèle, il y a eu d’autres initiatives de menées, ce qui a conduit 17 spécialistes du génie logiciel à se réunir en 2001 pour rédiger le manifeste agile, réunissant ces méthodes adaptatives autour de 4 valeurs et 12 principes.
Aujourd’hui, l’Agile regroupe de nombreuses approches telles que Kanban, Extreme Programming, Crystal Clear, Safe, Less, Lean, permettant de déployer l’agilité au delà du monde du développement logiciel.
Le concept a continué à se développer et on retrouve également de nouvelles techniques complémentaires aux méthodologies agiles comme Scrum :
- Le Lean Startup.
Lean Startup permet de définir le produit en amont de Scrum ou d’une autre méthodologie agile. - Le Management 3.0.
Le management 3.0 est une nouvelle approche du management d’équipe et d’organisation, faisant la part belle à l’humain, au management transverse et aux entreprises libérées. - Le DevOps.
Ce courant consiste à rendre le sujet de la livraison comme un non-sujet. Les équipes s’arrangent pour réaliser des livraisons, des intégrations et des déploiements continus et de manière automatisée.
Les particularités de la gestion de projet agile
La méthode agile est un processus de gestion de projet itératif et adapté au changement, organisé en cycle courts nommé sprints. Chaque sprint est un mini-projet. La méthode traditionnelle est un processus de gestion de projet séquentiel. Tout est défini à l’avance et cadencé dans le temps. Le changement n’y a pas sa place.
La méthode agile est souvent mise en opposition aux méthodologies de gestion de projet traditionnelles, dites prédictives. Ces deux approches diffèrent effectivement sur de nombreux points, mais elles disposent toutes deux de qualités et défauts.
Elle repose sur 3 piliers forts :
- Transparence.
Pour qu’un projet agile fonctionne, il est indispensable d’éviter les non-dits et de faire preuve de transparence, au sein de l’équipe projet, et vis-à-vis du client, avec qui l’équipe projet communique et collabore quotidiennement. On est transparent sur ce que l’on fait, sur ce que l’on souhaite faire ainsi que sur les difficultés que l’on rencontre. - Adaptation.
Un projet agile est en adaptation permanente, et est sujet aux changements. L’équipe projet doit s’adapter aux nouvelles demandes des utilisateurs ou des clients, aux changements de plan, à l’évolution du marché ou du contexte projet ou produit. Le périmètre du projet est donc variable et évolutif. L’utilisation des cycles itératifs courts appelés sprints permet ainsi de s’adapter rapidement au changement, et d’intégrer de nouvelles fonctionnalités d’un sprint à l’autre. - Inspection.
Chaque membre de l’équipe projet est responsable de la qualité finale du produit, et inspecte objectivement son travail et celui des autres. Le client inspecte également à la fin de chaque sprint (durée d’1 mois maximum) le travail réalisé, et donne son feedback.
Pour aller + loin : Dans cet article, je vous explique tout ce que vous devez savoir sur la méthode agile.
Les particularités du framework Scrum
Scrum est la méthodologie agile la plus populaire et la plus utilisée. 56% des équipes agiles utilisent Scrum, et 24% s’en servent en parallèle d’autres approches. (Source)
D’ailleurs, j’aimerais rectifier ce que je dis depuis tout à l’heure. Scrum n’est pas une méthodologie à proprement parler mais plutôt un framework, qu’on pourrait traduire par cadre de travail. ça a son importance.
Une méthodologie de gestion de projet comme PMBOK comporte plusieurs dizaines de processus, et doit être décrite en détails dans un livre de plusieurs centaines de pages. Le guide Scrum tient sur 15 pages.
Il ne décrit que le strict nécessaire pour réaliser un projet en mode Scrum. Beaucoup d’aspects ne sont pas abordés et laissés à la libre appréciation de l’équipe. C’est à l’équipe agile et elle seule de décider comment elle souhaite s’organiser. Elle peut ainsi décider de changer ses méthodes de travail à la volée si cela lui permet d’être plus efficace tout en restant en accord avec le guide Scrum.
C’est toute la beauté de Scrum. Mais c’est aussi ce qui en fait sa complexité, et qui crée de la confusion, notamment chez ceux qui proviennent du monde des méthodologies traditionnelles prédictives, où on a l’habitude d’avoir des processus et des méthodes de travail normées, définies et figées.
Pour aller + loin : Dans cet article, je vous explique quels sont les 5 valeurs, les 6 principes et les 3 piliers de Scrum.
Agile vs Scrum : Choisir la bonne méthode de projet
La vraie question n’est pas : que faut-il choisir entre Agile et Scrum, mais plutôt : Quelle approche agile utiliser ?
La réponse pourrait être Scrum, comme une autre méthode agile.
Ceci dit, l’agilité ne convient pas à tous les projets. Pour décider si Agile convient à votre projet, vous devez prendre en compte quelques paramètres :
- L’agilité n’est pas réservée aux développements de logiciels.
Bien que certaines méthodes agiles soient spécifiques à l’IT, l’agilité peut ajourd’hui se déployer dans tous les secteurs d’activité. - Elle ne fonctionne pas lorsque les exigences sont très strictes.
Si le cahier des charges du client décrit des besoins et exigences stricts, figés, non négociables et non modifiables, alors l’agilité n’est pas adapté. Préférez dans ce cas l’utilisation de la méthode Waterfall traditionnelle. - Elle convient bien aux projets complexes, évolutifs, incertains.
L’agilité est un processus empirique, qui met l’accent sur la priorisation de la valeur et l’amélioration continue. Les projets complexes, évolutifs et incertains sont donc de bons candidats et répondent particulièrement bien au fait de s’adapter continuellement face au changement. - L’agilité est quasi indispensable pour des projets de développement de services ou de produits.
Le développement d’un produit est un processus itératif, permettant de travailler sur plusieurs prototypes jusqu’à arriver au produit final. Cette approche itérative est en parfaite adéquation avec l’agilité, qui propose de travailler en cycle de développements courts appelés sprints.
Si l’agilité convient à votre projet, la prochaine étape est maintenant de déterminer si Scrum est la meilleure approcher à adopter ou pas. Scrum est particulièrement bien adapté aux contextes suivants :
- L’équipe débute en agilité.
Le guide Scrum tient sur seulement 15 pages. Il est donc simple à lire et rapide à assimiler. Scrum est particulièrement adaptée aux équipes agiles débutantes, à une condition : d’être accompagné par une personne ayant plus de bouteille. - Les exigences ne sont pas claires.
La collaboration et la communication constante avec les parties prenantes permet d’identifier quels sont les besoins prioritaires à un instant t et de les traiter sans attendre dans le prochain sprint. - Le périmètre du projet est hautement évolutif.
Le développement en cycles courts (itérations) permet de s’adapter rapidement aux évolutions du besoin client et aux évolutions du marché. - La réussite du projet nécessite des tests et des feedbacks fréquents.
Chaque fin de sprint est marquée par la livraison du travail accompli, sous forme d’incrément. L’équipe agile peut ainsi recueillir des retours utilisateurs, permettant d’apprécier la valeur du travail livré, et de prioriser les fonctionnalités à développer dans le sprint suivant.
Mais gardez en tête qu’il existe de nombreuses autres méthodes agiles de gestion de projet (Kanban, Extreme Programming, Adaptive software development…) et que peut être, votre solution se trouve ailleurs.