Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Pourquoi utiliser la méthode SCRUM pour votre projet ?

Par Christophe QUENTEL Publié le 21/10/2016 à 14:10:48 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

*Dans cet article, le mot méthodologie/méthode sera employé pour simplifier la chose, mais SCRUM est plus un framework (un ensemble prêt à l'emploi qui définit des bons principes). Par abus de langage, le mot "méthode" sera employé mais la distinction doit bien être saisie. Framework est ici à comprendre dans le sens managérial et non logiciel.

                                                                                                                                                                                                                                                                                                                                                                     

La méthode SCRUM est une des nombreuses méthodes de gestion de projet, qui permet entre autre de développer des produits complexes. Lancée en 1993 par Jeff Sutherland, SCRUM fait partie du groupe de méthodes AGILE qui sont, de manière générale, "des groupes de pratiques de pilotage et de réalisation de projets" destinés de base à l'informatique. Cette méthode fait partie des méthodes de management modernes et figure parmi les plus utilisées, ce qui prouve son efficacité et son rendement. Elle est utilisée par de nombreuses entreprises telles que On peut par exemple penser à développer une nouvelle application mobile, bureau ou encore un site Web en appliquant la méthode SCRUM. Pour information, SCRUM n'est pas un acronyme mais veut dire "Mêlée" en anglais, ce qui est une belle image pour illustrer l'esprit de groupe pour avancer ensemble vers un même objectif (ce qui permet de bien résumer l'esprit SCRUM).

                                                                                                                                                                                                                                                                                                                                                                     

La méthodologie SCRUM est plus qu'une technique, elle est un changement dans la façon d'aborder le développement logiciel en passant par une plus grande participation des intervenants externes et internes. C'est un engagement quotidien de toutes les parties prenantes vers un avenir ou la qualité logicielle et l'authenticité des rapports humains n'auront pas de compromis sinon que la synchronicité et le succès de leurs entreprises.

                                                                                                                                                                                                                                                                                                                                                                     

Nous allons voir au long de cet article en quoi cette méthode représente une réelle plus value dans le développement d'un projet et pourquoi elle semble incontournable dans le pilotage d'un projet.

Vue d'ensemble de SCRUM

Avant toute chose, SCRUM est une méthode où certains rôles sont à attribués à des membres du projet qui vont permettre de superviser des parties précises . On distingue donc :

                                                                                                                                                                                                                                                                                                                                                                     

> Le product Owner : il s'agit du gestionnaire du produit. C'est "le propriétaire" du produit, celui qui va définir les caractéristiques finales souhaitées pour le produit.

> Le SCRUM master : il s'agit du "maître SCRUM". C'est lui qui aura pour but de superviser les membres en les aidant, en les encourageant, en facilitant le partage, la communication des informations essentielles. Il se rapproche du chef de projet mais cela n'est pas exactement son rôle puisqu'il va insister sur le côté de gestion spécifique à SCRUM. Grossièrement, il est le représentant et le premier élément qui illustre SCRUM au sein de l'entreprise.

> L'équipe de développement : elle recouvre l'ensemble des ingénieurs, techniciens etc... en charge de la réalisation du produit.

                                                                                                                                                                                                                                                                                                                                                                     

                                                                                                                                                                                                                                                                                                                                                                     

On voit donc déjà bien que des rôle précis sont attribués à chacun pour l'avancement du projet : chacun occupe un rôle spécifique, ce qui est l'une des meilleures briques de base pour avancer dans un projet. Chacune de ses parties va avoir un rôle à jouer dans le déroulé de SCRUM qui propose les trois grandes activités suivantes :

                                                                                                                                                                                                                                                                                                                                                                     

> Le Sprint Planning : il s'agit d'une réunion permettant la définition des objectifs du sprint

> Le Sprint Review : il s'agit d'une réunion permettant de faire un point sur le sprint

> Le Daily Scrum Meeting (sera abordée dans la troisième partie)

                                                                                                                                                                                                                                                                                                                                                                     

De manière générale, voici le cycle de vie de la méthodologie SCRUM afin d'avoir une vue d'ensemble de ce qui a été dit précédemment :

                                                                                                                                                                                                                                                                                                                                                                     

                                                                                                                                                                                                                                                                                                                                                                     

Le sprint, au coeur de SCRUM

Comme nous l'avons vu sur le schéma du cycle de vie SCRUM (ou SCRUM lifecycle), le terme "sprint" et "backlog" ont été de nombreuses fois utilisées, sans que l'explication de ces termes soient donnés. Pour faire simple, le but de la méthodologie SCRUM est de subdiviser le produit en un ensemble de grandes tâches à réaliser : c'est que l'on appelle le product backlog/carnet du produit (ou backlog du produit). Le backlog du produit peut être assimilé à un cahier des charges global du produit. Il répertorie l'ensemble des grandes tâches qu'il faudra accomplir afin d'arriver au produit final. Le backlog du produit est dressé par le propriétaire du produit, donc le product owner.

                                                                                                                                                                                                                                                                                                                                                                     

Le sprint quant à lui, constitue l'une des grandes tâches à réaliser dans ce carnet du produit. Ce sprint est subdivisé en petites tâches qui seront réalisés quotidiennement ou sur 2 voir 3 jours. Le sprint est donc la clé du succès de SCRUM. Comme son terme l'indique ("sprint"), le but est de réaliser de la manière le plus efficace, concise et rapide. En effet, le but n'est pas de s'éterniser mais de rechercher l'efficacité, sans non plus altérer la qualité dans la réalisation d'une tâche. Là où certaines tâches classiques, non-soumises, à la méthodologie SCRUM prendraient des mois (déjà vu en entreprise), SCRUM permettra d'éviter ce genre de situations. Un sprint aura généralement une durée de 3 à 4 semaines par l'équipe de développement. L'objectif est d'arriver à la réalisation de la tâche au bout du temps escompté afin de pouvoir enchaîné sur le sprint suivant. On parle également d'itérations (première itération, deuxième itération etc...) ce qui représente tout simplement le numéro de sprint que l'on réalise, une itération dure donc 3 à 4 semaines puisqu'il s'agit d'un sprint.

                                                                                                                                                                                                                                                                                                                                                                     

La définition du sprint (backlog du sprint) doit être vue par l'équipe. En effet, seule elle sera capable de savoir et d'estimer le nombre d'heures en termes d'engagement sur le sprint. La maturité de l'équipe peut également entrer en compte, et de nombreux autres facteurs également.

                                                                                                                                                                                                                                                                                                                                                                     

Un exemple tout simple permettra de mieux assimiler ces concepts : de manière générale, lors de la construction d'une voiture (qui est le produit final), imaginons que l'on doive mettre toute la partie mécanique, électrique, la carrosserie, l'habitacle, la peinture. L'ensemble de ces tâches représentera le product backlog. Chacune de ces tâches représentera le sprint (par exemple, réaliser la partie mécanique de la voiture). Et chaque étape peut être sous-divisée en petites étapes. Par exemple, pour le sprint "Réaliser la partie mécanique de la voiture", on peut imaginer plusieurs sous étapes telles que "la mise en place du moteur", "la boite de vitesses", "la transmission" etc... La réalisation du sprint passera donc par la succession d'accomplissement de ces petites étapes.

                                                                                                                                                                                                                                                                                                                                                                     

Si on résume : le backlog du produit est composé d'un ensemble de sprints à réaliser, subdivisés en petites tâches, et auxquels sont soumis des réunions quotidiennes qui vont permettre de prendre le pouls. Une fois l'ensemble des sprints réalisés, le product backlog (cahier des charges) est respecté et le produit est finalisé, donc potentiellement livrable car il respecte les exigences du Product Owner.

                                                                                                                                                                                                                                                                                                                                                                     

                                                                                                                                                                                                                                                                                                                                                                     

SCRUM permet une meilleure cohésion d'équipe

Tout d'abord, la méthodologie SCRUM implique une réunion quotidienne des divers membres de l'équipe : chef de projet, développeurs, stagiaires etc... Comme nous l'avons vu, cette réunion figure parmi l'une des plus importantes et représentatrice de la plus value de SCRUM. Cette réunion quotidienne, ou daily scrum meeting, est un bon moyen de mesurer l'avancement de ce qui a été fait la veille au sein du projet, d'une part et de voir ensemble, d'autre part, les tâches qui vont être réalisées dans la journée. C'est donc un moyen idéal de communication entre les divers membres du projet pour constater l'avancement du projet, et permettre de savoir quelles sont les difficultés rencontrées par les différentes parties pour voir si l'on ne peut pas résoudre un problème. Le but étant, en cas de problèmes, d'apporter des précisions sans toutefois rentrer pleinement dans le problème (ce qui n'est pas l'objet de la réunion).

                                                                                                                                                                                                                                                                                                                                                                     

Le Daily Scrum Meeting, également appelé "stand-up" (car tout le monde reste debout vu que le but de cette réunion n'est pas de s'éterniser), . En effet, la durée de ces réunions quotidiennes est entre 5 et 15 minutes et sont faits en début de matinée. Comme énoncé précédemment, les trois grandes questions auxquels les membres de l'équipe doivent de répondre sont :

                                                                                                                                                                                                                                                                                                                                                                     

> Qu'est-ce qui a été fait hier ?

> Qu'est-ce qui se fera fait aujourd'hui ?

> Quels obstacles ont été rencontrés qui empêchent l'avancement ?

                                                                                                                                                                                                                                                                                                                                                                     

Le but du product owner, pendant cette réunion est de vérifier si tout se passe bien, tout en communiquant avec les différentes parties du projet. Il peut également réorienter les membres de l'équipe de développement vers d'autres pistes ou formuler des suggestions par rapport à ses attentes. Le but du SCRUM master (qui est le manager) est de voir si les tâches du SPRINT en cours ont été validées ou sont en cours de validation. A noter que des post-its peuvent être placés sur un tableau afin de définir les grands étapes du sprint de chaque partie lors de cette réunion.

                                                                                                                                                                                                                                                                                                                                                                     

                                                                                                                                                                                                                                                                                                                                                                     

SCRUM redéfinit les priorités

L'un des buts de SCRUM est également de permettre la réduction du temps sur les tâches en elles-même. De minimiser le temps de développement et de supprimer les bugs rencontrés. Pour cela, l'une des préconisations est la programmation en binôme (ou pair programming) qui fait partie des pratiques d'extreme programming au sein de l'équipe de développement. Il s'agit d'une méthode de travail où deux développeurs travaillent ensemble sur le même poste de travail. Il y a le codeur, celui qui programme et il y a la seconde personne, l'observateur, qui regarde les bugs et les imperfections en les corrigeant et s'occupe de l'implémentation d'un meilleur design. Les rôles s'intervertissent au sein d'une séance de développement afin d'homogénéiser la quantité de travail fournie par chacun.

                                                                                                                                                                                                                                                                                                                                                                     

Cette méthode de programmation par binôme a pour but d'améliorer la productivité. Elle permet également d'améliorer la communication, l'échange d'idées et surtout le travail en équipe, ce qui est l'une des valeurs fondammentales de SCRUM puisqu'elle représente tout simplement l'une des valeurs clés de la réussite d'un produit. Cette méthode peut aussi bien fonctionner à distance (Skype) qu'en présenciel (dans les locaux de l'entreprise).

Conclusion

SCRUM est donc une méthode complète de management projet qui ne présente que des qualités : elle se recentre sur la qualité, les objectifs, l'efficacité, la réduction de bugs tout en permettant une cohésion et une communication excellente entre les différents tiers du projet à travers le daily Scrum Meeting. Les tâches, le processus de "rewiewing", la découpe du projet sont parfaitement définis ce qui améliore l'avancement d'une manière totalement transparente.

                                                                                                                                                                                                                                                                                                                                                                     

Pour aller plus loin :

                                                                                                                                                                                                                                                                                                                                                                     

> Un très bon site pour approfondir : http://scrummethodology.com/

> Un logiciel pour gérer la méthodologie SCRUM et les rendus rapides : https://fr.atlassian.com/software/jira

> La page Wikipédia qui donne certains détails supplémentaires : https://fr.wikipedia.org/wiki/Scrum_(m%C3%A9thode)

                                                                                                                                                                                                                                                                                                                                                                     

                                                                                                                                                                                                                                                                                                                                                                     

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels