Zoom sur la méthodologie Scrum – Pour un logiciel qui fonctionne


Technique

Scrum est un “framework” pour réaliser des produits. La finalité de Scrum est de réaliser ces produits avec une équipe auto-organisée en travaillant en courte itération de temps. Chaque itération délivrant un produit potentiellement livrable, Scrum favorise le contrôle, la flexibilité, la qualité et le retour sur investissement.

 

  Comment ça marche ?

Scrum (= mêlée en langage de rugbymen) est une méthodologie qui s’oppose au Cycle en V. En effet celle-ci est basée sur la conviction que tout ne peut pas être planifié et anticipé longtemps à l’avance dans le développement d’un logiciel complexe.

Cette méthodologie découpe donc un projet en différents sprints. Les sprints peuvent être d’une durée de quelques heures à un mois maximum (on préconise généralement deux semaines). Ils commencent par une estimation des tâches à réaliser puis une planification opérationnelle. Le sprint se termine ensuite par une démonstration de ce qui a été réalisé, puis, après une rétrospective par l’équipe, un nouveau sprint peut alors démarrer. Le but du sprint ne peut pas être modifié tout comme l’équipe qui le compose. La qualité des rendus n’est également pas négociable.

Scrum permet donc de réaliser des itérations fonctionnelles, c’est à dire qu’à la fin d’un sprint les fonctionnalités finies peuvent être livrées et sont utilisables.

Dans ce système, la participation du client est absolument nécessaire, cela permet de choisir plus précisément les fonctionnalités à réaliser à chaque sprint et laisse la liberté au client de choisir ou de modifier à sa guise la liste des fonctionnalités à produire pour les prochaines itérations.

Dans ce cadre, si certaines fonctionnalités deviennent inutiles, le client peut alors annuler le sprint en cours et passer au suivant.

Les trois piliers sur lesquels se base Scrum sont donc les suivants :

  •      La transparence

Scrum permet une bonne communication entre l’équipe et le management. Ainsi tout le monde dispose d’une bonne connaissance du projet.

  •      L’inspection

Régulièrement Scrum propose de faire le point sur les différents artéfacts produits afin de les vérifier.

  •      L’adaptation

Si un problème est constaté, Scrum permet de s’adapter via les stand-up meetings (réunion de 15 minutes, tous les matins, entre les différents rôles du projet afin d’évoquer les difficultés et les avancements), la réunion de planification des sprints ou la revue de sprint.

 

Pour aider à suivre ces piliers, Scrum se base également sur plusieurs artéfacts que voici :

  • Le Product Backlog

Le carnet de produit est une liste ordonnée qui représente tous les besoins, fonctionnalités et idées pour le produit. C’est la seule source de travail pour l’équipe de développement.

  • Le Sprint Backlog

Le carnet de sprint regroupe tous les éléments qui seront réalisés lors d’un sprint. Les éléments sont découpés en tâches et seule l’équipe de développement peut le modifier en cours d’itération.

  • Le Product Increment

Il s’agit tout simplement de l’ensemble des éléments du Product Backlog finis et prêts à être livrés. Tous ces éléments sont donc utilisables et fonctionnels.

  • Le Definition of Done

C’est une compréhension commune entre le Product Owner et l’équipe de développement qui décrit la fin d’un élément du Product Backlog.

article image 1 Zoom sur la méthodologie Scrum – Pour un logiciel qui fonctionne

Les différents rôles

La méthodologie est guidée par trois rôles principaux :

  •      Le Product Owner

Le Product Owner (propriétaire du produit) est le représentant des clients et des utilisateurs. Son rôle est de « maximiser la valeur du projet et du travail de l’équipe de développement ». Cette personne est la seule à diriger l’équipe de développement.

Ses responsabilités sont les suivantes :

  1. Il explicite les items (éléments) du Product Backlog.
  2. Il priorise l’ordre dans lesquels les items seront développés.
  3. Il s’assure que le Product Backlog soit compris et visible par l’équipe de développement.
  4. Il est disponible afin de répondre à toutes les questions
  5. Il valide au fur et à mesure
  • Le Scrum Master

Le Scrum Master est le responsable de la compréhension et de la mise en œuvre de la méthode Scrum.

Il doit donc :

  1.  Très bien connaître Scrum.
  2. Permettre à l’équipe de disposer de ce qu’il faut pour travailler.
  3. Accompagner l’équipe, la coacher.
  4. Protéger l’équipe des interférences.
  5. Aider à la résolution des obstacles
  • L’équipe de développement

Celle-ci est auto-organisée, composée entre 5 et 9 personnes, et a pour responsabilité de livrer à chaque fin de sprint, une nouvelle version du projet enrichie des nouvelles fonctionnalités définies lors de celui-ci. L’équipe de développement doit posséder en interne toutes les compétences nécessaires à la réalisation de ses tâches et ne prend ses instructions que du Products Owner. Ses tâches ne proviennent également que des backlogs.

article image 2 Zoom sur la méthodologie Scrum – Pour un logiciel qui fonctionne

Conclusion

Eprouvée par DISKO, la méthodologie Scrum est très profonde et nous vous invitons à vous renseigner davantage sur l’ensemble des notions parcourues dans ce billet afin de voir ses multiples avantages (qualité, évolutif, motivant, transparent, contrôle des coûts,…). Elle permet de créer des produits de qualités et fonctionnels et donne en outre une grande liberté d’action au client (celui-ci pouvant modifier ou arrêter les développements quand il le souhaite).

Sachez cependant qu’il existe quelques risques liés à cette méthodologie :

o   Le « Flaccid Scrum » (dû à la mauvaise utilisation de Scrum) qui augmente la dette technique du projet. (L’Extreme programming constitue un bon départ pour lutter contre ce phénomène).

o   Un Scrum Master directif qui applique un contrôle trop strict sur les membres de son équipe. Dans ce cas celui-ci impose ses choix et il n’endosse plus les responsabilités du Scrum Master. Les avantages des méthodes agiles disparaissent ainsi.

o   Une communication qui laisse la place aux reproches lors des différentes réunions et standup meeting. Il faut en effet que les différents rôles se sentent autorisés à parler et libres d’évoquer leurs difficultés à résoudre certains points.

 

Laisser un commentaire