Crystal Clear : La méthode Agile des petites équipes méconnue en France
Sommaire
Crystal Clear est une méthode agile imaginée et formalisée par Alistair Cockburn, célèbre programmeur Américain.
Méthode agile ?
Le terme « Agile » regroupe plusieurs idées. Il peut s’agir dans le langage courant des méthodes de réalisation d’un projet informatique logiciel dont les plus connues sont Scrum et XP.
Ce terme s’applique aussi à autre chose qu’une méthode, je pense qu’il est plus précis de parler de philosophie agile ou d’état d’esprit agile.
D’un point de vue historique, les méthodes agiles sont apparues vers les années 1980 à la suite de travaux menés par plusieurs experts en développement logiciel, parfois séparés de plusieurs années. Mais le premier livrable exhaustif sur le sujet est le Manifeste Agile (12 principes selon 4 valeurs), rédigé par un comité de 17 experts en 2001.
Crystal Clear
Constatant que chaque pays et que chaque entreprise possède sa propre culture, il n’est pas possible d’appliquer partout et dans toutes les configurations une méthode miracle de développement d’un projet logiciel. Cependant, les équipes qui n’appliquent aucune méthode finissent après plusieurs projets par trouver un rythme adapté.
Selon Alistair Cockburn, l’absence de méthode peut être une méthode.
La méthode Crystal Clear est pensée pour les petites équipes : un architecte et de 2 à 7 développeurs. La communication dans une telle configuration ne doit pas être formalisée.
L’équipe doit être située en open-space ou dans des salles adjacentes, elle doit être équipée de tableaux blancs et avoir un accès rapide aux utilisateurs clés. Il est nécessaire qu’elle soit éloignée des distractions afin de livrer à un rythme mensuel ou bimensuel du code testé aux utilisateurs.
A ce rythme et en respectant cette méthode, l’équipe de développement devrait être capable d’apprendre son propre fonctionnement et de l’adapter de façon optimale.
7 axes
La méthode Crystal Clear comporte quand même 7 axes :
Livraisons fréquentes
Dans le respect du manifeste Agile, la livraison fréquente de versions du produit permet une remontée et une prise en compte des remarques des utilisateurs. Cela permet également d’adopter une procédure formalisée de déploiement.
Réflexion d’amélioration
Pendant le développement, l’équipe se remet en question et analyse sa façon de travailler. Les pratiques qui doivent être abandonnées ou améliorées sont identifiées.
Communication osmotique
Les membres de l’équipe doivent être à « portée d’oreille », la communication orale et spontanée est le point fort de Crystal Clear. Tout le monde peut répondre à une question posée.
Sécurité personnelle
Les membres de l’équipe doivent être transparents entre eux afin de jouir d’un certain niveau de confiance. Les sujets qui dérangent doivent être abordés sans craintes. Les échanges se font plus librement.
Concentration dédiée
Les objectifs de l’équipe doivent être clairs et connus de tous. Chacun des membres dispose d’un temps « sans dérangement », loin des distractions et des réunions pour effectuer son travail.
Accès facile aux utilisateurs clés
L’accès facile et rapide aux utilisateurs clés permet de faire avancer le développement très rapidement. Dans le respect de la philosophie Agile le feedback est pris en compte et les fonctionnalités attendues sont connues très rapidement par l’équipe de développement.
Environnement technique favorable
Plusieurs procédures et manières de faire favorisent le respect de la philosophie Agile au sein de la méthode Crystal Clear :
- L’automatisation des tests
- La gestion de configuration
- L’intégration fréquente
Analyse
Crystal Clear n’est pas une méthode agile comme les autres, elle ne propose aucune méthodologie concrète mais plutôt une ambiance de travail favorisant la concentration et la communication transparente entre les membres.
J’ai réalisé une enquête de terrain début 2016 relative à l’utilisation des méthodes agiles en petites structures, cette enquête nous montre qu’il existe des petites structures qui travaillent sans aucune méthodologie connue.
Dans ce contexte, si les membres de l’équipe projet sont transparents entre eux, qu’ils ont un accès direct aux utilisateurs et que l’environnement technique est favorable, il en résultera une répétition automatique des processus et des manières de faire.
L’équipe sera capable d’apprendre de son propre fonctionnement et de l’adapter de façon optimale.
Dans le cas où ces petites structures qui respectent ce contexte réalisent plusieurs projets et qu’elles existent depuis longtemps, nous pouvons penser qu’elles possèdent leurs propres manières de faire, leurs propres habitudes.
Si ces règles – même non formalisées – sont établies et respectées, n’avons-nous pas affaire à une méthode qui respecte la philosophie agile ?
C’est ce constat qui donne naissance à Crystal Clear et son créateur Alistair Cockburn pense que cela peut s’appliquer n’importe où, peu importe le pays ou l’entreprise.
Pourquoi dans ce cas Crystal Clear n’est pas connue ? Pourquoi personne n’a déclaré l’utiliser ? L’une des pistes que nous pouvons privilégier le plus est le manque de documentation sur le web, notamment en français.
Étude de cas : Développement logiciel sans méthode dans une petite structure
Si aucune méthode agile n’est utilisée par l’équipe, il est fort probable qu’elle applique le cycle en cascade ou le cycle en V.
Peut-être même que l’équipe reproduit des processus et des manières de faire périodiquement en appliquant un cycle itératif ou incrémental.
Dans ce cas, il est possible que l’équipe emploie sans le savoir la méthode Crystal Clear. La philosophie agile est respectée et les processus et les manières de faire sont répétés grâce à la périodicité du cycle incrémental ou itératif.
Il faut toutefois être prudent quant à l’utilisation de Crystal Clear : les nouveaux membres devront rapidement se former sur le fonctionnement de l’équipe et s’approprier l’environnement technique. Le principe de sécurité personnelle devra également être intégré le plus vite possible.
Il serait alors judicieux d’évoluer et de transformer ces périodes en sprint de Scrum. Les tâches pourraient également être suivies sur un tableau de bord comme le préconise la méthode Kanban. Enfin, les développements les plus importants pourraient se faire en binôme (methode XP).
L’adoption d’une méthode agile dans ce contexte ne doit pas se faire en mode « big-bang ». Les changements doivent être progressifs et se baser sur ce qui fonctionne bien au sein de l’équipe.
A retenir…
- Si vous n’utilisez pas de méthode agile mais que les processus sont reproductibles, intéressez-vous à Crystal Clear.
- Si vous utilisez Crystal Clear, il est facile d’évoluer vers une autre méthode agile.
[photo]