Qu'est ce que scrum ?

Un projet en mode scrum est un projet en mode mêlée (scrum se traduit par mêlée en français): tous les acteurs du projet sont proches du projet (comme les joueurs de rugby autour du balon).
Scrum n'est pas une méthode d'ingénierie informatique, elle s'applique à de nombreuses sortes d'organisations. Ça marche pour organiser un mariage, un déménagement, etc ... Scrum fait parti des méthodes Agile et est souvent associé à eXtreme Programming pour les projets informatiques.

Qu'est qu'une organisation projet scrum?

Concrètement, un projet organisé en mode scrum suppose les éléments suivants :
  • le client du projet (celui qui décide ce que doit faire l'application, qui définit la spécification: le directeur de produit (ou Product Owner)) est proche de l'équipe de développement au quotidien. Tout les acteurs du projet sont proches (d'où l'analogie avec la mêlée du rugby) Idéalement dans le même bureau. Dans l'idéologie agile, les individus font la valeurs des projets. Les éloigner ne peut qu'être néfaste aux projets.
  • l'équipe projet a une taille humaine : environ 10 personnes
  • Scrum est un processus itératif. Le planning d'un projet SCRUM est piloté par l'effort. On découpe le travail en groupe de fonctionnalités à réaliser en une période de 1 à 4 semaines appelé sprint (ou itération). Chaque itération doit donc atteindre un objectif précis. Le projet sera terminé à l'issue de l'ensemble des itérations. Les itérations sont définies par toute l'équipe en fonction des résultats des itérations précédentes. Le lien entre le périmètre et le budget de la réalisation ne sont donc pas établis.
  • Scrum n'impose aucune documentation, toutefois on observe généralement que les projets sont  documentés par fonctionnalité. On réalise une "carte', un document concis qui rassemble les observations des différents acteurs du projet pour une fonctionnalité donnée.
  • Un membre de l'équipe le ScrumMaster veille à la communication et à l'isolation (on reste concentré sur le projet et sur rien d'aute) de l'équipe
Un exemple croustillant pour bien comprendre: le Speed Dating - qui regroupe dans un même lieu, un nombre limité de participant (mais plus que 10) et dont l'emploi du temps est organisé en 'round' de 10 minutes. Chaque round a pour but de faire la connaissance de la personne avec qui le participant partage le round - s'apparente à une organisation de type Scrum.

Scrum comparée aux méthodes classiques

Les méthodes classiques projet (type Cycle en V) ont un formalisme important. Le projet avance en grandes étapes, chacune documentée abondamment dans des formats normalisés. Classiquement, on avance de front sur un périmètre fonctionnel figé. On doit décrire l'ensemble du périmètre fonctionnelle avant de commencer la conception, réaliser l'ensemble de la conception avant de commencer à coder
La phase de réalisation peut être longue et génère un effet tunnel, pendant lequel le client attend. Généralement, cette attente et l'absence de feedback est particulièrement anxiogène.
A l'opposé, Scrum ne s'encombre pas de ce formalisme. En effet, scrum exploite la proximité du client pour limiter le formalisme. Cela permet d'avancer plus vite. On peut alors se poser la question de la maturité d'une organisation projet qui écrit peu. Comment reprendre le projet en l'absence de documentation ?

Scrum et cmmi

La démarche CMMI (Capability Maturity Model + Integration) n'est pas fondamentalement opposée à la méthode SCRUM. CMMI (on en parlait dans Démarche de mise en place d'un Atelier de Génie Logiciel) vient en complément. Par exemple, si Scrum n'impose pas de documentation, CMMI va l'imposer.
La démarche agile n'est donc pas incompatible avec la démarche CMMI, mais ça demande plus de travail. Toutefois, attention à ne pas bâtir son organisation projet dans ces 2 directions simultanément.

Les dérives de scrum

Après le Ajax, Second life, le Web 2.0, maintenant tout le monde veut faire du Scrum.
Les interventions en mode "pompier" suite à des projets Scrum / PHP en périls se multiplient. Généralement, cela se passe mal parce que la méthode n'est pas respectée.
La méthode scrum est quelque chose de subtil et précis. On ne peut pas faire n'importe quoi et se revendiquer scrum (le client n'est pas dans les locaux, une partie du développement en offshore, des équipes trop nombreuses, planning/périmètre figé ...).
Bien entendu, ce genre de projets sont au forfait avec un périmètre fixe aux antipodes de l'agilité mais avec un planning court.
Les méthodes agiles sont malheureusement utilisées pour masquer l'absence de formalisme et de méthode de beaucoup d'équipes projets. Il est plus difficile de vérifier qu'une équipe maîtrise un processus projet agile qu'un processus classique.

Les projets informatiques ont donc un nouvel outil qui, utilisé judicieusement, permet de simplifier les projets. Néanmoins, le bon sens ne doit pas être éclipsé par les effets de modes. Sur que Scrum, sans être forcément appliqué à la lettre, offre une inspiration significative.