Les 7 propriétés de Crystal Clear

Analyse des 7 principes qui garantissent le succès de cette méthode agile pour vos projet.

crystal-clear

L’initiative de la rédaction de ces propriétés vient de Alistair Cockburn un programmeur Américain. Il a demandé à son équipe Crystal Clear de lui donner les points clés de de la réussite de cette méthode. Il a vraiment souhaiter axer ce « guide de réussite » sur des principes plutôt que sur des procédures.  En effet, il part du principe que de nombreuses procédures différentes peuvent arriver à respecter ces propriétés et donc que ce sont ces dernières les plus importantes.

Livraison fréquente

La première des propriétés est la livraison fréquente que l’on retrouve d’ailleurs dans toutes les méthodes agiles ou presque. Les différents avantages sont les suivants :

  • On a rapidement du feedback sur l’avancée de l’équipe
  • L’ensemble des utilisateurs peut analyser si leur demande d’origine correspond bien à ce dont ils ont besoin actuellement. Et peuvent orienter l’équipe pour le développement à venir.
  • Les développeurs restent focus et débloquent les indécisions
  • L’équipe arrive à déboguer leur processus de développement et de déploiement , et obtient une augmentation de leur moral à travers les réalisations .

Amélioration réflexive

Une même équipe peut passer de la faillite totale d’un projet à une grande réussite grâce à l’amélioration réflexive.  Pour ce faire elle doit lister ce qu’il ne va pas et chercher comment résoudre ces problèmes, comment faire en sorte que le projet fonctionne mieux, puis mettre en place des actions pour améliorer l’itération prochaine. C’est typiquement les activités que l’on retrouve lors des rétrospectives. L’équipe doit toujours être à la recherche de l’amélioration continue.

Communication osmotique

C’est le fait que les diverses informations qui circulent puissent être entendues par tous les membres de l’équipe. Après libre à eux de les écouter, mais les discussions sur le projet doivent être à la portée des membre de l’équipe. De cette manière on pourra donner lieu à des discussions très importantes sur le projet pouvant mener à des prises de décision qui n’auraient jamais eu lieu si initialement un des développeurs (par exemple) n’avait pas eu accès à l’information.

Pour assurer cette communication osmotique, le mieux est de réunir tous les membres de l’équipe dans la même pièce. Ainsi, ils pourront échanger facilement et entendre tout (ou presque) ce qui se dit sur le projet. Cette mise en place s’apparente à l’Open Space.

Ceci dit, le fait de réunir tout le monde dans la même pièce a des inconvénients parfois assez conséquents : le bruit, les problèmes de concentration, le fait d’être à chaque fois coupé par des questions ou des demandes nous sortant du travail. C’est pourquoi l’Open Space est très controversé, en savoir plus sur : « La remise en cause de l’Open Space » .

Sécurité personnelle

La sécurité personnelle consiste à ce que chacun puisse s’exprimer sans subir de conséquences ou représailles. Plus concrètement que chaque membre de l’équipe puissent être en confiance et assez à l’aise pour dire des choses pas forcément agréables à un autre des membres sans craindre le retour de bâton. Ces réflexions peuvent aller du professionnel au personnel :  Par exemple dire au chef de projet que le planning n’est pas réaliste ou même à un autre collaborateur que son odeur est forte…

Grâce à cette confiance, les choses qui doivent être dites le seront et pourront parfois sauver le projet ou éviter de grosses complications. Il est donc du rôle du supérieur de mettre les collaborateurs suffisamment en confiance pour qu’ils se sentent à l’aise et libres de s’exprimer. Mais les collaborateurs doivent aussi s’assurer de faire preuve de diplomatie lorsqu’ils s’adressent à quelqu’un et de ne pas prendre mal les critiques constructives qu’on pourrait leur faire.

Focus

Cette propriété  signifie que l’on doit rester focus sur le travail que l’on doit accomplir. Et pour savoir quel est le travail que l’on doit accomplir, cela passe par la communication des directions. Le chef de projet ou supérieur doit absolument communiquer régulièrement sur les priorités ainsi que les divers retournements liés au projet. Mais il doit surtout s’assurer que chacun ait entendu et compris la vision globale du projet et les grandes lignes des objectifs et directives.

La tranquillité est aussi essentielle à la capacité à rester focus sur le travail. Les développeurs doivent pouvoir coder sans être constamment interrompus par d’autres tâches ou évènements telles que les modifications de dernière minute, les démos, les réunions ou encore les multiples questions que l’on vient leur poser. Il doivent avoir le temps de coder. Être interrompus toutes les demies heures en moyenne peut les mettre dans l’incapacité totale de produire quelque chose dans la journée.

Le fait de travailler sur plusieurs projets en même temps peut lui aussi nuire énormément à la concentration. Il est très difficile de passer d’un projet à l’autre rapidement. Il faudrait en moyenne 1H30 pour reprendre sa concentration.

Accès aisé aux utilisateurs experts

Un accès continu aux utilisateurs experts est essentiel pour les raisons suivantes :

  • Bénéficier d’un endroit où déployer et tester les livraisons fréquentes.
  • Obtenir un feedback rapide sur la qualité des produits finis.
  • Obtenir un feedback rapide sur leurs décisions de conception, et des exigences à jour.

Un environnement technique avec tests automatisés, gestion de configuration et intégration fréquente.

Les éléments de cette propriété sont décrits comme évidents et vitaux par Alistair Cockburn.

Tout d’abord on a l’automatisation des tests qui permet d’améliorer la qualité de vie pour les développeurs. Ils peuvent grâce à l’automatisation de ces tests détecter rapidement si quelque chose a été modifié et a planté, sans parler du gain de temps.

Ensuite vient la gestion de la configuration : Le système de gestion de configuration permet aux gens de vérifier dans leur travail de manière asynchrone , de revenir sur les changements , de préparer une configuration particulière pour la livraison, et revenir à cette configuration plus tard, lorsque des problèmes se pose . Il permet aux développeurs de coder à la fois séparément et ensemble.

Nombreuses sont les équipes à faire de l’intégration plusieurs fois par jour. Si elles n’y arrivent pas elles le font de une fois par jour à une fois tous les 2 jours. Mais plus on intègre fréquemment et plus vite on détecte les erreurs. On réduit les nouvelles erreurs et les pensées sont plus fraîches pour résoudre les problèmes. De plus la portion de code à modifier est réduite et donc plus facile à identifier et résoudre.

En combinant l’intégration continue au tests automatisés l’équipe pourrait détecter les erreurs d’intégration dans la minute selon Alistair.

 

Sources : Wikipédia, Alistair Cockburn

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *