Une semaine s'est écoulée depuis qu'Ivan a pensé pour la première fois aux mesures DevOps et s'est rendu compte qu'elles devaient gérer le délai de livraison du produit (Time-To-Market)
avec leur aide .
Même le week-end, il a pensé aux paramètres: «Alors quoi, qu'est-ce que je mesure le temps? Qu'est-ce que cela me donnera? "
En effet, que donnera la connaissance du temps? Supposons que la livraison prenne 5 jours. Et maintenant? Est-ce bon ou mauvais? Même si c'est mauvais, vous devez en quelque sorte réduire ce temps. Mais comment?
Ces pensées ne lui ont pas donné de repos, mais aucune solution n'est venue.
Ivan a compris qu'il avait approché l'essence même. Les innombrables graphiques de mesures qu'il avait vus auparavant l'avaient convaincu il y a longtemps que l'approche standard ne fonctionnerait pas et que si vous construisiez simplement un graphique (
même une cohorte ), cela n'aurait aucun sens.
Comment être? ...
La métrique est comme une règle en bois ordinaire. Les mesures effectuées avec son aide ne diront pas la raison
pour laquelle l' objet mesuré est exactement la longueur qu'il a montré. La ligne affichera simplement sa taille, et pas plus. Ce n'est pas une pierre philosophale, mais simplement une planche de bois qui se mesure.
Le «rat d'acier inoxydable» de son écrivain bien-aimé Harry Harrison a toujours dit: la pensée devrait atteindre le fond du cerveau et y rester, alors Ivan a décidé de faire une autre tâche pendant plusieurs jours sans résultat ...
Après quelques jours, en lisant un article sur les boutiques en ligne, Ivan s'est soudain rendu compte que le montant d'argent qu'une boutique en ligne reçoit dépend de la façon dont le visiteur du site se comporte. Ils, les visiteurs / clients, donnent au magasin leur argent et sont leur source. Le montant total des espèces reçues par le magasin est affecté par les changements de comportement des clients, et non par autre chose.
Il s'est avéré que pour modifier la valeur mesurée, il était nécessaire d'influencer ceux qui forment cette valeur, c'est-à-dire pour changer le montant d'argent qu'une boutique en ligne devait influencer le comportement des clients de cette boutique, et pour changer le délai de livraison dans DevOps, il était nécessaire d'influencer les équipes qui `` créent '' ce temps, c'est-à-dire utiliser DevOps dans leur travail.
Ivan s'est rendu compte que les métriques DevOps ne devaient pas du tout représenter des graphiques. Ils devraient être un
outil pour trouver des équipes «exceptionnelles» qui forment le délai de livraison final.
Aucune métrique ne montrera jamais la raison pour laquelle telle ou telle équipe fournit la distribution depuis longtemps, pensa Ivan, car en réalité il peut y avoir un million et un petit panier, et ils peuvent très bien ne pas être techniques, mais organisationnels. C'est-à-dire le maximum que vous pouvez vous attendre à obtenir des métriques est de montrer les équipes et leurs résultats, et ensuite vous devez toujours aller avec ces équipes avec leurs pieds et découvrir ce qui leur est arrivé.
En revanche, il y avait une norme dans la société d'Ivan, obligeant toutes les équipes à contrôler les assemblages sur plusieurs stands. L'équipe n'a pas pu passer au stand suivant tant que le précédent n'était pas terminé. Il s'est avéré que si vous imaginez le processus DevOps comme une séquence de stands de passage, les métriques pourraient montrer le temps passé par les équipes sur ces stands. Connaissant le stand et le temps de l'équipe, il a été possible de lui parler plus précisément des raisons.
Sans hésitation, Ivan décrocha le téléphone et composa le numéro d'une personne connaissant bien les aspects internes de DevOps:
- Denis, dis-moi, s'il te plaît, est-il possible de comprendre que l'équipe a passé tel ou tel stand?
- Bien sûr. Notre Jenkins laisse tomber le drapeau si l'assemblage s'est déroulé avec succès (passé le test) sur le stand.
- Super. Qu'est-ce qu'un drapeau?
- Il s'agit d'un fichier texte normal de type "stand_OK" ou "stand_FAIL", qui indique que l'assemblage a réussi ou non le stand. Eh bien, tu comprends, hein?
- En principe, oui. Est-il écrit dans le même dossier dans le référentiel, où est l'assemblage?
- oui
- Et que se passera-t-il si l'assemblée n'est pas passée devant le stand? Aurez-vous besoin de faire un nouveau montage?
- ouais
- D'accord, merci. Et une autre question: est-ce que je comprends bien que je peux utiliser la date de création du drapeau comme date de passage du stand?
- Absolument!
- Super!
Encouragé, Ivan a posé le téléphone et s'est rendu compte que tout était en place. Connaissant la date de création du dossier de montage et la date de création des drapeaux, il a été possible de calculer avec précision jusqu'à une seconde le temps que les équipes passent sur chaque stand et de comprendre où elles passent le plus de temps.
«Comprenant où cela prend le plus de temps, nous trouverons les équipes point par point, irons vers elles et creuserons un problème.» Ivan sourit.
Pour demain, il se donne pour tâche d'esquisser l'architecture du système en cours d'élaboration.
À suivre ...