De la planification à la rétrospective, la méthode de développement chez exolis

exolis_scrum-dev

Notre solution engage est développée selon la méthodologie Scrum.  Apparue au cours des années 80, elle est depuis, très répandue dans le développement logiciel. La clé de sa popularité ? L’adaptation continue au changement et l’amélioration continue des équipes et des processus qu’elle permet.

Qu’est-ce que la méthodologie Scrum ?

Trois aspects sont à prendre en compte pour la réussite d’un produit :

  • L’aspect produit
  • L’aspect technique
  • L’aspect organisationnel

Prenons par exemple le développement d’une fonctionnalité de paiement en ligne :

  • l’aspect produit consiste à recenser et exprimer le besoin,
  • l’aspect technique à concevoir et implémenter la fonctionnalité,
  • et l’aspect organisationnel à garantir les process permettant à la fonctionnalité de voir le jour.

La méthodologie Scrum est conçue pour permettre le regroupement de ces trois aspects. Elle fait intervenir trois types de rôles pour représenter chaque aspect : 

  • Le responsable produit (ou product owner)
  • L’équipe de développement (qui gère l’aspect technique)
  • Le scrum master (responsable de l’aspect organisationnel).

Ces équipes se réuniront régulièrement pour définir :

  • L’état d’avancement
  • Les directions à prendre
  • Les corrections à prévoir
  • Les perspectives d’amélioration

Le feedback est au cœur de Scrum et colle aux trois piliers de la méthodologie : la transparence, l’inspection et l’adaptation.

Quelle différence entre Scrum et Agile ?

Scrum est souvent confondue avec Agile. Pourtant, ces deux termes décrivent des concepts bien différents. Scrum propose une méthodologie spécifique, tandis qu’Agile est une façon d’appréhender le développement logiciel. Scrum est une description de processus à suivre, bien tangibles, et Agile est une façon de penser le développement logiciel, bien plus abstraite.

Agile est très populaire dans le développement logiciel, en particulier depuis la parution en 2001 du Manifeste pour le développement Agile de logiciel, devenu la référence sur le sujet, qui décrit quatre valeurs et douze principes. Les valeurs Agile sont les suivantes :

  • les individus et leurs interactions plus que les processus et les outils,
  • des logiciels oppérationnels plus qu’une documentation exhaustive,
  • la collaboration avec les clients plus que la négociation contractuelle,
  • l’adaptation au changement plus que le suivi d’un plan.

Les “méthodes Agile” sont donc les méthodes qui respectent les valeurs de cette approche. Ainsi, Scrum est une méthode Agile, puisqu’elle se base sur des cycles itératifs et adaptatifs appelés sprints. 

Qu’est-ce qu'un sprint ?

Les sprints sont des itérations courte de développement, généralement de une à quatre semaines,  et jalonnés par plusieurs réunions.

  • Le sprint commence par la planification (ou sprint planning), où il est décidé des fonctionnalités à développer.
  • Au cours d’un sprint se prépare déjà le sprint suivant : l’équipe de développement effectue un chiffrage (ou poker planning), pour estimer l’effort de développement nécessaire aux fonctionnalités attendues. Cette information est particulièrement utile lors du sprint planning, pour décider des fonctionnalités à intégrer, en fonction des priorités et de la disponibilité de l’équipe de développement.
  • Chaque jour du sprint, l’équipe de développement se retrouve pour la mêlée quotidienne (ou daily scrum). Elle permet à chaque collaborateur d’informer les autres de son avancement et d’éventuels blocages qui pourraient impacter le déroulement du sprint.
  • Le sprint se termine par la revue de sprint (ou sprint review) et la rétrospective. La revue de sprint permet un bilan des fonctionnalités développées, par rapport à ce qui était prévu. Et la rétrospective permet d’échanger sur le déroulement du sprint : ce qui a fonctionné et ce qui pourrait être amélioré. La revue concerne le produit, tandis que la rétrospective concerne les équipes et l’organisation.

Comment Scrum est utilisée chez exolis ?

Chez exolis, un sprint dure quatre semaines et suit pour chaque itération le même déroulement.

 

Avant le début d’un sprint

Les fonctionnalités attendues sont décrites dans des user stories (US), appelées récits utilisateurs en français. Elles sont rédigées par notre responsable produit et nos chefs de projets sur notre outil dédié, Taïga. La charge de travail pour chaque US est estimée par nos développeurs au cours du chiffrage. Combiné aux priorités, le chiffrage  permet à la responsable produit et au scrum master de réaliser le sprint planning.

 

Pendant un sprint

Lorsque le sprint débute, les US planifiées sont assignées aux développeurs. Tous les matins, les développeurs se réunissent pour la mêlée quotidienne, pendant laquelle chacun décrit ce qu’il a fait la journée précédente et ce qu’il compte faire durant la journée à venir, et discute des éventuels points bloquants.

 

Après le sprint

A l’issue du sprint a lieu la rétrospective, qui regroupe les développeurs, les chefs de projet ainsi que les administrateurs d’infrastructures et les responsables qualité. Au cours de la rétrospective, les problématiques survenues au cours du sprint sont soulevées, et les événements positifs mis en avant. Un récapitulatif de ce qui a été mis en place pour résoudre les problématiques repérées au cours des rétrospectives précédentes est également présenté. Enfin, une démonstration des US réalisées au cours du sprint est faite par les développeurs à l’ensemble de l’entreprise : l’objectif est que toutes les équipes soient informées des dernières fonctionnalités de l’application. 

Toutes ces étapes, que nous répétons depuis quelques années désormais, ont permis l’amélioration de notre organisation interne et ont rendu notre produit toujours plus adapté à nos clients.

Chloé Lodolo

Article rédigé par :

Chloé LODOLO, développeuse chez exolis