Fluctuations d'une équipe agile

L'équipe entame une période un peu particulière. Pour quelques mois, elle va devoir prendre en charge une activité de support produit qui sort de son cadre habituel de développement logiciel. Cette activité est potentiellement chronophage (elle occupera facilement une personne à plein temps sur les quatre développeurs que compte l'équipe) et les attentes des clients sur les sorties à venir ne diminuent pas pour autant. Il y a un budget permettant de financer une personne supplémentaire pendant 9 mois.
Que faire ?

L'option "la personne supplémentaire assurera le support produit et on ne change rien d'autre" n'est pas envisageable : cette activité nécessite des connaissances spécifiques et une autonomie qui ne s'acquièrent pas en moins de 6 mois.
Par ailleurs, les membres de l'équipe ont à coeur de minimiser l'impact sur leur situation actuelle : "Notre métier c'est le développement logiciel. On n'assurera le support que parce qu'il faut bien que quelqu'un s'en charge". Et ils sont les seuls à pouvoir le faire.

L'équipe s'est réunie et a décidé de modifier son organisation pour faire face aux nouvelles contraintes :

  • A tour de rôle, un membre est désigné pour assurer la prise des appels téléphoniques. Chaque appel sera limité en durée afin que la perturbation induite ne soit pas supérieure aux interruptions habituelles internes à l'équipe.
  • Si une demande de support vient à prendre plus de temps, elle devient une tache de l'équipe et rejoint le tableau Kanban avec une classe de service dédiée. Un WIP dédié à cette classe permettra de maitriser le temps consacré au support.
  • Avec le budget fourni, un développeur supplémentaire rejoint l'équipe pendant 9 mois. L'usage généralisé du pair programming devrait permettre d'intégrer rapidement la personne. La présence de ce nouveau développeur garantira par ailleurs la continuité du travail en paires.

Reste une question: comment trouver le développeur supplémentaire ?
En faisant probablement appel à une SSII, mais comment déterminer la mission et les compétences recherchées ?

  • Les développements sont faits en C# mais la maitrise du langage n'est pas primordiale. Un développeur java ou C++ qui applique les principes essentiels et utilise les bonnes pratiques s'intègrerait plus facilement qu'un développeur qui sait avant tout cliquer dans MS Visual Studio.
  • La connaissance de l'environnement .NET ou de tel ou tel framework n'est pas non plus essentielle. L'architecture du produit est centrée sur le besoin à résoudre et est quasiment framework-agnostique.
  • L'équipe essaie dans la mesure du possible de coller aux valeurs et aux principes agiles mais un fraichement certifié CSM serait un peu déboussolé dans un contexte agile sans sprints, sans burdown chart, sans estimations et presque sans Scrum.

Bref, ce qu'il nous faudrait c'est un compagnon de route qui vienne pendant quelques mois vivre notre cheminement, nous aider à ne pas décevoir les attentes de nos clients, partager son réel savoir-faire et peut être apprendre quelques trucs au passage.
C'est mon idée d'un vrai développeur professionnel qui va de mission en mission. Je me demande s'il y a des SSII qui peuvent répondre à ce genre de demandes mais je ne vais probablement pas tarder à le découvrir...

Si quelqu'un qui passe par ici est intéressé, je suis facile à joindre.