J’ai relu ce matin une partie du livre d’Alistair : « Agile Software Developement » et je trouve le chapitre sur les modes de défaillance de la personne humaine toujours aussi pertinent, en voici un petit résumé en Français.
Certains projets ou méthodes sont voués à l’échec du fait de la non prise en compte de certaines caractéristiques de la personne humaine, et en particulier des modes de défaillance de l’être humain que sont :
- Faire des erreurs
- Préférer l’échec de façon conservatrice
- Inventer plutôt que rechercher
- Etre des créatures inconstantes et sujette aux habitudes
Faire des erreurs
Nous savons tous que tout le monde fait des erreurs et que nous apprenons de ces erreurs. C’est pour cette raison que les approches itératives et incrémentales sont particulièrement adaptées à notre fonctionnement. Les managers par contre oublient souvent cet état de fait et demandent à leurs équipes de faire juste du premier coup, et considère que la première estimation est un engagement ferme et non négotiable.
Si le managers ne prend pas en compte cette réalité, le projet court à sa perte !
Préférer l’échec de façon conservatrice
L’humain n’aime pas le risque et préfère souvent se tromper, car il sait que c’est de peu – retard et surcoût du projet – plutôt que de chercher à réussir – avec l’agilité – avec un risque d’erreur qu’il ne maîtrise pas (sur le même sujet, j’avais cité Ken Schwaber dans un précédent billet – Lean chez France Telecom). Si le manager risque par exemple sa carrière sur le projet, il sera conservateur et préférera le mauvais cycle en V qu’il connaît bien et dont les défauts son même accepté par son chef, plutôt qu’une méthode agile qui lui permettrait de briller en livrant un produit de qualité dans un délai plus court.
Si le coach ne prend pas en compte ce fait, la transition vers l’agilité court à l’échec !
Inventer plutôt que rechercher
L’être humain aime créer par lui même et n’aime pas réutiliser ce qui existe déjà. Cette caractéristique porte le nom NIH (Not Invented Here), ou comme Alistair aime l’appeler IHN (Invent Here Now). Cette caractérisque est souvent culturelle et renforcée par l’éducation que nous avons recue. A l’école chacun est évalué individuellement, il ne faut pas copier sur le voisin, ni discuter du devoir à la maison. Dans l’entreprise, celui qui produit beaucoup de code nouveau est bien souvent valorisé par rapport à celui qui aggrège des librairies existantes, et ce bien que le second produise souvent plus de valeur ajoutée pour l’entreprise. Certaines entreprises comme Texas Instrument ont compris cette caractéristique et mis en place des récompenses pour ceux qui réutilisent beaucoup.
Si le coach ou le manager ne prend pas en compte ce fait, l’équipe n’assimilera pas l’agilité !
Etre des créatures inconstantes et sujette aux habitudes
Nous n’aimons pas changer nos habitudes et nous avons beaucoup de mal à être constant dans l’effort. Si la résistance au changement n’est plus à démontrer : « c’est bien mais ca ne marchera pas pour mon projet », « dans ce cas là ca ne marche pas, la méthode n’est pas bonne » et autres remarques très pertinentes que j’entends en permanence. La nécessité de constance qui va avec la discipline indispensable pour réussir un projet en mode agile est elle moins visible. Nombre d’équipes abandonnent certaines pratiques agiles par manque de constance, de la même façon qu’un individu arrête un régime ou de faire du sport. Les pratiques XP permettent d’améliorer la performance des projets, c’est certain, mais elle doivent également appliquées dans la durée et c’est difficile, même si le coach est efficace.
Si le coach ou le manager ne prend pas en compte ce fait, l’équipe va s’affaisser au fil du temps et le projet baisser en qualité
Faute ou erreur : savoir faire la part des choses.
L’erreur n’est pas volontaire
La faute est soit volontaire, soit une erreur répétitive malgré les patchs correctifs.
Savoir faire la part des choses, accueillir l’erreur comme résultat d’une initiative et comme source de progrès : un comportement agile ?