Les équipes agiles les plus efficaces sont petites, de simples groupes de 5 à 7 personnes aux compétences diverses mais qui, parfois, se chevauchent. Cette structure permet à l'équipe d'établir des liens étroits et de confiance, de tirer parti de ses différentes capacités et de livrer le travail plus rapidement. Parfois, cependant, un projet nécessite des compétences qui ne sont pas présentes dans les profils de l'équipe.
C'est là qu'interviennent les spécialistes.
Généralistes et spécialistes
Les personnes avec qui nous travaillons entrent généralement dans l'une de ces deux catégories : généralistes ou spécialistes. En quoi diffèrent-ils ?
- Généraliste : personne aux connaissances étendues, capable de travailler dans de nombreux domaines différents
- Spécialiste : personne maîtrisant un domaine en particulier, de façon approfondie et exclusive
Beaucoup de méthodes agiles encouragent tous les membres de l'équipe à devenir des généralistes (pour savoir plus précisément pourquoi, voir notre article consacré aux équipes agiles). Pourtant, il est parfois judicieux, pour l'équipe, de recourir à un spécialiste pour les raisons suivantes :
- cette compétence spécifique n'est pas nécessaire à temps plein dans l'équipe
- l'entreprise dispose d'un nombre limité de personnes avec cette compétence spécifique, lesquelles passent d'une équipe à l'autre
- une autorisation spécifique est nécessaire pour travailler dans ce domaine et l'équipe généraliste n'y a pas accès
Dans ces cas, il est utile de faire intervenir un spécialiste dans l'équipe pendant un laps de temps donné. Toutefois, son intégration dans l'équipe ne va pas sans poser quelques défis.
Reconnaître les défis liés aux spécialistes
Les spécialistes interviennent dans l'équipe pour un laps de temps donné. Ils peuvent donc rapidement devenir des « chemins critiques » et bloquer parfois l'avancement du reste de l'équipe. Par exemple, si une équipe dépend d'un administrateur de bases de données pour modifier sa base de données et déployer un nouveau code, elle sera bloquée dans sa progression par cet administrateur. Lorsque l'équipe ne peut pas avancer car elle n'a pas reçu les résultats de ce spécialiste, le flux de travail s'arrête. Le spécialiste étant la seule personne à bord avec ces compétences, l'équipe n'a pas d'autre choix que d'attendre qu'il déverrouille le processus.
Les spécialistes changent souvent de contexte : ils ralentissent sur un projet et accélèrent sur un autre. Ces transferts entre projets sont coûteux. Les spécialistes ne connaissent pratiquement jamais le projet de façon aussi intime que les principaux membres de l'équipe. En conséquence, ils peuvent passer à côté de certains détails importants. Pour atténuer ce risque, l'équipe doit déployer plus d'énergie afin de le tenir informé.
Conseils pour travailler avec des spécialistes
Voici trois conseils pour limiter les blocages dans le travail avec un spécialiste.
1. Définissez clairement ce que vous attendez du spécialiste
Lorsque vous vous rendez compte que vous avez besoin de faire intervenir un spécialiste, prenez le temps de réfléchir à vos besoins précis. Tâchez de comprendre le type de travail et le niveau de connaissances dont vous avez besoin. Vous vous assurerez ainsi de faire intervenir le spécialiste adéquat et que celui-ci disposera de suffisamment de temps au sein de l'équipe pour réussir sa mission. Si vous n'êtes pas réaliste quant au temps et aux compétences nécessaires de la part du spécialiste, votre équipe et le spécialiste courent droit à l'échec.
2. Transférez les connaissances du spécialiste à l'équipe
Les équipes agiles ont, par essence, des compétences qui se chevauchent. Lorsqu'un spécialiste intervient dans l'équipe, prévoyez du temps pour que celui-ci forme l'équipe, dans la mesure du possible, afin que les connaissances qu'il apporte ne soient pas entièrement perdues une fois qu'il repartira. Voici quelques méthodes efficaces pour y parvenir :
- Programmation en binôme : deux membres de l'équipe minimum travaillent ensemble en temps réel sur un aspect particulier du projet. Tous peuvent poser des questions et s'impliquer dans le travail.
- Revue du code : un membre de l'équipe révise le travail réalisé par le spécialiste afin de comprendre tous les changements apportés. Les revues du code se concentrent davantage sur le pourquoi que sur le comment. Elles sont donc moins efficaces que la programmation en binôme en termes de formation.
- « Brown bags » : sessions informelles au cours desquelles des spécialistes partagent leurs connaissances avec un groupe. Cette méthode est efficace pour former l'équipe dans son ensemble.
L'objectif est de s'assurer que l'équipe gagne en autonomie. Grâce au transfert des connaissances, l'équipe dispose de plus de contexte pour gérer certains aspects qui, auparavant, restaient du domaine du spécialiste. Sa dépendance future diminue donc vis-à-vis de ce spécialiste.
3. Minimiser la nécessité de recourir au spécialiste
Au fur et à mesure que les spécialistes réduisent leur implication dans une équipe, il est important de définir des accords de niveau de service entre l'équipe et les spécialistes. Déterminez quand ou dans quelles circonstances l'équipe peut avoir besoin de faire de nouveau appel à un spécialiste. L'élaboration de guides de support décrivant les scénarios courants dans le domaine du spécialiste habilite l'équipe à contrôler davantage son destin en relevant ses propres défis.
Chez Atlassian, nous nous efforçons d'étendre les compétences des généralistes. Par exemple, pour ne plus réserver la conception aux seuls « spécialistes », nous avons mis au point des méthodes tangibles permettant aux développeurs et aux Product Owners d'acquérir leurs propres compétences en design. Pour en savoir plus, consultez notre article consacré au design Agile.