Responsables du développement et Scrum Masters

Entre eux, c'est une lutte à mort ! (C'est pour rire. En réalité, ces deux rôles cohabitent plutôt bien.)

Dan Radigan Par Dan Radigan
Parcourir les rubriques

Les équipes Agile sont, d'un point de vue structurel, différentes de leurs homologues qui travaillent en cascade. Les équipes en cascade reproduisent la structure de l'organisation. Leur planification va souvent « de haut en bas », ce qui signifie que c'est la direction qui impose le rythme et le calendrier. Dans le développement Agile, l'équipe s'organise de façon autonome. Elle définit son propre calendrier en fonction des priorités du responsable produit et des capacités disponibles au sein de l'équipe.

Les Scrum Masters et les responsables du développement comblent le fossé organisationnel entre la direction générale et les différentes équipes de développement. Leur mission est d'optimiser le travail des équipes et des individus afin de livrer des logiciels de la meilleure qualité possible, alignés sur les objectifs de l'entreprise. Le Scrum Master et le responsable du développement protègent également les équipes des sollicitations externes, telles que les nouvelles fonctionnalités soudaines, les anti-schémas en cascade, les débats transverses stériles et les projets collatéraux qui éloignent l'équipe de ses véritables objectifs.

Le Scrum Master et le responsable du développement partagent généralement leur temps entre plusieurs équipes agiles. Voyons comment ils travaillent avec chaque équipe dans le cadre de portefeuilles agiles plus larges.

Qu'est-ce qu'un responsable du développement ?

Les responsables du développement sont des participants clés de l'organisation agile. Leur rôle est primordial. Ils sont responsables de la qualité du produit, depuis l'architecture du code jusqu'à la qualité pour l'utilisateur final. Ils s'impliquent dans les revues de code afin de s'assurer que le code fourni par les membres de l'équipe est en adéquation avec les objectifs du programme, à court comme à long terme. Et comme ils sont très proches de l'équipe, ils ont généralement une certaine influence sur les choix technologiques du programme. Cette proximité par rapport au processus et au produit permet aux responsables du développement de communiquer le contexte en interne, à l'intention de l'équipe et, plus globalement, de l'entreprise.

Les excellents responsables du développement sont des « bâtisseurs d'équipe ». Et cela commence par l'embauche. Les responsables du développement dirigent le processus de recrutement et sont bien placés pour le faire. En effet :

  • L'embauche est un processus chronophage et une distraction pour l'équipe
  • La recherche de candidats empêche de se concentrer sur le développement de produits d'excellence
  • Un responsable du développement peut atténuer certains effets de l'intégration à l'arrivée de chaque nouvelle personne

Pour dire les choses simplement, lorsque le responsable du développement assume les tâches du recrutement et de l'embauche, l'équipe peut se concentrer pleinement sur le produit.

Le responsable du développement joue également le rôle de partenaire et de mentor, car il maîtrise les fondamentaux de la gestion : entretiens individuels, feedback et coaching. Preuve de leur réussite, les responsables du développement accompagnent les ingénieurs afin de favoriser l'excellence (idées, code, tests et culture). Parfois, l'équipe se débat avec certaines décisions qui vont de la conception architecturale à la stratégie de création de branches. Experts en la matière, les responsables du développement savent s'il faut intervenir ou laisser l'équipe se débrouiller pour favoriser l'apprentissage.

Parmi les grandes différences entre les équipes Agile et en cascade, le responsable du développement est un partenaire tout au long du processus d'estimation. Dans une équipe en cascade, une conversation telle que celle-ci n'est pas impensable :

  • Responsable : « Dis donc, il va vous falloir combien de temps pour livrer cette fonctionnalité ? »
  • Ingénieur : « Six semaines. On doit faire A, puis B et C avant de pouvoir la commercialiser. »
  • Responsable : « D'accord. « Mais il faut que vous trouviez le moyen de tout terminer en quatre semaines. »

Un responsable du développement Agile sait, lui, comment recruter les bonnes personnes et leur fait confiance. L'un des principes fondamentaux d'Agile est que les personnes les plus proches de la tâche sont les mieux à même d'en déterminer le périmètre et de la livrer. L'équipe définit le calendrier. Le responsable du développement apporte une valeur ajoutée unique en posant des questions et en examinant les suppositions faites lors de l'exercice d'estimation. Plutôt que d'imposer quoi que ce soit, il collabore au processus.

Vous ne l'entendrez pas dire : « Trouve un moyen de le faire en quatre semaines » dans une organisation Agile. (Si vous l'entendez, c'est que, comment dire, ça sent un peu le roussi, dirons-nous.)

Qu'est-ce qu'un Scrum Master ?

Le Scrum Master est un leader de projet au sein d'une équipe agile. Il a pour priorité d'optimiser les performances et de travailler entre le responsable produit et l'équipe pour garantir la réussite et l'homogénéité des sprints. Il est également responsable de la coordination entre les équipes et, à ce titre, doit permettre à l'équipe de base de se concentrer sur le développement du produit.

L'objectif du Scrum Master est de s'assurer que tous restent efficaces et synchronisés. En conséquence, il coordonne la majeure partie des entrées et sorties requises dans le cadre d'un programme Agile. Il anime les cérémonies Agile pour le lancement d'un sprint, les stand-ups quotidiens, la revue de sprint, la rétrospective de sprint, et travaille avec l'équipe et les responsables du développement afin d'estimer les éléments plus globaux, tels que les epics et les différentes user stories du backlog. Le Scrum Master n'est pas forcément aussi technique que le reste de l'équipe. Le responsable du développement peut donc intervenir pour apporter des éclaircissements précieux entre le Scrum Master et l'équipe en cas de lacune au niveau des connaissances. Au fur et à mesure que l'équipe gagne en maturité dans son application d'Agile, le Scrum Master se concentre moins sur l'estimation et davantage sur l'optimisation de la vélocité de la livraison.

Le Scrum Master joue également le rôle de coach Agile pour l'entreprise dans sa globalité. Il aide l'équipe à adopter et à s'approprier les pratiques Agile tout au long du cycle de vie du produit : estimation des story points, planification des sprints et livraison continue. Dans les tâches du Scrum Master, l'aspect coaching est crucial. En tant qu'expert Agile, il sait pourquoi ce programme convient parfaitement au projet et à l'entreprise. Il peut intervenir en tant que défenseur d'Agile lorsqu'une entreprise rencontre certaines difficultés pour l'adopter.

Le Scrum Master et le responsable du développement sont des partenaires dans les portefeuilles agiles

La plupart des équipes en cascade sont centrées sur la direction. Elles se tournent vers elle pour définir les priorités, assurer le suivi d'avancement et évaluer les performances. À l'inverse, les équipes agiles s'organisent de façon autonome. Elles possèdent leur propre feuille de route et leur calendrier de livraisons. Pour que cela fonctionne dans les grandes structures, le Scrum Master et le responsable du développement travaillent ensemble afin d'instaurer une culture agile à tous les niveaux. Ils servent de tampon entre les équipes et la direction générale. Et comme tous deux partagent leur temps entre différentes équipes agiles, ils sont des membres clés du portefeuille agile.

Demandez au Scrum Master de se focaliser sur l'adoption et l'implémentation d'Agile par l'équipe, et au responsable du développement de se concentrer sur le recrutement des profils adéquats, le mentorat des membres de l'équipe et l'instauration d'une culture de développement efficace dans chaque équipe. Ensemble, ces deux rôles optimiseront le fonctionnement des équipes Agile.

Suivant
Git