Lorsque j’ai débuté ma vie de développeur web en 2014, j’entendai déjà parler de Scrum, mais n’ayant jamais été dans des équipes pratiquant ce cadre de travail (= framework), je n’ai pas pu l’expérimenter. 

Comme je l’explique dans mon article de présentation, ça n’est qu’en arrivant chez Naquada que j’ai pu m’immiscer dans une équipe fondamentalement agile, où Scrum n’a aucun secret pour eux. Mais au fait, c’est quoi Scrum ? Quel rapport avec le développement web ? Pourquoi une photo de couverture de rugbymen ? Quel est le sens de la vie ? Nous voyons ça tout de suite 😉

Présentation

Scrum est un cadre de travail, qui lorsqu’il est correctement appliqué, permet le développement de produits relativement complexes. Il est majoritairement utilisé dans le domaine de l’informatique, mais peut tout à fait s’appliquer à d’autres univers. Répondant à la plupart des préconisations du Manifeste Agile, les équipes Scrum peuvent livrer rapidement au client, et à intervale régulier, ce que l’on appelle de la valeur. La valeur se traduit généralement par la livraison d’un élément du produit au client : fonctionnalité, page web, pièce…

Signifiant « melée » en anglais, Scrum permet à l’équipe d’être soudée, avançant vers un but commun et définit, grâce à de courtes itérations, comme c’est le cas en rugby.

S’inspirant de divers ouvrages, c’est en 2010 que Jeff Sutherland et Ken Schwaber formalisent ce cadre de travail en rédigeant le Scrum Guide (disponible en français ici). Dès lors, une grande quantité de sociétés à travers le globe utilisent ce cadre de travail dans leurs projets, et des milliers d’ouvrages ont été publiés.

Principes

Le cadre Scrum suit les préconisations du Manifeste Agile, cela signifie donc que le client final doit être impliqué tout le long du processus de création, dans une moindre mesure, les parties prenantes également.

Il existe trois piliers Scrum, permettant d’aligner d’une certaine manière les membres d’une équipe Scrum, le client final, et les parties prenantes :

  • La transparence dans les échanges, dans la communication et dans le suivi,
  • L’inspection régulière, pour détecter d’éventuels écarts entre l’objectif et le travail réalisé,
  • L’adaptation pour embrasser le changement.

Etant donné qu’il est un cadre de travail au sein d’un projet, Scrum se compose de plusieurs éléments fondamentaux : 3 rôles, 5 évenements, et 3 artefacts.

Rôles

Les équipes Scrum sont composés d’un maximum de 10 membres. L’équipe est auto-organisée et pluridisciplinaire, elle choisit la manière de travailler qui lui parrait la plus adaptée en fonction des objectifs et des habitudes de chacun. Tous les membres de l’équipe sont au même niveau hiérarchique, il n’y a pas de notion de « chef ». Chaque équipe Scrum se compose de :

  • Un Scrum Master : il est responsable de la mise en place du cadre Scrum et du respect de celui-ci. Il en a ainsi la parfaite maîtrise. Il a également un rôle de facilitateur, c’est à dire qu’il aide la communication dans l’équipe, il optimise les performances des développeurs et organise et coordonne certains des évenements Scrum.
  • Un Product Owner : c’est celui qui porte la vision du produit à réaliser. Il est en lien étroit entre le client final, et les développeurs. Il est responsable du product backlog, (il s’agit d’une liste des fonctionnalités finales attendues pour le produit, généralement ordonnées par priorités). Le Product Owner est le seul à être en mesure de changer des éléments du product backlog.
  • Des développeurs : ce sont celles et ceux qui vont transformer les besoins décrits par le Product Owner dans le product backlog en des fonctionnalités utilisables. Les développeurs s’organisent de la manière qu’ils le souhaitent, et doivent chercher, dans la mesure du possible, à ne pas faire appel à des prestataires extérieurs.

Événements

Tout le long d’un projet Scrum se déroulent différentes cérémonies ou évenements, qui rythment l’avancée du projet.

Sprint

Le sprint correspond à une période pendant laquelle les développeurs vont transformer les fonctionnalités attendues en fonctionnalités utilisables. Chaque sprint dure généralement entre 2 et 4 semaines, et peut également se traduire par le therme « itération ».

Sprint planning

La réunion de planification permet de définir les tâches qui sont à accomplir pendant le sprint. Les développeurs définiront leur manière de travailler pour toute la durée du sprint, ainsi que la charge de travail qu’ils vont pouvoir prendre en compte.

Sprint review

A la fin de chaque sprint, l’ensemble de l’équipe Scrum, ainsi que le client final, et les parties prenantes, se réunissent pour voir et valider, ou invalider, ce qui a été réalisé durant le dernier sprint.

Sprint rétrospective

L’équipe Scrum se réunit pour regarder dans le rétroviseur, et voir ce qu’ils pourraient améliorer pour l’avenir. Ils définissent ce qui s’est bien passé et ce qui s’est moins bien passé, ou encore comment optimiser les différents process.

Daily meeting

Durant le sprint, chaque jour, les développeurs se réunissent en début de journée pour 15 minutes maximum, pour répondre aux trois questions suivantes :

  • Qu’est-ce j’ai réalisé la veille ?
  • Qu’est-ce je vais accomplir aujourd’hui ?
  • Quels sont les obstacles qui me retardent ?

L’idée étant de partager et de se synchroniser entre développeurs.

Artefacts

Dans Scrum, les artefacts sont des éléments qui permettent de faire fonctionner le cadre de travail, de manière à être aligné avec les principes de l’agilité, et avec le cadre Scrum.

Product backlog

C’est un document qui liste l’ensemble des exigences du client, de manière hiérarchisée. Il peut évoluer durant l’avancée du projet en fonction des besoins du client. C’est le Product Owner qui est responsable de ce document et qui peut en modifier le contenu, personne d’autre.

Sprint backlog

Défini durant le sprint planning, ce document liste l’ensemble des éléments du backlog (qui peuvent être des user stories, c’est à dire les fonctionnalités attendues), qui seront prise en charge par l’équipe durant le sprint. Théoriquement, l’ensemble des éléments décrits dans ce document devraient être accomplis à la fin du sprint.

Incrément

Il s’agit de la somme des éléments réalisés au cours du sprint, en plus des éléments réalisés durant les autres sprint. En vulgarisant, on peux dire qu’un incrément est une avancée, une évolution du produit.

Règles

Les règles de Scrum sont définies dans le Scrum Guide. Pour appliquer parfaitement ce cadre de travail, il est primordial de respecter les règles, qui sont relativement peu nombreuses. Si l’on chercher à adapter les préconisations à un client, à un projet, à aux goûts d’une équipe, on sort alors de Scrum pour appliquer un cadre de travail équivalent, mais dont les résultats pourraient différer.

Intérêts

Faisant appel à la confiance en l’équipe, ceux-ci s’approprie un projet plutôt que d’en être de simples executants. Ils savent comment travailler pour optimier leur temps et agissent de manière pro-active. L’efficacité globale s’en trouve améliorée.

Face à des projets complexes, un éventuel changement en cours de projet n’aura que de faibles répercutions sur celui-ci, étant donné que l’équipe avance par courtes itérations de 2 à 4 semaines.

Enfin, la confiance est accrue en niveau de l’équipe, mais également dans les rapports avec le client, tant celui-ci peut avoir une vision claire de l’avancée du projet.

Évidemment, bien d’autres avantages sont inhérents à Scrum, mais en faire une liste exhaustive serait contre-productif. Si le sujet vous intéresse, je vous encourage à faire plus de recherches, en commençant par lire le Scrum Guide, pour vous approprier ce framework.

Conclusion

Scrum est un cadre de travail parfaitement adapté pour les projets complexes. Il améliore l’efficacité de l’équipe et permet à ses membres de se sentir généralement plus à l’aise, car chaque membre est pleinement impliqué et écouté.

En fonction des projets, des clients, et des équipes, Scrum pourrait ne pas être le cadre de travail le plus adapté. Ainsi, il ne faut pas faire de généralité et si doute il y a, ne pas hésiter à faire appel à une société spécialisée telle que Naquada, pour obtenir de précieux conseils.