DevOps

une compétence de transition vers l'agilité

La mode est au DevOps. A regarder les profils recherchés par les entreprises, le terme devops apparaît souvent comme une compétence à part entière “Cherche ingénieur devops”, au même titre que “développeur full stack”. Si ce dernier relève plus de la compétence verticale, le devops est plutôt par sa définition même, une compétence horizontale du point de vue du découpage classique et séquentiel des activités de développement logiciel. Ce qui peut interroger c’est le fait de demander toujours plus de compétences sur un CV, alors qu’il suffirait de rassembler des personnes dans une équipe et de leur donner l’autorité et les moyens d’apprendre ensemble pour que l'équipe se développe verticalement et horizontalement pour répondre au promesses de performance du devops. Mais peut être pense-t-on gagner du temps donc de l’argent à recruter des vedettes.

Hors tout le monde a pu s’apercevoir que

la sélection d’experts ne garantit pas toujours la performance de l'équipe dans la durée.

Pour ma part, par expérience, j’ai tendance à préférer la coopération de personnes modestes dans leurs compétences mais tirées par l’envie d’apprendre pour résoudre collectivement les problèmes qui se posent, plutôt que la collaboration d’experts. Ceux-ci doivent se montrer chacun à la hauteur de leur étiquette, et cela peut prendre plus de temps pour arriver au stade de la coopération. Alors certes, dans la configuration d’une équipe de spécialistes nous pouvons ressentir le besoin d’une autorité technique capable de fédérer les spécialistes. Cela se traduit soit par un expert technique reconnu de tous par sa séniorité, soit par défaut et pour moins cher, par quelqu’un capable de créer les consensus des acteurs pour avancer efficacement. Les deux profils ont en commun le fait de disposer de compétences techniques transverses minimales mais suffisantes pour être capable de traduction, de synthèse et de faire la glue entre tous les autres. Malheureusement, il n’est pas rare que ces personnes se retrouvent le plus souvent à ménager les individus et les postures de chacun (y compris la leur), plutôt qu'à challenger le collectif pour performer.

En même temps que la reconnaissance du devops dans la caractérisation des compétences de l’IT, une nouvelle dimension est apparue avec celle des soft skills, par opposition aux hard skills. Schématiquement les compétences de savoir être par opposition au savoir faire technique.

Il est donc reconnu l’intérêt de personnes ouvertes socialement, de personnes intéressées pour dépasser les frontières de la spécialisation, élargir la culture de l'équipe à l’ensemble des activités du cycle de développement du logiciel. Ce rôle était il n’y a pas si longtemps consacré au chef de projet cumulant la responsabilité technique, ou de l’architecte cumulant le rôle de chef de projet. Avec Scrum, les organisations ont remplacé mécaniquement le chef de projet par le duo Product Owner et Scrum Master, tandis que la responsabilité technique (le comment) a été transférée à l’ensemble de l'équipe.

Sans sous-évaluer l’importance des compétences techniques et pratiques pour évoluer dans un environnement technique propre à chaque entreprise, ou équipe, devops met surtout l’accent sur la nécessité de dépasser les frontières et cloisonnements techniques entre telle ou telle activité du développement logiciel. Bien sûr il existe et existera toujours des spécialistes passionnés de test, de base de données, de sécurité, … avec pour chaque domaine des concepts et pratiques particulières dont la maîtrise renforce l'équipe. Néanmoins, ce que “devops” met en avant c’est la capacité supérieure des équipes multidisciplinaires à couvrir de façon autonome les activités verticales et horizontales pour livrer plus rapidement et régulièrement de la valeur aux parties prenantes. L’esprit du devops c’est la capacité à travailler ensemble en équipe, à se placer dans les différents points de vue qui peuvent être contradictoires pour les dépasser au profit de la performance globale de l'équipe pour les parties prenantes.

Chaque membre de l'équipe est concerné, et l’appel à candidature d’un développeur devops devrait dès lors s’entendre par:

We are all devops. Are you ? OK, let’s go to agile.

Références

  • Accelerate DevOps

    Le livre avec les résultats de l'étude de la performance de multiples entreprises de l’IT, fournit la carte des compétences et de leurs dépendances pour accélérer l. Si l’agilité est plutôt mentionnée dans le livre au niveau des pratiques de développement logiciel, c’est bien l’Agilité globale de l’entreprise qui est recherchée lorsque la performance est définie par les indicateurs de livraison/maintien de la valeur de l’entreprise, englobant les dimensions du leadership, de la culture d’entreprise, du management de changement et de la performance.

  • SAFe DevOps

    J’aime bien le modèle DevOps proposé par SAFe. Une roue du cycle de développement logiciel avec des compétences évaluables sur 4 niveaux de maturité. Avec le canvas d’amélioration du Development Value Stream, cela donne un outil pratique opérationnel pour conduire l’amélioration de l'équipe “devops” dans sa maîtrise de l’agilité.

  • Dynamic reteaming, Team topologies, …

    De nombreux ouvrages traitent de la composition des équipes, et de la structure des organisations. DevOps est souvent mentionné derrière d’autres attributs favorisant les équipes performantes : “multi-disciplinaires”, “auto-organisées”, “apprenantes”.