8 septembre 2009
Imprimer ce billet

Teamicide offshore

Certains d’entre vous connaissent probablement le phénomène du teamicide, décrit par Tom de Marco et Timothy Lister dans le fameux (et indispensable) Peopleware. Le teamicide, c’est un ensemble de pratiques managériales dont la conséquence directe et inéluctable est la destruction définitive de tout esprit d’équipe au sein des personnels concernés. Souvent pratiqué par inadvertance, le teamicide est particulièrement fréquent dans les projets informatiques, avec des résultats souvent désastreux pour ces projets – et une expérience navrante pour ceux qui y participent et chez qui les symptômes oscillent généralement entre dépression nerveuse et indifférence cynique.

Rappelons rapidement les principales techniques de teamicide décrites dans Peopleware :

  • Le management défensif – résultat direct d’une défiance irréfléchie envers l’équipe, et qui se manifeste sous diverses formes plus ou moins spectaculaires, mais toujours avec le même objectif : réduire autant que possible les degrés de liberté des membres de l’équipe.
  • La bureaucratie, qui, dans le développement logiciel, prend souvent la forme d’une méthodologie formelle impliquant un grand nombre de documents d’étape dont l’intérêt douteux n’en entame pas moins le caractère sacré. Dans les organisations les plus avancées dans le domaine, on observe souvent une cellule spéciale qui agit en tant que police de la Méthode et vérifie scrupuleusement qu’aucune équipe n’a enfreint les tables de la Loi. Cette approche permet de cumuler bureaucratie et management défensif.
  • La séparation physique des individus, dont on comprend sans peine qu’elle réduit mécaniquement les relations interpersonnelles entre eux.
  • La fragmentation du temps – demander aux gens de travailler à temps partiel sur plusieurs projets simultanément est l’une de ces recettes magiques qui, outre qu’elle réduit fortement l’efficacité des individus, interdit à coup sûr l’émergence du moindre esprit d’équipe (quelle équipe, au fait ?).
  • La réduction de la qualité, qui est une technique plus subtile mais non moins efficace et populaire de teamicide. Il n’est tout bonnement pas imaginable qu’une équipe émerge formée d’individus honteux de leur travail …
  • Les délais arbitraires et intenables, qu’un nombre encore impressionnant de cadres s’acharnent à considérer comme un moyen astucieux de conserver une équipe sous pression. Mettre d’emblée une équipe en situation d’échec, en lui fixant des objectifs qu’elle n’a aucune chance d’atteindre, est pourtant le plus sûr moyen de voir s’évaporer toute trace de motivation, tant collective qu’individuelle …

Fort de ces quelques indices, on comprend aisément que le développement offshore est un terrain spontanément très propice au teamicide. Tellement propice au demeurant que la plupart des organisations offshore baissent d’emblée les bras et ne cherchent même pas à construire des équipes – elles se contentent d’agréger des jours-homme au meilleur coût dans l’espoir souvent déçu que cette masse d’effort pourra être canalisée vers un résultat tangible. Elles utilisent pour cela des techniques de management qui pour la plupart finissent par achopper, précisément parce qu’elles sont de nature teamicidaires et que l’on n’échappe jamais vraiment à l’impératif de constituer d’authentiques équipes pour réussir un projet.

Depuis plus de trois ans maintenant, Xebia mène des projets agiles distribués, grâce à des équipes transcontinentales dont une partie des membres est localisée à Gurgaon, dans la banlieue de Delhi. Rappelons que la construction d’équipes de petite taille et fortement autonomes est une condition sine qua non de succès dans un projet agile, fût-il mené en offshore. Tout l’enjeu de l’approche ADDM (Agile Distributed Delivery Model) est donc précisément de parvenir à constituer de véritables équipes dont les membres sont distants de 6000 km les uns des autres et issus de substrats culturels radicalement différents.

Cet impératif nous a permis de découvrir, parfois dans la douleur, tout un jeu de techniques teamicidaires inédites. Attention : l’usage d’une ou plusieurs de ces techniques constitue le meilleur moyen d’échouer rapidement dans un projet agile distribué. En voici les 10 principales, :

  1. Impliquer l’équipe offshore après quelques sprints, une fois que l’équipe locale a bien compris les enjeux du projet, réalisé les principaux choix techniques et élaboré une road-map
  2. Une fois l’équipe offshore intégrée, continuer de prendre localement les principales décisions en matières d’architecture et de conception. Communiquer fréquemment sur l’incapacité de l’équipe offshore à bien comprendre ces choix, et sur les erreurs qui en découlent.
  3. Attribuer à l’équipe offshore tous les problèmes du projet, fussent-ils dus à des exigences floues, à de la dette technique ou encore à des choix technologiques erronés. Vous serez surpris de constater à quel point il est aisé, aux yeux de vos commanditaires, de faire porter le chapeau à l’équipe distante.
  4. Rester condescendant lors des rétrospectives, sans jamais donner de feedback honnête à l’équipe offshore. Lui assurer systématiquement que son travail est excellent, quelle qu’en soit la réalité.
  5. Ne jamais colocaliser toute l’équipe et maintenir l’équipe offshore à distance du Product Owner, des utilisateurs, et plus généralement de toutes les parties prenantes du projet. Invoquer le coût du voyage permet très aisément de convaincre le management du bien fondé de cette mesure.
  6. Si malgré tout une période de colocalisation est organisée, s’assurer que les développeurs offshore ne programment jamais en binôme avec leurs pairs locaux. Si possible, placer les premiers dans un bureau distinct.
  7. Confier à l’équipe offshore les tâches dont personne d’autre ne veut, et réserver les user stories les plus stimulantes pour l’équipe locale.
  8. Remanier le code durant le weekend, ou en l’absence de l’équipe offshore (l’après-midi, si ce sont des Indiens), en se gardant de l’informer sur ce refactoring.
  9. Ré-écrire le code produit par l’équipe offshore, sans communiquer avec elle sur les raisons de cette mesure. En complément, faire en sorte que le management soit informé du retard pris par le projet en raison de cette ré-écriture.
  10. Ne jamais permettre à l’équipe offshore de corriger les problèmes qu’elle a elle-même introduits.