Blog

Il est préférable de posséder son code

par Tim Armandpour 6 avril 2017 | 4 minutes de lecture

Le rôle du développeur de logiciels a considérablement évolué depuis l'apparition de l'art de créer des logiciels. Ces dernières années, cette évolution s'est accélérée de manière spectaculaire, le rôle du développeur s'étendant au-delà de la création et de l'exécution de code dans des environnements locaux.

Dans le monde d’aujourd’hui, le développeur est souvent :

  • Réflexion avec des pairs de différents départements
  • Concevoir et créer des logiciels
  • Concevoir des tests unitaires, fonctionnels, d'intégration, de charge et autres
  • Sécuriser leurs logiciels et applications
  • Déploiement dans des environnements distribués
  • Maintenir le logiciel qu'ils viennent de créer dans la nature
  • Se rendre sur appel pour prendre en charge leurs logiciels et applications

C'est ainsi que nous faisons les choses chez PagerDuty. Je peux vous dire, d'après mon expérience personnelle ici et dans le passé, que le fait de donner à chaque développeur les moyens, le soutien et l'encouragement de s'approprier l'intégralité du cycle de vie de son code augmente vos chances de succès. Ce succès s'étend à la satisfaction du client, à la valeur réalisée par l'entreprise, à la qualité des produits et, plus important encore : votre développeur, à la pointe de votre client, est productif et satisfait.

Répartition de la propriété opérationnelle : notre parcours

Lorsque je suis arrivé chez PagerDuty il y a près de deux ans, nous étions en pleine transition. Nous avons commencé à travailler de manière plus agile et plus agile. Nous avions également une distinction nette entre ce qui était considéré comme étant lié au développement et celui lié aux opérations. Alors que nous travaillions dans un état d'esprit DevOps, nos rôles et responsabilités ne reflétaient pas cela aussi fidèlement que nous le souhaitions. Gardez à l’esprit qu’au cours de cette période de deux ans, nous avons presque triplé la taille de notre organisation de développement de produits. Plus de monde signifie généralement plus de problèmes, mais pas dans notre cas.

Nous nous sommes engagés début 2016 à distribuer la propriété opérationnelle à tous les développeurs de l'entreprise. Nous avons investi dans le partage des connaissances, les outils, l'infrastructure et davantage d'automatisation pour permettre à chaque développeur de posséder son code de l'idée à la livraison à gérer votre code dans la nature avec des clients.

Nous étions convaincus que l'intégration des activités de développement et d'exploitation et l'octroi d'un contrôle et d'une appropriation accrus au développeur amélioreraient les délais de mise sur le marché, l'innovation et la qualité. Et c'est ce qui s'est passé. Nous avons constaté les points suivants en comparant 2016 à 2015 :

  • Augmentation de 45 % du nombre de modifications déployées en production
  • 25 % de réduction des incidents majeurs impactant les clients
  • Réduction de 50 % du délai moyen de résolution (MTTR) des incidents majeurs
  • Des centres de connaissances moins cloisonnés
  • Les équipes étaient mieux équipées pour livrer des produits et des technologies

Ce que nous avons appris en répartissant la responsabilité des opérations entre tous les développeurs, c'est que chacun d'entre eux est mieux placé pour fournir des résultats à l'entreprise. Les développeurs disposent de meilleurs outils, de plus de connaissances et d'une plus grande capacité à effectuer les changements nécessaires pour s'améliorer en permanence dans toutes les dimensions.

Être responsable des résultats qui comptent

Les équipes technologiques de toutes les entreprises sont invitées à accélérer tout ce qu’elles font pour l’entreprise, et l’entreprise a besoin de cycles de livraison plus rapides pour être compétitive et réussir. Les développeurs réussissent mieux lorsqu’ils sont responsabilisés et responsables des résultats qui comptent. Grâce aux progrès des outils, du cloud computing et des nombreuses plateformes qui rendent tout cela possible, les développeurs se rapprochent naturellement de plus en plus de l’utilisateur final et de l’expérience client. En fait, on peut même dire que les développeurs sont les véritables propriétaires de l’expérience finale et qu’ils sont les mieux placés pour apporter des changements. Tout cela constitue une excellente nouvelle pour les développeurs du monde entier.

À mesure que la complexité augmente avec les ressources dont les équipes doivent s'appuyer pour concevoir, créer et livrer des logiciels de qualité, il est important de simplifier et de clarifier la propriété. Certains préféreront peut-être que d'autres développeurs agissent en première ligne et gèrent une grande partie du bruit à leur place. Je préférerais voir l'énergie et les efforts déployés pour aider les développeurs de toutes les équipes à s'appuyer sur l'automatisation, des processus rationalisés, des outils et des meilleures pratiques. Vous pouvez ainsi tirer beaucoup plus de profit de votre organisation. La complexité inutile et les transferts manuels ne font qu'entraver le progrès et l'amélioration continue.

Chez PagerDuty, nous savons que lorsque les développeurs sont propriétaires de leur code et sont bien soutenus pour faire de leur mieux, tout le monde y gagne.