Introduction à la méthode agile et zoom sur Scrum

SCRUM est une méthodologie projet dérivée des méthodes AGILE.

Le manifeste AGILE a été créé en 2001 par 12 experts du développement logiciel (dont les fondateurs de l’Extreme Programming et SCRUM) pour répondre aux ….

Le manifeste AGILE a été créé en 2001 par 12 experts du développement logiciel (dont les fondateurs de l’Extreme Programming et SCRUM) pour répondre aux échecs des cycles en cascade par les valeurs suivantes :

  • La réactivité plutôt que le suivi d’un plan linéaire.
  • L’interaction avec les personnes plutôt que les processus et outils.
  • Un produit opérationnel plutôt qu’une documentation pléthorique.
  • La collaboration avec le client plutôt que la négociation de contrat.

Concrètement, le LEAN management résume la philosophie du mode agile en se basant sur l’amélioration continue et le respect des employés (principalement originaire du mode de gestion dans les usines TOYOTA). De cette pensée découle la méthode SCRUM propre à un cadre de développement logiciel.

Expérimenté en 1993, SCRUM sera publié en 2001 par les experts en développement Ken Schwaber & Mike Beedle. Littéralement, le terme signifie « mêlée » dans le sens où il faut l’effort de chacun pour avancer, par analogie avec la technique de rugby.

Cette méthodologie se déroule sous forme d’itérations de quelques semaines appelées sprints afin de délivrer des parties de développement testées et fonctionnelles. Les besoins initiaux sont recueillis dans le Backlog product. Suite à chaque sprint, une exigence est délivrée au client ; cette étape est formalisée dans le Backlog Sprint.

L’organisation dans SCRUM s’articule autour des rôles suivants :

Nom Rôles
Scrum Master – S’assure de la bonne application de la méthodologie SCRUM
– Pilote les différents intervenants
– Rôle de chef de projet
Equipe – Tous rôles projets en termes de réalisation (architecte, développeur, etc.)
Product Owner – Rôle du client et priorise les exigences
– Définit et valide les spécifications fonctionnelles

L’amélioration continue est mise en valeur par un suivi quotidien de l’avancement à travers des mêlées (Daily Scrum) de 15 min. où il est uniquement question d’identifier et d’exprimer les problèmes. Enfin, l’équipe travaille pour développer les fonctionnalités ou User Stories définis dans le Backlog Product.

Cadre d’utilisation

La méthodologie SCRUM a été clairement définie dans le cadre de développements logiciels. Cependant, il peut tout de même s’appliquer sur des projets d’infrastructure IT dans la mesure où l’on continue à suivre des itérations (en séparant les différents silos technologiques tels que DATACENTER, SYSTEME, BASE DE DONNEES, RESEAUX, etc.). Elle peut même s’appliquer sur des projets non informatiques si l’on considère toujours le principe de création d’un produit. La majorité des applications de SCRUM reste néanmoins du développement logiciel quel que soit le continent concerné.

  • Avantages

    Engagement des équipes : participation active des personnes sur la définition et l’organisation du travail à faire. Cette partie prenante est clairement source de motivation pour la réalisation des tâches.
    –    Mise à jour des priorités : la particularité principale des daily scrum est de rester  au fait des problèmes au jour le jour afin d’être très réactifs en cas de déviation ou changement majeur.
    –    Livraisons graduelles au client : côté client, les livraisons successives permettent d’avoir sa validation mais aussi une satisfaction augmentée vis-à-vis d’un produit concrètement fonctionnel même de manière partielle.
    –   Amélioration de la communication : le suivi quotidien avec l’ensemble de l’équipe, l’acceptation d’une user story (fonctionnalité) directe entre développeurs et clients assurent une meilleure compréhension entre le métier et le développement.
  • Inconvénients

    –    Peu de documentation : cette méthode privilégie davantage le fonctionnel et laisse généralement de côté la partie documentation.
    –    Enjeu des responsabilités : la responsabilité laissée aux équipes est également source de problème dans la mesure où la personne doit prendre le temps de remplir correctement les indicateurs le concernant.
    –  Problème de hiérarchie : cette organisation entraine souvent des communications directes. Un développeur contactera directement le client, oubliant de passer par son manager ou le scrum master.

Pour en savoir +, rendez-vous sur l’offre Digital Factory