Blog

Obtenez une meilleure responsabilisation grâce à une prise en charge complète

par Julie Gunderson 30 octobre 2019 | 5 minutes de lecture

Les équipes de développement logiciel qui cherchent à fournir de meilleurs produits et services doivent se concentrer sur des cycles de publication plus rapides. Mais faire fonctionner des systèmes fiables à des vitesses toujours plus élevées représente un défi de taille. Les équipes de développement logiciel peuvent obtenir à la fois qualité et rapidité en ajustant les politiques relatives à la propriété continue des services. Si l'astreinte joue un rôle important dans ce modèle, les progrès des connaissances, un code plus résilient, une collaboration accrue et la pratique signifient également que les ingénieurs n'ont pas à se réveiller dans un cauchemar.

Dans ce blog, je vais approfondir les concepts de propriété à service complet , la sécurité psychologique dans la transformation, l’éthique de la responsabilité et l’impact de la propriété sur l’expérience client.

Qu'est-ce que la propriété à service complet ?

La propriété de service complet est la philosophie selon laquelle les ingénieurs sont responsables du code et des services qu'ils créent en production. Cette mentalité « codez-le, livrez-le, possédez-le » signifie adopter la Principe DevOps de ne plus jeter le code par-dessus le mur des opérations ou de s'appuyer sur le Équipe d'ingénierie de fiabilité du site (SRE) pour garantir la fiabilité des services dans la nature. Au contraire, la responsabilité, la fiabilité et l'amélioration continue sont les principaux objectifs de la propriété de services complets.

Pourquoi la responsabilité est importante

Lorsque les ingénieurs sont de garde pour leurs propres créations, la responsabilité est directement placée entre les mains de cet ingénieur ou de cette équipe. C'est important car la transformation numérique a changé la façon dont les gens travaillent et dont les consommateurs consomment. Les consommateurs s'attendent implicitement à ce que les services fonctionnent.

Par exemple, lorsque j'essaie de faire un achat en ligne (généralement toujours effectué via mon appareil mobile), je m'attends à une expérience fluide, sécurisée et efficace. Lorsque je suis interrompu parce qu'une page ne se charge pas ou génère une erreur, je passe simplement à une autre entreprise qui peut répondre à ma demande. Selon le Rapport PagerDuty sur l'état des opérations numériques au Royaume-Uni en 2017 81,2 % des consommateurs présenteront le même comportement.

Donner du pouvoir aux ingénieurs Travailler sur l'expérience client en étant propriétaire de l'intégralité du cycle de vie de leur code et de leurs services donne aux entreprises un avantage concurrentiel. En plus de bénéficier à l'entreprise, la propriété complète des services profite à l'ingénieur car cette responsabilité garantit un travail de haute qualité et lui donne une vue directe sur la façon dont le code/service fonctionne réellement et impacte le quotidien des clients.

Fiabilité – Au-delà des PME

Les services sont inévitables. Cependant, les entreprises peuvent réduire les temps d'arrêt et l'impact sur les clients en faisant intervenir immédiatement un expert en la matière (SME) ou « propriétaire » sur l'incident. Le SME est l'ingénieur qui a créé le code/service et qui possède les connaissances techniques approfondies nécessaires pour répondre aux incidents et prendre des mesures correctives afin de garantir que leurs services subissent moins d'interruptions grâce à une amélioration continue. En tant que partie responsable, les ingénieurs sont incités à automatiser, tester et créer un code aussi infaillible que possible.

De plus, les équipes qui adoptent une approche de service complet constatent une augmentation de leurs connaissances globales. Grâce à des pratiques qui incluent des transferts sur appel, des revues de code, des réunions quotidiennes et Vendredi d'échec Grâce à ces exercices, les ingénieurs individuels développent une plus grande expertise sur l'ensemble de la base de code. Les nouvelles compétences incluent également la réflexion systémique, la collaboration et le travail dans des environnements non cloisonnés. Les équipes et les individus créent la redondance nécessaire en termes de compétences et de connaissances grâce à la pratique du partage d'informations.

Amélioration continue

Les ingénieurs s'efforçant d'améliorer en permanence leur produit, leur code et/ou leurs services, la propriété de services complets a pour effet secondaire d'affiner à la fois les services et les alertes. Les alertes qui interrompent le travail en dehors des heures de travail doivent pouvoir être traitées. Si les membres de l'équipe sont interrompus à plusieurs reprises par des alertes non exploitables, il est possible d'améliorer le système en analysant les données.

Le nettoyage du système de surveillance est un investissement en temps ; cependant, s'engager à émettre des alertes exploitables améliorera la permanence pour tous les membres de l'équipe et réduira alerte fatigue , ce qui libérera de l'énergie mentale pour se concentrer sur les futures versions et l'automatisation. Les développeurs qui ont écrit le code et défini les alertes pour ce code sont plus susceptibles de créer des alertes exploitables, car ce sont eux qui se réveillent la nuit s'ils ne le font pas. Au-delà des alertes exploitables, les ingénieurs sont incités à produire un code de la plus haute qualité, car un meilleur code équivaut à moins d'interruptions.

De plus, les astreintes ne sont pas censées être « toujours disponibles », et la propriété d’un service complet encourage les équipes à prévoir du temps pour être « hors astreinte ».

Imaginez que vous faites partie de l’équipe des opérations et que vous devez trier un incident : le temps est un facteur essentiel et vous avez besoin de réponses rapides. Allez-vous parcourir soigneusement la liste de tous les membres de l’équipe responsables de ce service ? Ou allez-vous appeler la PME que vous connaissez et qui répond toujours au téléphone le dimanche après-midi ? Appeler la même personne à chaque fois qu’un incident se produit fait peser une charge excessive sur une seule personne, ce qui peut entraîner une source unique d’échec, qui peut ensuite conduire à l’épuisement professionnel. Cela dit, une rotation d’astreinte remplit plusieurs fonctions pour aider les organisations à s’améliorer en permanence :

  1. Les ingénieurs savent quand ils sont en congé ; ils savent que leur code et leurs services sont couverts afin qu'ils puissent se détendre pleinement, réduisant ainsi le risque d'épuisement professionnel et d'attrition des employés.
  2. La charge d’être la PME de référence est répartie sur le reste de l’équipe par rotation
  3. Les services deviennent plus fiables
  4. Les connaissances et les compétences de l'équipe augmentent grâce à une compréhension plus approfondie de la base de code

En allant au-delà du codage et en incluant l'expédition et la propriété, la propriété à service complet réduit le chaos associé aux incidents en définissant les rôles et les responsabilités, en supprimant les couches inutiles et, en fin de compte, en favorisant une culture d'autonomisation et de responsabilité.

Quelle a été votre expérience ? Le fait d’être de garde vous a-t-il aidé à devenir un meilleur ingénieur ? L’idée de devoir utiliser un « téléavertisseur » vous répugne-t-elle ? Partagez vos réflexions sur notre Forums communautaires Consultez notre guide si vous souhaitez en savoir plus meilleures pratiques en matière de propriété à service complet .

Une version de cet article a été publiée le 20 septembre 2019 sur www.opensource.com.