Cet article porte sur les questions fréquentes lorsque l’on découvre Agile et Scrum. Vous allez y lire qu’est-ce que Agile et comment est-ce que Scrum vas vous aider à obtenir tous les avantages d’avoir une bonne Agilité.
Qu’est-ce qu’un cadre de travail Agile?
C’est une façon moderne de prioriser la satisfaction du client, l’excellence technique et une collaboration efficace lors du développement et de la livraison d’un produit. En fait le terme Agile est une abréviation simpliste que l’on a donnée pour représenter une liste de valeurs et de principes ayant pour but à mieux gérer les changements du développement logiciel tout en mettant l’accent sur la satisfaction du client en tout temps. Un cadre de travail Agile voudrait dire que l’on suit un cadre de travail mettant de l’avant les valeurs et les principes décrits dans le manifeste du développement logiciel Agile. http://agilemanifesto.org/iso/fr/manifesto.html
Il a été défini en 2001 lorsque plusieurs leaders d’opinion se sont rencontrés durant un week-end pour parler des avancés du développement logiciel. Certains d’entre eux avaient déjà exploré des cadres de travail tel que Scrum et Extreme Programming.
Depuis 2001, l’utilisation du manifeste s’est propagée et a inspiré la création d’autres cadres de travail, tel que Kanban. Puis, au fil du temps, plusieurs autres domaines de travail (comme le Marketing, Communication, l’industrie de denrées) ont commencé à s’inspirer du manifeste pour mieux répondre aux changements et ainsi livrer plus de valeur à leurs clients.
Aujourd’hui, le simple terme Agile est souvent utilisé pour référer l’application du manifeste sous toutes ses formes.
Qu’est-ce que Scrum?
Scrum est un cadre de travail dans lequel les gens peuvent résoudre des problèmes complexes et adaptifs tout en fournissant des produits de la plus haute valeur possible de manière productive et créative. C’est assez simple comme cadre de travail, il consiste à 3 rôles, 3 artefacts et 5 événements.
Le Product Owner définit une vision pour créer ou maintenir un produit pour répondre à un besoin d’un client. Il engage donc une équipe de développement qui saura comment construire ce produit de la meilleure façon possible. Cette équipe de développement se doit être petite pour garder les communications simples et elle doit s’auto-organiser pour arriver à leur but. Pour s’assurer de bien incarner les valeurs et principes définis par le manifeste du développement logiciel Agile, ils engagent un Scrum Master. Celui-ci a pour mission d’habiliter le groupe tout en appliquant le cadre Scrum, stimulant les conversations créatives et en donnant à l’équipe ce dont ils ont besoin pour performer.
Ils se rencontrent lors du planning, inspectent le Product Backlog pour produire un plan pour arriver à leur but. Le Product Backlog c’est une liste des choses à faire, ordonnée par le Product Owner. Elle peut contenir des études de cas, des requis fonctionnelles ou non fonctionnels, des users-stories, des bogues, etc.; tout ce qu’il faut faire sur le produit pour satisfaire le client ou les utilisateurs. L’itération est appelée : Sprint. C’est une durée maximale de 30 jours. Il est recommandé d’avoir des Sprints de durée égale pour simplifier la capture et l’analyse des données, et aussi pour donner un rythme constant à l’équipe. Garder un rythme constant est important pour favoriser l’amélioration continue. Le Sprint est aussi le contenant des autres événements. Une fois un Sprint terminé, un autre débute immédiatement.
À la suite du Planning, l’équipe de développement débute le développement du produit. Tous les jours, ils se rencontreront pour un maximum de 15 minutes pour faire un plan de match de la journée. Cet événement de planning est appelé le « Daily ».
À la fin du Sprint, le Product Owner présente aux gens intéressés (client, utilisateurs, parties prenantes), avec le reste de l’équipe, ce qui a été fait durant le Sprint en fonction de leur définition de « Done ». C’est une liste qui définit les attributs de qualités appliqués sur chacun des items sur lesquels ils ont travaillé. Lors de cette conversation, le Product Owner espère obtenir des idées, des rétroactions sur ce qui a été fait pour ainsi mieux satisfaire ses clients et utilisateurs dans le futur. C’est le moment idéal pour faire le point sur les prochaines priorités, sur les livraisons envisagées et mettre la lumière sur les informations qui ont eu un impact sur le Product Backlog. Cet événement est appelé « Review ».
Suite à cette rencontre, le Product Owner, l’équipe de développement et le Scrum Master discutent comment améliorer le prochain Sprint. C’est-à-dire qu’ils peuvent inspecter divers aspects de leur travail, que ce soit les affaires, la technologie, leur processus et communication ou même raffiner leur définition de « Done ». Le résultat de cette réunion est un item ou une liste de chose à faire ayant pour but d’améliorer la performance du groupe. Ces items sont immédiatement pris en considération lors du prochain Planning. Cet événement s’appelle « retrospective ».
Puis le groupe se lance dans une session de Planning et démarre un nouveau Sprint.
Pourquoi adopter les concepts Agile?
Ces concepts sont très utiles lorsque le monde dans lequel on navigue ne cesse de nous surprendre. Comme si l’on n’en connaît pas autant que l’on aimerait. Comme si l’on devait faire plus de présuppositions que l’on peut imaginer. Ce monde est défini comme « complexe ». C’est un monde où la combinaison de l’état des trois catégories (Requis, Technologie, Gens) fait en sorte que l’on doit faire de petit pas en avant, puis inspecter nos progrès avant de continuer.
Adopter les valeurs et principes Agile vous permettra de rester sensible à ces trois catégories et donc, donner le meilleur pour vos clients considérant que tout peut changer, à tout moment.
3-5 bénéfices
Bénéfices d’être plus agile avec les affaires.
- Avoir un meilleur impact pour le client. Développer ce qui va répondre à leurs besoins évolutifs.
- Rester pertinent sur le marché. C’est-à-dire d’être à la hauteur de la compétition.
- Augmenter vos chances de succès.
Bénéfices d’être plus agile avec la technologie.
- Soutenir d’important changement de direction, avec peu de changement de vitesse sur la production.
- Réduire les coûts de maintenance du produit.
- Offrir les bénéfices des dernières technologies.
Bénéfices d’être plus agile avec les gens – la collaboration.
- Émerger avec les solutions les plus innovantes.
- Garder les coûts de processus bas.
- Simplifier les efforts de développement.
- Garder votre main d’œuvre.
- Attirer le talent
Quelle est la principale difficulté de Scrum?
Un phénomène que l’on voit souvent est documenté sous le nom de Zombie Scrum. C’est de « faire » Scrum sans vraiment s’améliorer au fil du temps, sans vraiment se poser des questions comment devenir plus efficace. C’est d’être bien dans le statu quo.
Le but d’utiliser Scrum c’est de livrer fréquemment des incréments de produits fonctionnels aux clients et utilisateurs. Si les gens ne voient pas comment résoudre les défis pour y arriver, le statu quo s’installe et la rythmique d’inspection et d’adaptation se dissous au fil du temps. On peut faire les événements, assigner les rôles et avoir les artefacts Scrum, sans vraiment voir les bénéfices.
Ça peut arriver pour plusieurs raisons.
- Une équipe qui n’a pas l’habileté pour faire un incrément fonctionnel
- Une insensibilité de la direction, ou des travailleurs qui préfère le statu quo
- Le retour vers les vieilles habitudes,
- etc.
Ce sont plutôt des défis humains qui sont au cœur des problèmes des implémentations Scrum. C’est pour laquelle le suivit d’un Coach ou d’un Mentor est très populaire. Développer cette sensibilité, cette résilience dans les trois catégories est nécessaire pour assurer votre succès. Bien adopté, Scrum nous permet de grandir et de s’épanouir individuellement et en équipe.
Comment adopter la transformation Agile?
Une transformation Agile peut se faire sous plusieurs formes. La plus efficace est de rechercher un consensus des gens qui feront partie de cette transformation. Ce consensus est important parce que bien des décisions qui suivront devront être prises par l’équipe elle-même. C’est un excellent moyen d’être tous sur la même longueur d’onde et d’obtenir un meilleur engagement des gens. Il est donc nécessaire d’identifier qui sera inclus dans cette transformation, de les rassembler et débuter la conversation.
Une fois que le désir de changer les choses en équipe est bien ancré, l’idée c’est de développer une base commune, un but commun, un langage commun, des règles et pratiques de bases et commencer sur le bon pied. La formation de base Scrum (Professional Scrum Foundation) est un excellent point de départ pour une équipe. D’autres formations plus avancées peuvent être considérées pour les équipes qui ont de l’expérience avec Scrum.
Bien des organisations ont adopté Scrum sans avoir offert de formation de base à ses employés. La tâche d’enseigner les principes de base repose alors sur le dos du Scrum Master, et c’est rare de voir un néophyte maîtriser la fondation pour l’enseigner. S’ils ont un coach, le défi sera de donner le même message à tous, et cela sur une plus longue période de temps puisque c’est du cas par cas, un à un, ou par petit bout en groupe.
Une fois la transition démarrée, il s’agit de continuer votre formation continue et développer des aptitudes plus spécialisées dans les différents rôles.
Généralement, avant de passer à une deuxième vague de formations, il est utile de pratiquer Scrum du mieux possible pour quelques Sprints. De cette manière vous ferez face à quelques défis et lors de votre prochaine formation, vous aurez la possibilité de poser de bien meilleures questions.
Par où commencer pour devenir Agile?
Lisez sur le agilemanifesto.org, c’est certainement un point de départ sûr.
Scrum.org et scrumguides.org, pour commencer avec Scrum.
Le livre « The Agile Samurai » pourrait vous donner un bon aperçu comment voir les choses différemment.
Pour les formations bilingues dans la région d’Ottawa, visitez bourksoftware.com.