Menu

Technocité
Nos formations
Nos services entreprise
Infos pratiques
Validation des Compétences
 
 

Nos projets

COFFEE
DigiBIRD
DIGISTORM
Stages d'été
 
 

Avec le soutien de

 

scrum-methode-agile-thumb

Au fil des ans, le développement logiciel a suivi un double mouvement de balancier : simplification des langages de programmation par l’apparition de langages de haut niveau, qui favorisent l’abstraction par rapport au langage « machine », et complexification des processus par le nombre de technologies à maîtriser et l’indispensable travail en équipe nécessaire à tout projet informatique de grande taille. SCRUM et d’autres méthodes dites « Agiles » visent à répondre à ce défi humain en proposant un cadre de développement plus harmonieux entre utilisateurs finaux, développeurs et concepteurs en vue au final d’assurer la réussite du projet.

Quiconque aura travaillé sur un projet informatique un peu ambitieux aura été confronté aux difficultés qui peuvent résulter d’incompréhensions entre les utilisateurs, le développeur, le concepteur, les prescriptions du cahier des charges, le responsable graphique, etc.

Il apparaît dès lors évident que rendre la communication plus souple et plus réactive entre ces différents intervenants peut s’avérer salutaire. L’information et les connaissances doivent pouvoir circuler sans entraves et être partagées entre les participants. La réussite d’un projet, quelle que soit sa taille, dépend d’une multitude de facteurs techniques, technologiques, fonctionnels, et - on l’oublie trop souvent -, humains.

Le recours à des méthodes qui ont pour but de canaliser le développement permet d’éviter bien des écueils et dès lors, de gagner en efficacité.

Les méthodes Agiles (dont il existe de nombreuses déclinaisons comme XP, UP, RAD, etc. répondant chacune à une problématique spécifique) privilégient l’efficacité et l’adaptabilité en fonction de nouveaux besoins qui peuvent apparaître en cours de route et se centrent sur l’interaction et l’individu.

Le but est de concevoir une application fonctionnelle répondant aux demandes préalablement établies et respectant les délais et les coûts.

Mais qu’en est-il de SCRUM ?

SCRUM (terme qui fait référence à la mêlée de rugby), au contraire des autres méthodes citées, est davantage une méthode de management qu’une méthode de développement à proprement parler. Elle permet de gérer l’aspect humain d’un projet, notamment la question des ressources humaines et son allocation. Pour ce qui relève de l’ingénierie logicielle, il est nécessaire de l’utiliser en complément avec l’eXtreme Programming ou d’autres pratiques liées à la qualité logicielle.

Reposant sur le principe de courtes itérations appelées Sprint (allant de quelques jours à maximum 30 jours), SCRUM augmente la productivité et améliore la communication au sein du projet. Cette méthode permet aussi de maintenir de manière transparente une liste de demandes d’évolutions ou de corrections à implémenter dans le logiciel.

Parmi ses autres avantages, citons aussi la simplicité des processus à mette en œuvre, un ensemble de règles définies clairement, des équipes responsabilisées et la combinaison possible avec les pratiques d’eXtreme Programming. Ses détracteurs épinglent par contre le fait que la méthode, privilégiant l’aspect fonctionnel lors d’un développement, consacre peu de temps à la rédaction de documentation, avec le risque d’un produit peu ou mal documenté.

On constate aussi bien souvent que dans les équipes de développement, lorsqu’un problème se pose, le développeur aura tendance à faire remonter celui-ci au sommet, court-circuitant la hiérarchie établie par la méthodologie SCRUM. Le succès de la méthode est très dépendant de l’adoption et la bonne compréhension des règles de celle-ci.

Alors SCRUM, est-elle la méthode miracle qui établira des bonnes pratiques collaboratives au sein de votre équipe de développement logiciel ? Si de nombreux avantages plaident en sa faveur, la réalité s’avère toutefois plus nuancée.

En effet, souvent lors d’un développement, l’on constate que les demandes d’évolutions fonctionnelles proviennent de canaux différents qui ne s’intègrent pas toujours entre eux et que l’on peut dès lors se retrouver avec plusieurs listes de demandes concurrentes. La taille des équipes SCRUM peut aussi être un facteur limitant, puisque la taille préconisée est de sept personnes ce qui peut poser problème dans les projets de grande taille. La méthode prévoit toutefois un principe de scalabilité qui permet de travailler avec plusieurs équipes et donc dépasser cette limitation. Mais la gestion des dépendances entre les équipes reste toutefois un problème délicat.

La distribution géographique des équipes, qui est souvent une réalité dans les grands projets faisant appel à de la sous-traitance offshore, pose également problème puisque SCRUM recommande explicitement la proximité géographique de celles-ci et des réunions quotidiennes afin d’améliorer la communication. Si SCRUM se présente donc comme une méthode adaptative au changement, elle souffre donc paradoxalement d’une certaine rigidité quant aux modifications d’échelle, la méthode apparaissant clairement plus indiquée pour des projets de petite ou moyenne ampleur.

SCRUM est donc une méthode intéressante, qui s’inscrit dans le paradigme Agile, mais qui souffre donc de certaines limitations. Voulant offrir un cadre simple, elle préconise des solutions parfois trop abstraites face aux réalités rencontrées en entreprise. Toutefois, son adoption facilite incontestablement la gestion des problèmes et conflits humains en mettant en avant la communication et la coopération via des réunions et des releases à intervalles réguliers.

Enfin, il ne faut jamais oublier que la réussite d’une méthode dans un projet dépend, outre sa pertinence, de l’aptitude des personnes à l’utiliser. La bonne maîtrise et la compréhension des objectifs de celle-ci est un élément essentiel. Une méthode mal utilisée ou mal comprise pourra engendrer des résultats à l’opposé de ceux auxquels on serait en droit de s’attendre.

Il existe aujourd’hui plusieurs ouvrages en français traitant de SCRUM :

Claude Aubry, Scrum - 2ème édition, Le guide pratique de la méthode agile la plus populaire, Edition Dunod, 2011

Guillaume Bodet, Rini Van Solingen, Eelco Rustenbourg, Scrum en action, Pearson education, 2011

Il existe aussi une abondante documentation en ligne, notamment sur le couple SCRUM-XP : http://henrik-kniberg.developpez.com/livre/scrum-xp/

TechnocITé propose également une formation à la méthode SCRUM ainsi qu’aux méthodes agiles.