L’esprit agile
Introduction
Maintenant que nous avons fait le tour du cadre Scrum, il nous reste à voir le plus difficile : acquérir l’esprit agile !
Si on vous explique les règles de jeu pour jouer au football, vous comprendrez sans problème mais cela ne signifiera pas que vous serez un excellent joueur. Il vous faudra sans doute des années de pratique pour devenir très bon. Avec Scrum, c’est pire ! Ses règles sont très simples à comprendre mais vous pouvez passer des années à le pratiquer sans pour autant acquérir l’art de conduire des projets agiles. Pourquoi ? Parce que pour exceller dans Scrum ou toute méthode agile, l’excellence ne se gagne pas durant les années de pratique, mais dans l’état d’esprit dans lequel on veut pratiquer !
Qui dit esprit, dit personnalité. Nous savons combien il est difficile pour chacun de nous de se remettre en question et de changer ses habitudes. L’agilité va mettre à rude épreuve les habitudes de travail. Si vous négligez ses valeurs, ses règles de conduite, sa façon de penser, vous n’avez pas l’esprit agile pour intégrer une équipe agile.
Voici une définition de ce qu’est l’agilité :
« L’agilité est la capacité d’une organisation à fournir, tôt...
Le Manifeste
1. Prioriser la satisfaction du client
C’est le principe le plus important. Tout est fait pour y parvenir, notamment en livrant au client rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
2. Accepter les changements
Cela ne veut pas dire que l’on doit tout bouleverser à la moindre demande. Par contre, on accepte que des changements soient possibles et c’est à nous de rectifier les choses sans stresser.
3. Livrer en permanence des versions opérationnelles du produit
Chaque sprint doit être couronné d’une ou plusieurs livraisons de fonctionnalités.
4. Assurer au maximum une coopération entre l’équipe du projet et les gens du métier
Parlez-vous ! Parlez-vous ! Échangez, clarifiez, demandez… Discutez, discutez et discutez toujours sans aucune frontière.
5. Construire les projets autour de personnes motivées
Transférer les membres d’une équipe à l’autre brutalement peut casser la motivation. L’esprit d’équipe est primordial ! Fournissez à l’équipe tout le soutien dont elle a besoin, faites-lui confiance pour atteindre les objectifs fixés. Par-dessus tout, bannissez l’esprit de chef, l’équipe sera au top si elle s’autogère et baigne dans les joies de l’autonomie....
Les quatre valeurs
Dans la pratique de l’agilité, on reconnaît les valeurs ici à droite, mais on privilégie avant tout les valeurs affichées à gauche :
1. Préférence sur les individus et leurs interactions
Il faut tout faire pour simplifier les process et outils afin de favoriser la communication directe entre individus. Les process sont souvent lourds et cette lourdeur administrative est incompatible avec l’esprit d’adaptation au changement qu’exige l’agilité.
Côté outil, il en est de même. Il n’est pas acceptable de ne pas pouvoir avancer correctement à cause d’un outil trop complexe, trop instable : passer une heure à déboguer l’outil de versioning de code alors que cette heure aurait pu être consommée dans le codage, ce n’est pas rentable ! Que l’objectif du sprint ne soit pas atteint car 30 % du temps ont été gaspillés à rendre stable tel outil n’est pas non plus acceptable ! Il faut discuter, discuter et discuter encore, c’est cette communication face à face qui nous fera vraiment avancer ; si un outil dérange vraiment, il faut le changer. Aujourd’hui, nous avons l’embarras du choix, de nombreux outils sont disponibles sur le marché du logiciel. Un outil comme Klaxoon suffit largement pour construire une roadmap, faire du Story Mapping, alimenter un backlog, les plans de release ou les sprints. Plus l’outil est simple et visible par tous, plus les membres de l’équipe pourront passer de temps entre eux à échanger sur l’essentiel et plus vite l’équipe sera efficace.
2. Préférence à des applications qui fonctionnent
Il n’est plus nécessaire de passer des mois à écrire des spécifications fonctionnelles et techniques de deux cent pages que personne ne lit jamais jusqu’au bout ! Il faut avancer de façon empirique et découvrir les fonctionnalités à développer au fur et à mesure des sprints. Mieux vaut garantir petit à petit le bon fonctionnement du logiciel plutôt que de passer des mois à développer pour présenter à la fin un produit qui ne correspond pas aux besoins...
Le cadre Scrum
Un processus définit une façon de travailler, un cadre de processus se contente de délimiter, de « cadrer ». Le cadre Scrum est léger, il n’impose que peu de choses :
-
une équipe avec trois rôles principaux,
-
un Backlog contenant le travail à effectuer,
-
les sprints et leurs cérémonies.
Avec si peu, nous avons vu qu’on pouvait faire de grandes choses. Dans Scrum, on applique systématiquement :
1- La transparence
2- L’inspection
3- L’adaptation
Dans les domaines complexes, il n’est pas possible de prévoir ce qui sera réellement obtenu à la fin : les spécifications détaillées, les plans détaillés faits à l’avance sont donc inadaptés. L’approche empirique de Scrum s’appuie sur des cycles courts, les fameux sprints, puis sur des rétroactions fréquentes pour avancer vers une solution inconnue au départ.
L’empirisme dans Scrum est appelé « inspection & adaptation ».
Voici les vraies nouveautés qu’apporte Scrum par rapport aux anciennes méthodes :