datakili® : nous sommes Agile et vivons le SCRUM au quotidien.
Qu’est-ce que l’esprit Agile ?
Tout d’abord l’agilité n’est pas une méthode, c’est plutôt un état d’esprit / une approche de gestion et de développement de produits logiciels. Agile est né pour répondre aux méthodes traditionnelles à effets tunnel, avec des phases de projets trop longues et des écarts trop importants entre le livrable et le besoin client.
L’approche agile se veut itérative et incrémentale, elle permet de mieux s’adapter que ses prédécesseurs aux imprévus et aux besoins clients émergents, chose non négligeable dans un monde qui bouge et des clients qui ne peuvent pas répondent à toutes les questions en amont du projet.
Les méthodes dites traditionnelles, de type cycle en V ou en cascade, nécessitent une expression détaillée et validée du besoin en amont. La durée de réalisation est alors fixée au forfait au départ sur la base de la spécification contractuelle. La communication est reprise avec le client uniquement lors de la recette.
Les méthodes traditionnelles engendrent souvent un effet tunnel qui s’avère très néfaste et conflictuel. Particulièrement lorsqu’on constate un décalage entre le besoin initial et l’application réalisée ou alors lorsqu’on constate que certaines fonctionnalités demandées sont en réalité inutiles à l’usage.
L’approche agile, pour sa part, permet d’avancer itérativement en définissant un Minimum Viable Product (MVP) et de l’augmenter de fonctionnalités progressivement pour rendre le produit de plus en plus riche. Ainsi, nous répondons mieux aux attentes des clients. Le fait de délivrer un produit fini régulièrement permet d’avoir un feedback utilisateur pour reprioriser le backlog et se concentrer sur les fonctions de grande valeur.
Dans le monde agile on ne parle plus de projets mais de produits, c’est pourquoi on a remplacé le chef de projet classique par un Product Owner (PO) et/ou un Product Manager (PM). Nous vous présenterons un comparatif des deux rôles dans un prochain article.
La priorisation, l’évolution, le contenu du livrable sont dans la main du PO/PM. Ils sont les responsables du produit : de son succès ou de son échec. Ils sont les détenteurs de la vision à moyen et long terme et se chargent de la partager aussi bien en interne qu’en externe pour ainsi faire évoluer le backlog produit en fonction des besoins utilisateurs et des attentes du marché.
Un backlog produit n’est pas stable, il évolue en permanence et est régulièrement réorganisé : seuls les items du Sprint en cours et éventuellement ceux du Sprint t+1 sont des constantes.
Et SCRUM dans tout ça ?
L’adoption la plus populaire de l’approche agile est sans doute SCRUM, une approche qui fixe des rituels, des réunions et des artefacts pour organiser le projet sans pour autant fixer la méthodologie.
Une équipe produit en SCRUM est composée essentiellement d’un Product Owner, d’un SCRUM Master, d’un lead Dev et de l’équipe de développement. Idéalement elle englobe aussi un User Experience Designer.
Le Backlog Produit, liste les besoins clients, les exigences et les idées sous forme de User Stories. Une User Strory est un format d’expression de besoin fonctionnel formulé sous la perspective des utilisateurs finaux et répond aux 3 questions : QUI, QUOI et POURQUOI ( exemple : En tant qu’analyste, Je veux pouvoir supprimer un élément de ma liste, pour avoir toujours une liste propre et exhaustive)
Le Backlog est enrichi en permanence par le PO, qui se charge de spécifier plus en détail l’expression de besoin initiale. Ce dernier est aussi organisé par ordre de priorité. La priorisation est faite par le PO aidé par toute l’équipe produit qui met des poids de faisabilité et de complexité sur les différentes User stories.
Les itérations dans SCRUM sont appelées Sprint et durent entre 2 et 4 semaines. Au cours de chaque Sprint l’équipe développe les User stories sélectionnées.
Les 4 cérémonies obligatoires SCRUM
Sprint planning
Au début de chaque sprint, l’équipe pioche dans le backlog produit autant d’items qu’ils sont capables de finir dans les temps impartis. Chaque Item est décomposé en tâches et ceux-ci sont estimés en terme de temps par l’équipe de développement.
Daily Stand-up
Tous les matins, toute l’équipe se met debout pendant 15 minutes. Chaque membre répond aux 3 questions suivantes : Qu’ai-je fait hier ? Que vais-je faire aujourd’hui ? Quels problèmes ai-je pu rencontrer ? Quelqu’un peut-il m’aider ?
Le but n’étant pas de contrôler si tout le monde travaille mais plus de partager ses expériences et connaissances afin que l’équipe ait une vision commune de l’état d’avancement et que chacun puisse à tout moment reprendre la tâche d’un autre.
Sprint Review
A la fin du Sprint une démonstration de ce qui été réalisé est présentée au PO et éventuellement aux différents Stakeholder intéressés pour que ces derniers puisse valider le Sprint ou voir des incohérences potentielles.
Sprint Retrospective
L’équipe prend le temps pour inspecter la manière dont le dernier Sprint s’est déroulé et identifier les éléments positifs ou négatifs rencontrés pour définir des objectifs d’amélioration pendant le prochain Sprint.
Chez datakili®, nous sommes très satisfaits des méthodes Agile et SCRUM. Cet état d’esprit est à la fois efficace en matière d’organisation et très challengeant pour l’équipe. Pour résumer, l’agilité c’est avant tout : la collaboration, la communication, la transparence, l’auto-organisation, l’amélioration continue et la satisfaction client.