Scrum (Gestion de projet Agile)

Les spécificités du développement de logiciels ont depuis longtemps obligé les informaticiens à adapter leurs méthodes de gestions de projets. La spécialisation des tâches et des compétences, les difficultés qu'ont les clients à préciser leurs besoins, le peu de temps alloué aux projets et la nécessité de faire évoluer ces derniers avant même qu'ils ne soient achevés obligent à encadrer une équipe avec une méthode de travail qui rompt avec la progression classique spécifications-codage-tests. Les méthodes « agiles » dont « Scrum » fait partie permettent de dépasser les limites de ce modèle trop rigide.

Qu'est-ce qu'une « méthode agile » ?

Apparues à la fin des années 80, les méthodes agiles connaissent un succès grandissant depuis une vingtaine d'années. Elles donnent leurs préférence à la capacité d'adaptation du projet au détriment d'une approche prédictive consistant à définir à l'avance et de manière stricte l'avancement du travail. D'autre part, ces méthodes consistent toutes en la reconnaissance de cycles de développement qui peuvent être très nombreux et se substituent à l'unique et hypothétique phase de codage dans le système spécifications-codage-tests.
Ces cycles de développement expliquent que les méthodes agiles soit dites itératives puisqu'un projet se définit par la somme des cycles nécessaires pour parvenir à satisfaire le client. Il est donc nécessaire de découper le projet de manière à construire des étapes : c'est l'aspect incrémental de la méthode agile qui permet de diviser le travail sur une période donnée, période normalement courte, de l'ordre d'une quinzaine de jours. Puisque les cycles sont nombreux, ils permettent de faire intervenir fréquemment le client ; le caractère « adaptatif » d'une méthode agile est donc le gage que le produit fini correspond exactement aux besoins du client et que ces derniers puissent être mieux définis à l'arrivée qu'au commencement du projet ! En contrepartie, les développeurs doivent maîtriser des techniques originales pour s'adapter aux aspects itératif, incrémental et adaptatif de cette méthode : le refactoring et l'intégration continue en sont deux exemples.

Spécificités de Scrum

Le cadre des méthodes agiles décrit ci-dessus permet bien des interprétations ; de fait, nombreuses sont les méthodes de travail comme l'Extreme Programming ou Scrum qui se réclament de l' « agility». Voici par exemple les caractéristiques de Scrum.
Le nom de cette méthode ne doit pas induire en erreur : la mêlée (scrum) est une image qui évoque le travail d'une équipe faisant évoluer son produit de phase en phase et qui reste groupée pour faire avancer le travail. Mais depuis la publication en 1986 par Hirotaka Takeuchi et Ikujiro Nonaka de leur article « The New New Product Development Game », la méthode a évolué et s'est concentrée sur les cycles de développement renommés « sprints » ainsi que sur le détail des trois rôles nécessaires à un projet Scrum : le développeur, le propriétaire du produit et le ScrumMaster.

Le développeur travaille par « sprints » successifs ; il appartient à une équipe travaillant sur des périodes courtes afin de livrer un incrément du produit à livrer. Son travail est encadré par le carnet du produit (« backlog ») et par des réunions. Quotidiennement une courte réunion de mêlée (daily scrum) de moins d'un quart d'heure, faite en l'absence du propriétaire du produit, réunit l'équipe et lui permet de se synchroniser. Une réunion plus longue, typiquement une journée pour un sprint de quatre semaines, permet de préparer le prochain sprint. Une revue de sprint, durant typiquement une demi-journée, permet de valider ce qui a été fait pendant le sprint. Enfin, un retour sur le sprint de quelques heures entre le ScrumMaster et l'équipe de développeurs reprend les échecs et les difficultés rencontrés.
Le propriétaire du produit représente le client et les utilisateurs. Son rôle est d'expliciter le contenu du carnet de produit, de hiérarchiser les fonctionnalités demandées et de les valider au fur et à mesure. Le propriétaire du produit doit être en contact permanent avec le reste de l'équipe, l'un des principes des méthodes agiles étant que rien ne vaut un échange en vis-à-vis pour faire passer un message.
Le ScrumMaster est là pour vérifier que la méthode Scrum ne dégénère pas en une méthode plus classique et plus rigide; il n'a pas grand chose à voir avec le « chef de projet » des méthodes non agiles. C'est par exemple lui qui « coache » son équipe et prépare un environnement de travail adapté à ses collaborateurs. Il peut être le responsable des différentes métriques et de leurs rendus visuels permettant aux développeurs de replacer leur travail dans le flux du projet.

La méthode Scrum est donc un exemple bien connu des méthodes agiles ; ses trois principes (« transparence, inspection, adaptation ») font écho au triptyque « itération, incrémentation, adaptation » mais en insistant sur la qualité des rapports humains au sein des équipes ainsi qu' entre le client et les développeurs. Signe du succès de Scrum, des logiciels de gestion de projets lui sont dédiés : c'est par exemple le cas de Scrumyx et du logiciel open-source Icescrum, employé par exemple par la société Roxecom, une agence web experte en e-commerce et e-marketing.


 

Ajouter un commentaire

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.

Certifié
Magento

Google
Partner

Certification
ceseo 2010

Inscrivez-vous à notre newsletter

Restez au courant de nos dernières nouvelles !

Login

Please login using your credentials recived by email when you register.

I forgot my password | Resend activation e-mail

×