"Guide pratique DevOps" - Notes de lecture (1)

Partie 1 Introduction à DevOps

L'approche DevOps en trois étapes : flux, feedback, apprentissage et expérimentation continus.

  • Principe de flux : il accélère le processus depuis le développement, l'exploitation et la maintenance jusqu'à la livraison aux clients.
  • Principe de feedback : Il nous permet de construire un système de travail plus sûr et plus fiable.
  • Principes d'apprentissage continu et d'expérimentation : il crée une culture de confiance élevée et une méthode de travail scientifique, et intègre l'amélioration organisationnelle et l'innovation au travail quotidien.

Mouvement maigre

Les pratiques de cartographie de la chaîne de valeur, de Kanban et de maintenance totale de la production sont issues du système de production Toyota dans les années 1980. En 1997, le Lean Enterprise Institute a commencé à étudier la manière dont les concepts Lean pourraient être appliqués à d’autres flux de valeur, tels que le secteur des services et le secteur de la santé.

Deux grands principes du Lean incluent : la conviction que le délai de livraison (le temps nécessaire pour convertir les matières premières en produits finis) est l'une des meilleures mesures pour améliorer la qualité, la satisfaction des clients et le bonheur des employés ; et que la livraison de petits lots Les tâches sont la clé pour réduire les délais de livraison. Le temps de configuration est un facteur clé.

Les principes Lean se concentrent sur la façon de créer de la valeur pour les clients grâce à la pensée systémique. La portée de la pensée systémique implique l'établissement d'objectifs durables, l'adoption de la pensée scientifique, la création de modèles de collaboration flux et pull (plutôt que push), la promotion de la qualité à la source et l'utilisation de l'humilité. comme base. Orientation et respect de tous les individus dans le processus.

Manifeste Agile

Le Manifeste Agile a été proposé conjointement par 17 grands maîtres du domaine du logiciel en 2001. Ils espèrent utiliser un système léger de valeurs et de principes pour optimiser ces processus de développement logiciel lourds (tels que le modèle de développement traditionnel en cascade) et ces méthodologies (telles que le processus de développement logiciel unifié).

Dans le Manifeste Agile, un principe important est " 频繁地交付可工作的软件,交付周期可以是数星期也可以是数月,推荐更短的周期" et met l'accent sur l'utilisation de petits lots de tâches pour les versions incrémentielles, plutôt que sur les tâches à grande échelle et les versions de processus en cascade. Dans le même temps, nous insistons sur la constitution de petites équipes auto-organisées afin que les membres puissent travailler avec bonheur dans un environnement de grande confiance.

Dans de nombreuses entreprises qui ont mis en œuvre l’Agile, la productivité a été considérablement améliorée et l’Agile a gagné un soutien et une reconnaissance de plus en plus répandus. Il est intéressant de noter que dans le processus de développement de DevOps, plusieurs activités clés décrites ci-dessous proviennent toutes de la communauté agile ou de conférences agiles.

1. Livraison agile et continue et approche en trois étapes

1.1 Flux de valeur manufacturière

Un concept de base du Lean est appelé chaîne de valeur . "Une série d'activités de livraison ordonnée effectuées par une organisation en fonction des besoins du client ", ou "une série d'activités nécessaires pour concevoir, produire et fournir des produits ou des services aux clients. Cela comprend le flux de matériauxetd'informations

La chaîne de valeur est visible partout dans le processus de fabrication, depuis la réception d’une commande client jusqu’à l’envoi des matières premières à l’usine. Afin de raccourcir et de prévoir les délais d'exécution dans la chaîne de valeur , il est généralement nécessaire de se concentrer en permanence sur la façon d'établir un flux de travail fluide, notamment en réduisant la taille des lots, en réduisant le nombre de travaux en cours (WIP), en évitant les retouches, etc. , tout en étant également nécessaire de garantir que les produits défectueux ne soient pas transmis aux centres de travail en aval et d'optimiser en permanence l'ensemble du système en fonction d'objectifs globaux.

1.2 Flux de valeur technologique

« Traduire les idées commerciales en processus requis pour fournir aux clients des services précieux et axés sur la technologie »

Les entrées dans le processus sont fournies 业务目标, 概念, 创意et 假设, en commençant par l'acceptation du travail par le service R&D et son ajout à la liste des travaux à effectuer.

Tout travail ne génère de la valeur que si l'application ou le service s'exécute comme prévu dans un environnement de production et fournit des services aux clients.

1.2.1 Focus sur les délais de déploiement

Le délai de déploiement est un sous-ensemble de la chaîne de valeur.

La chaîne de valeur commence lorsque les ingénieurs (y compris le personnel de développement, d'assurance qualité, d'exploitation informatique et de sécurité de l'information) valident une modification dans le système de contrôle de version et se termine lorsque la modification s'exécute avec succès dans l'environnement de production , apporte de la valeur aux clients et génère un retour d'information efficace et informations de surveillance.

  • Dans la première étape, le travail comprend principalement la conception et le développement, ce qui présente de nombreuses similitudes avec le développement de produits Lean : les deux présentent un degré élevé de variabilité et d'incertitude, non seulement nécessitent de la créativité, mais certains travaux peuvent ne pas être répétés. déterminer le temps de traitement global.
  • Dans la deuxième phase, le travail consiste principalement en des tests et des opérations, ce qui s'apparente au Lean Manufacturing. Par rapport à l’étape précédente, elle nécessite de la créativité et des compétences professionnelles, s’efforce d’assurer la prévisibilité et l’automatisation, minimise la variabilité (telle que des délais de livraison courts et prévisibles, proches du zéro défaut) et atteint les objectifs commerciaux.

Nous ne préconisons pas d'effectuer de gros lots de travail en série lors de la conception et du développement, puis de passer aux étapes de test, d'exploitation et de maintenance (comme l'utilisation de gros lots, un processus de développement basé sur le modèle en cascade et le travail sur des branches de fonctionnalités à longue durée de vie). cycles). ). Bien au contraire, l’objectif est d’adopter un modèle dans lequel les tests et les opérations sont synchronisés avec la conception et le développement, ce qui se traduit par un flux de valeur plus rapide et une qualité supérieure. Ce modèle synchronisé ne peut être atteint que lorsque le travail est effectué en petits lots et que la qualité est intégrée à chaque partie de la chaîne de valeur.

  1. Définir le délai de livraison et le temps de traitement
    Dans la communauté Lean, 前置时间le délai de livraison et 处理时间le temps de traitement (parfois appelés temps de contact ou temps de tâche) sont deux mesures courantes pour mesurer les performances de la chaîne de valeur.

    • Le délai commence après la création du bon de travail et se termine lorsque le travail est terminé ;
    • Le temps de traitement commence au moment où le travail est effectivement traité. Il n'inclut pas le temps pendant lequel le travail est en attente dans la file d'attente.

    Insérer la description de l'image ici

  2. Scénario courant : délai de déploiement de plusieurs mois
    En règle générale, le délai de déploiement peut prendre plusieurs mois. Une fois que le délai de déploiement devient long, presque toutes les étapes de la chaîne de valeur nécessiteront des experts « comblant les trous » pour remédier à la situation. Souvent,
    il est probable que ce n'est qu'après la fusion des modifications apportées par l'équipe de développement avant la fin du projet que l'on découvre que l'ensemble du système ne fonctionne pas correctement du tout, et parfois même que le code ne parvient pas à être compilé et testé. Chaque problème peut prendre des jours, voire des semaines, à être localisé et résolu, ce qui entraîne une expérience client extrêmement médiocre.

  3. Notre objectif : un délai de déploiement de quelques minutes.
    Nous pouvons atteindre cet objectif en soumettant continuellement de petits lots de modifications de code au système de contrôle de version , en effectuant des tests automatisés et des tests exploratoires du code, puis en le déployant dans l'environnement de production. De cette façon, nous pouvons maintenir un degré élevé de confiance dans le succès des modifications du code en production, tout en identifiant et en résolvant rapidement les problèmes qui peuvent survenir.

    Afin d’atteindre plus facilement les objectifs ci-dessus, il est également nécessaire d’optimiser la conception architecturale grâce à une modularité, une cohésion élevée et un faible couplage pour aider les petites équipes à travailler de manière autonome. De cette façon, même en cas d’échec, cela restera sous contrôle et n’aura pas d’impact sur la situation globale.
    Insérer la description de l'image ici

1.2.2 Faites attention à l'indicateur de reprise - %C/A

Outre le délai de livraison et le temps de traitement, le troisième indicateur clé de la chaîne de valeur technologique est le temps d'achèvement et le pourcentage précis du temps total passé ( %C/A). Cette métrique reflète la qualité de la production à chaque étape de la chaîne de valeur

« Pour capturer cela %C/A, demandez à vos clients en aval quel pourcentage du temps ils reçoivent un « travail vraiment utile », c'est-à-dire qu'ils peuvent se concentrer sur un travail utile plutôt que d'avoir à corriger des messages d'erreur, à compléter des informations ou à clarifier ce que devraient être des informations.

1.3 Méthode de travail en trois étapes : principes de base du DevOps

méthode en trois étapes
Insérer la description de l'image ici

  • La première étape consiste à réaliser le flux rapide des travaux depuis le développement jusqu'à l'exploitation et la maintenance de gauche à droite.
    Pour maximiser l'optimisation du flux de travail, vous devez visualiser le travail, réduire la taille des lots et les intervalles d'attente, empêcher les défauts d'être transmis en aval via la qualité intégrée et optimiser en permanence les objectifs globaux.

    Les pratiques pertinentes incluent la construction, l'intégration, les tests et le déploiement continus, la configuration d'environnements à la demande, la limitation du nombre de WIP et la création de systèmes et d'organisations capables de mettre en œuvre les changements en toute sécurité.

  • La deuxième étape consiste à appliquer un mécanisme de retour d’information continu et rapide sur chaque étape, de droite à gauche.
    Cette méthode évite la récurrence des problèmes en amplifiant la boucle de rétroaction, raccourcit le cycle de détection des problèmes et permet une réparation rapide.

    De cette façon, nous contrôlons la qualité depuis la source et intégrons les connaissances pertinentes dans le processus. Non seulement cela crée un système de travail plus sûr, mais cela permet également de détecter et de résoudre les incidents catastrophiques avant qu’ils ne surviennent.

  • La troisième étape consiste à établir une culture d’entreprise créative et hautement crédible qui soutient des expériences dynamiques, rigoureuses et scientifiques.
    En prenant des risques de manière proactive, vous pouvez apprendre non seulement de vos succès, mais aussi de vos échecs.

    En raccourcissant et en amplifiant continuellement les boucles de rétroaction, vous créez non seulement des systèmes de travail plus sûrs, mais vous prenez également plus de risques et menez des expériences pour vous aider à vous améliorer plus rapidement que vos concurrents et à les battre sur le marché.

Dans le cadre de la troisième étape, nous sommes en mesure de faire en sorte que le système de travail fasse plus avec moins, transformant l'optimisation locale en optimisation globale. En outre, quelle que soit la personne impliquée dans le travail, toute expérience peut être continuellement accumulée et les membres de l'organisation peuvent apprendre de l'expérience et de la sagesse de chacun.

2. Première étape : principe de flux

Dans la chaîne de valeur technologique, le travail passe généralement des développeurs aux opérations, c'est-à-dire à toutes les fonctions entre l'entreprise et les clients.

La première étape de la méthode de travail décrite dans ce chapitre consiste à établir un flux de travail rapide et fluide, du développement à l'exploitation et à la maintenance, capable d'apporter de la valeur aux clients. Il est nécessaire d'optimiser pour cet objectif global, plutôt que de se concentrer sur une série d'objectifs locaux, tels que l'achèvement du développement fonctionnel, le taux de découverte et de correction des problèmes lors des tests, la disponibilité de l'exploitation et de la maintenance, etc.

Flux amélioré grâce à une visibilité accrue et continue sur le contenu du travail, une réduction de la taille des lots et des intervalles d'attente, ainsi qu'une qualité intégrée pour empêcher les défauts d'être transmis en aval. En accélérant le flux des flux de valeur technologique, nous pouvons raccourcir les délais pour répondre aux besoins des clients internes et externes, améliorer encore la qualité de notre travail et nous rendre plus agiles et meilleurs que nos concurrents.

Notre objectif est d'améliorer la qualité et la fiabilité de nos services tout en réduisant le temps nécessaire à la mise en production du code. En fait, nous pouvons trouver des indices sur les applications des flux de valeur dans l’industrie manufacturière qui nous aident à appliquer les principes du Lean aux flux de valeur technologiques.

2.1 Rendre le travail visible

  • Le contenu du travail dans l’industrie technologique est invisible, ce qui constitue une différence significative par rapport à la chaîne de valeur manufacturière.
  • Le flux du travail technique peut être accompli d'un simple clic de souris, comme par exemple la réaffectation d'un bon de travail à une autre équipe. Parce que l'opération de clic est trop simple, différentes équipes peuvent « lancer le travail » en raison d'informations incomplètes, et les problèmes existants seront également transmis aux processus en aval, et ces problèmes sont complètement indétectables jusqu'à ce qu'ils ne puissent pas respecter le délai. , ou l'application tombe en panne en production.

Afin de pouvoir identifier où le travail circule, est en attente ou est bloqué, le travail doit être visualisé autant que possible . 可视化工作板C'est une meilleure façon de travailler, comme utiliser des cartes papier ou électroniques pour afficher diverses tâches sur un tableau Kanban ou un tableau de planification Sprint.
Insérer la description de l'image ici

Idéalement, un tableau Kanban devrait couvrir l’ensemble de la chaîne de valeur ; le travail n’est terminé que lorsqu’il atteint l’extrême droite du tableau Kanban. L'achèvement du développement d'une certaine fonction ne peut pas être considéré comme « terminé », mais uniquement lorsque l'application s'exécute avec succès dans l'environnement de production et commence à apporter de la valeur aux clients.

En mettant tout le travail de chaque centre de travail dans une file d'attente et en l'affichant visuellement, il est plus facile pour les parties prenantes de prioriser chaque travail en fonction de l'objectif global. De cette manière, chaque centre de travail peut adopter une méthode de traitement à tâche unique, en commençant par la tâche la plus prioritaire et en terminant tout le travail afin d'augmenter le débit du centre de travail.

2.2 Limiter le nombre de produits

Le travail technique est souvent dynamique, en particulier là où des services partagés existent, et les équipes doivent répondre simultanément aux besoins de nombreuses parties prenantes, ce qui conduit à des arrangements ad hoc qui contrôlent le travail quotidien .

Les travailleurs technologiques sont facilement interrompus car les conséquences de cette perturbation semblent invisibles pour tout le monde, même si elle a un impact plus important sur la productivité que dans le secteur manufacturier. Par exemple, si un ingénieur est affecté à plusieurs projets en même temps, il devra basculer entre plusieurs tâches, règles cognitives et objectifs, et payer le coût de sa réintégration dans son rôle.

Lorsque vous utilisez des tableaux Kanban pour gérer le travail, vous pouvez limiter l'apparition du multitâche. En limitant le nombre d’artefacts, vous pourrez également identifier plus facilement les obstacles dans votre travail.

2.3 Réduire la taille du lot

Dans le cadre du Lean, une leçon importante est que pour réduire les délais de livraison et améliorer la qualité des livrables, il faut continuellement privilégier les petits lots . Théoriquement, la taille minimale du lot est 单件流celle dans laquelle une seule unité de produit est traitée par opération.

"Cas classique d'envoi simulé de brochures"
Cet exemple suppose que 10 brochures doivent être postées. Avant l'envoi, chaque brochure doit passer par 4 étapes : pliage, insertion des enveloppes, fermeture des enveloppes et tamponnage.

Si vous utilisez une stratégie à volume élevé (c'est-à-dire « production de masse »), nous effectuerons les 4 étapes ci-dessus dans l'ordre pour chaque brochure. En d’autres termes, pliez d’abord les 10 morceaux de papier, puis insérez chaque morceau de papier dans une enveloppe, puis scellez toutes les enveloppes et enfin tamponnez-les toutes.

Une stratégie à faible lot (c'est-à-dire « flux monobloc ») dans laquelle toutes les étapes requises sont effectuées séquentiellement pour chaque brochure avant de commencer avec la brochure suivante. En d’autres termes, vous pliez un morceau de papier, l’insérez dans une enveloppe, scellez l’enveloppe et tamponnez-la ; puis retirez un morceau de papier et répétez le processus.

La différence entre adopter une stratégie à volume élevé ou à faible volume est énorme. Supposons que les 4 étapes ci-dessus doivent être effectuées pour les 10 enveloppes et que chaque étape prend 10 secondes. Si vous utilisez une politique de lots importants de 5, il faut 310 secondes pour remplir la première enveloppe timbrée.
Insérer la description de l'image ici

Pour aggraver les choses, supposons que nous constations que la première étape de pliage est erronée lors de l'opération de scellage de l'enveloppe (en supposant qu'elle ne peut être découverte qu'au moment du scellement), dans ce cas, le plus tôt possible pour trouver l'erreur est après 200 secondes. il faudrait alors replier et remettre les 10 livrets de ce lot dans les enveloppes.
En revanche, avec la stratégie des petits lots, la production de la première lettre affranchie ne prend que 40 secondes, ce qui est 8 fois plus rapide que la stratégie des grands lots. Si vous faites une erreur lors de la première étape, retravaillez simplement une brochure. Des lots plus petits produisent moins de travaux en cours, les délais sont plus courts, les erreurs sont détectées plus rapidement et les retouches sont réduites.

2.4 Réduire le nombre de transferts

Dans la chaîne de valeur technologique, si les délais de déploiement se mesurent en mois, c'est souvent parce que le déploiement de code depuis un système de contrôle de version vers la production nécessite des centaines, voire des milliers d'opérations. En fait, dans le processus de flux de valeurs de code, cela nécessite la collaboration de divers départements pour accomplir des tâches connexes, notamment les tests fonctionnels, les tests d'intégration, la configuration de l'environnement, la configuration du serveur, la gestion du stockage, le réseau, l'équipement d'équilibrage de charge, le renforcement de la sécurité de l'information, etc. .

Lorsqu'un travail est confié à plusieurs équipes, cela nécessite beaucoup de communication : demander, déléguer, notifier, coordonner et souvent prioriser, planifier, résoudre les conflits, tester et valider.

Pour réduire ces problèmes, essayez de réduire le nombre de transferts, d'automatiser la plupart des opérations ou de restructurer l'organisation afin que les équipes puissent apporter de la valeur aux clients de manière indépendante sans dépendre des autres. Par conséquent, augmentez la liquidité en réduisant le temps d'attente dans les files d'attente et le temps consacré aux travaux sans valeur ajoutée.

2.5 Identifier et améliorer continuellement les points de contrainte

Afin de réduire les délais et d'améliorer le débit, nous devons continuellement identifier les points de contrainte dans le système et améliorer la productivité du travail.

"Dans toute chaîne de valeur, il y a toujours un sens de flux et un point de contrainte. Toute optimisation qui ne vise pas ce point de contrainte est une illusion."

  • Si nous optimisons le poste de travail avant le point de contrainte, alors le travail sera retardé plus rapidement à ce point de contrainte.
  • Au contraire, si le poste de travail après le point de contrainte est optimisé, il sera également en état de faim, en attendant la fin des travaux au point de contrainte.

solution:

  • Identifier les points de contrainte du système ;
  • Décidez comment exploiter ce point de contrainte du système ;
  • Sur la base des décisions ci-dessus, considérez la situation globale ;
  • Améliorer les contraintes du système ;
  • Si le point de contrainte a été dépassé, revenez à la première étape, mais évitez les contraintes du système causées par l'inertie.

Lors du processus de transformation DevOps, si vous souhaitez réduire le délai de plusieurs mois ou trimestres à quelques minutes, vous devez généralement optimiser les points de contrainte suivants dans l'ordre.

  • Configuration de l'environnement
    Si la configuration d'un environnement de production ou de test prend toujours des semaines ou des mois, le déploiement à la demande n'est pas possible. La solution consiste à établir un environnement entièrement en libre-service à la demande pour garantir que l'équipe puisse créer automatiquement l' environnement lorsqu'elle en a besoin.
  • Déploiement du code
    Si le déploiement du code prend des semaines ou plus (par exemple, chaque déploiement nécessite 1 300 opérations manuelles sujettes aux erreurs et implique jusqu'à 300 ingénieurs), il ne peut pas être déployé à la demande. La solution consiste à automatiser le processus de déploiement autant que possible afin que tout développeur puisse automatiser le déploiement à la demande .
  • Préparation et exécution des tests
    Si chaque déploiement de code prend deux semaines pour préparer l'environnement de test et configurer l'ensemble de données, et qu'il faut encore quatre semaines pour effectuer manuellement tous les tests de régression, le déploiement à la demande n'est pas possible. La solution consiste à automatiser les tests afin que la vitesse des tests puisse suivre la vitesse de développement du code tout en déployant en toute sécurité et en parallèle.
  • Architecture étroitement couplée
    Si l'architecture est étroitement couplée, le déploiement à la demande n'est pas possible car chaque fois qu'une modification de code est effectuée, l'ingénieur doit obtenir l'autorisation du comité d'examen des modifications pour mettre en œuvre la modification. La solution consiste à créer des architectures faiblement couplées afin que les développeurs puissent apporter des modifications en toute sécurité et de manière autonome, augmentant ainsi la productivité.

2.6 Éliminer les dilemmes et le gaspillage dans la chaîne de valeur

Une définition courante du gaspillage dans le Lean est « l’acte d’utiliser des matériaux ou des ressources qui dépassent ce dont le client a besoin et ce pour quoi il est prêt à payer ».

Le gaspillage et la détresse sont les principaux facteurs responsables des retards de livraison dans le processus de développement logiciel.

  • Travail en cours : il fait référence à tout travail dans la chaîne de valeur qui n'est pas encore complètement terminé (par exemple, les documents d'exigences ou les ordres de modification qui n'ont pas encore été examinés) ou le travail en file d'attente (comme les ordres de travail en attente de Examen d'assurance qualité ou examen de l'administrateur du serveur). Les travaux partiellement achevés expirent progressivement et finissent par perdre de leur valeur avec le temps.
  • Travail supplémentaire : travail supplémentaire effectué pendant le processus de livraison qui n'ajoute pas de valeur au client. Cela peut inclure des documents qui ne sont jamais utilisés dans les centres de travail en aval, ou des révisions ou approbations de résultats de sortie qui n'ajoutent pas de valeur. Des processus supplémentaires augmentent non seulement la charge de travail de traitement, mais augmentent également les délais de livraison.
  • Extras : les fonctionnalités intégrées au processus de livraison qui ne sont tout simplement pas requises par l'organisation ou le client (par exemple, « plaqué or »). Des fonctionnalités supplémentaires augmentent la complexité et les efforts de test fonctionnel et de gestion.
  • Changement de tâche : lorsque des personnes sont affectées à plusieurs projets et flux de valeur, elles doivent changer de contexte et gérer les dépendances entre les tâches, ce qui consomme du travail et du temps supplémentaires dans la chaîne de valeur.
  • Attente : l'attente entre les tâches en raison de la concurrence pour les ressources augmente le temps de cycle et retarde la fourniture de valeur aux clients.
  • Mouvement : quantité de travail qui déplace des informations ou des données entre les postes de travail. Par exemple, dans un projet qui nécessite une communication fréquente, les membres de l'équipe ne travaillent pas réellement ensemble et ne peuvent pas s'asseoir ensemble pour collaborer étroitement, ce qui entraîne un gaspillage de mouvements de personnel. De plus, les transferts de tâches peuvent également créer un gaspillage de mouvement, nécessitant une communication supplémentaire pour clarifier toute partie ambiguë.
  • Défaut : Une erreur, un caractère incomplet ou une ambiguïté dans les informations, les matériaux ou les produits qui nécessitent un certain effort pour être confirmés. Plus le délai entre l’apparition d’un défaut et sa détection est long, plus il est difficile de résoudre le problème.
  • Travail non standard ou manuel : travail non standard ou manuel qui nécessite de s'appuyer sur d'autres, comme l'utilisation de serveurs, d'environnements de test et de configurations qui ne peuvent pas être automatisés et reconstruits à plusieurs reprises. Idéalement, tout ce qui dépend des équipes opérationnelles pour le faire manuellement devrait être configuré pour être automatisé, à la demande ou en libre-service.
  • Pit-filler : Afin d'atteindre les objectifs de l'organisation, certaines personnes et équipes doivent être placées dans des situations déraisonnables. Cela peut même devenir leur routine quotidienne (par exemple, un accident survient dans l'environnement de production à deux heures du matin). au milieu de la nuit, et des centaines de versions de logiciels sont soumises pendant la nuit.

Notre objectif est de visualiser ces gaspillages et dilemmes (partout où un remplissage est nécessaire) et d'apporter systématiquement des améliorations pour réduire ou éliminer ces fardeaux afin d'atteindre l'objectif d'un flux rapide.

2.7 Résumé

Améliorer la fluidité des flux de valeur technologique est essentiel à la mise en œuvre de DevOps. Pour ce faire, nous devons visualiser le travail, limiter les travaux en cours, réduire la taille des lots, réduire le nombre de transferts, identifier et améliorer en permanence les points de contrainte et éliminer les dilemmes de travail quotidiens.

3. Deuxième étape : principe de rétroaction

La méthode de travail de la première étape décrit le principe (le principe de flux) qui permet au travail de s'écouler rapidement de gauche à droite dans la chaîne de valeur.
Les principes décrits dans la méthode de travail de la deuxième étape (principe du feedback) permettent d'obtenir un feedback de travail rapide et continu à chaque étape de droite à gauche.
Notre objectif est de créer des systèmes de travail sûrs et fiables

3.1 Travailler en toute sécurité dans des systèmes complexes

Une caractéristique importante des systèmes complexes est l’incapacité de voir le système dans son ensemble et de comprendre comment les différentes parties s’articulent. Les composants des systèmes complexes sont généralement étroitement couplés et étroitement liés. Le comportement du système ne peut pas être expliqué uniquement sur la base du comportement des composants.

Les défaillances des systèmes complexes existent et sont inévitables. Par conséquent, que ce soit dans le secteur de la fabrication ou des technologies de l'information, nous devons concevoir un système de travail sûr qui permet aux employés d'effectuer leur travail sans crainte et garantit que les conséquences catastrophiques telles que des blessures corporelles, des défauts de produits ou un impact négatif sur les clients sont évitées le plus tôt possible. ), les erreurs peuvent être rapidement détectées avant qu’elles ne surviennent

Nous ne sommes peut-être pas en mesure de concevoir un système absolument sécurisé, mais nous pouvons faire fonctionner des systèmes complexes de manière plus sécurisée en prenant les quatre mesures suivantes :

  • Gérer des travaux complexes pour identifier les problèmes de conception et de fonctionnement ;
  • Travailler ensemble pour résoudre des problèmes et acquérir rapidement de nouvelles connaissances ;
  • Appliquer les nouvelles connaissances régionales au contexte mondial dans l’ensemble de l’organisation ;
  • Les dirigeants doivent continuer à former des personnes possédant les talents ci-dessus.

3.2 Trouver les problèmes à temps

Dans un système de travail sécuritaire, nous validons continuellement les conceptions et les hypothèses . L'objectif est d'augmenter le flux d'informations du système plus tôt, plus rapidement, au moindre coût possible, à partir d'autant de dimensions que possible, et de déterminer les causes et les conséquences du problème aussi clairement que possible. Plus nous pouvons écarter d’hypothèses, plus vite nous pouvons identifier et résoudre les problèmes, augmentant ainsi notre résilience, notre agilité et notre capacité à apprendre et à innover.

Nous faisons cela en intégrant le système de travail 反馈et前馈回路

Dans les opérations de fabrication haute performance, il existe un flux d'informations rapide, fréquent et de haute qualité tout au long de la chaîne de valeur : chaque opération de processus est mesurée et surveillée, et tout défaut ou écart grave peut être rapidement découvert et traité. Ces éléments constituent la base pour garantir la qualité, la sécurité et l’apprentissage et l’amélioration continus.

Notre objectif devrait être d'établir des boucles de rétroaction et d'anticipation rapides, car tout le travail est effectué à chaque étape de la chaîne de valeur technologique, y compris la gestion des produits, le développement, l'assurance qualité, la sécurité des informations et les opérations. Cela inclut la création de processus automatisés de création, d'intégration et de test pour détecter le plus tôt possible les modifications de code susceptibles d'entraîner des défauts.

Nous devons également établir un système de surveillance complet pour surveiller l'état de fonctionnement des composants de service dans l'environnement de production afin de détecter rapidement les situations de service inattendues. Le système de surveillance peut également nous aider à mesurer si nous nous écartons des objectifs attendus et à diffuser les résultats de la surveillance à l'ensemble de la chaîne de valeur, afin que nous puissions voir comment nos actions affectent d'autres parties du système.

3.3 Travailler ensemble pour surmonter les problèmes et acquérir de nouvelles connaissances

Il est évident que détecter simplement la survenance d’un accident ne suffit pas. Lorsqu'un problème survient, nous devons travailler ensemble et mobiliser tout le personnel concerné pour résoudre le problème.

Cela permet à toutes les personnes impliquées de mieux comprendre comment gérer le système, transformant ainsi les inévitables premières étapes de l’ignorance en un processus d’apprentissage.

Les raisons du travail d’équipe sont les suivantes :

  • Évitez que des problèmes ne soient introduits dans les maillons de traitement en aval, sinon non seulement le coût et la charge de travail des réparations augmenteront de façon exponentielle, mais vous contracterez également une dette technique ;
  • Empêcher les centres de travail de démarrer de nouvelles tâches, ce qui pourrait introduire de nouvelles erreurs dans le système ;
  • Si le problème n'est pas résolu, le poste de travail peut rencontrer le même problème lors de l'opération suivante, nécessitant des coûts de réparation plus élevés.

3.4 Assurer la qualité à la source

Voici des exemples de contrôle qualité inefficace :

  • D'autres équipes doivent aider à accomplir une série de tâches manuelles fastidieuses, sujettes aux erreurs et qui doivent être automatisées par le demandeur lui-même.
  • Exiger l'approbation de personnes éloignées du lieu de travail réel et occupées par des tâches officielles, les obliger à prendre des décisions sans comprendre la situation de travail et l'impact potentiel, ou avec simplement un cachet d'approbation de routine.
  • Rédiger de grandes quantités de documentation contenant des détails douteux et qui devient obsolète peu de temps après avoir été rédigée.
  • Transférez une grande quantité de travail à l'équipe d'exploitation et de maintenance et aux membres du comité d'experts pour approbation et traitement, puis attendez une réponse.

Dans notre travail quotidien, nous avons besoin que tous les acteurs de la chaîne de valeur identifient et résolvent les problèmes dans leurs domaines de contrôle. De cette manière, le contrôle qualité, la responsabilité en matière de sécurité et la prise de décision peuvent être placés dans le contexte du travail effectué, plutôt que de dépendre de l'approbation périphérique des cadres supérieurs.

3.5 Optimisé pour les postes de travail en aval

Lean définit que nous devons concevoir pour deux types de clients : les clients externes (ceux les plus susceptibles de payer pour les services que nous fournissons) et les clients internes (ceux qui nous suivent immédiatement pour recevoir et traiter le travail). Selon les principes Lean, nos clients les plus importants sont nos clients en aval. Optimiser notre travail pour eux nous oblige à comprendre leurs problèmes afin de mieux identifier les problèmes de conception qui entravent un flux rapide et fluide.

Dans la chaîne de valeur technologique, nous optimisons les centres de travail en aval en concevant pour les opérations, y compris les exigences non fonctionnelles pour les opérations (telles que l'architecture, les performances, la stabilité, la testabilité, la configurabilité et la sécurité) et la fonctionnalité utilisateur est tout aussi importante.

3.6 Résumé

La mise en place d’un mécanisme de retour d’information rapide est cruciale pour atteindre une qualité, une fiabilité et une sécurité élevées dans la chaîne de valeur technologique. Pour ce faire, nous devons identifier les problèmes lorsqu'ils surviennent, travailler ensemble pour résoudre les problèmes et acquérir de nouvelles connaissances, contrôler la qualité à la source et optimiser en permanence les centres de travail en aval.

4. Troisième étape : principes d’apprentissage continu et d’expérimentation

La première étape consiste à établir un flux de travail de gauche à droite (principe du flux).
La deuxième étape consiste à établir un feedback rapide et continu de droite à gauche (principe du feedback).
La troisième étape consiste à établir une culture d'apprentissage et d'expérimentation continus ( apprentissage continu et principes expérimentaux)

En appliquant la méthode de travail en trois étapes, les compétences personnelles peuvent être continuellement améliorées, qui peuvent ensuite être transformées en un atout pour l'équipe et l'organisation.

La création d’une culture de confiance élevée est au cœur de la chaîne de valeur technologique. Il souligne que chacun apprend continuellement et doit prendre des risques dans son travail quotidien, améliorer les processus et développer des produits grâce à des méthodes scientifiques, et accumuler les leçons des succès et des échecs pour identifier les idées précieuses et abandonner les idées inutiles. De plus, toutes les expériences locales seront rapidement transformées en améliorations globales, aidant ainsi l’ensemble de l’organisation à essayer et mettre en pratique les nouvelles technologies.

Promouvoir et sauvegarder davantage l’apprentissage en réservant du temps pour les améliorations quotidiennes. L’amélioration continue est renforcée par une pression continue sur le système. Dans des circonstances contrôlables, nous améliorons même la résilience en simulant ou en injectant des fautes dans l’environnement de production.

4.1 Établir une organisation apprenante et une culture de sécurité

Dans la chaîne de valeur technologique, en nous efforçant de créer des systèmes de travail sûrs, nous pouvons jeter les bases d’une culture dynamique. Lorsque des accidents et des pannes se produisent, concentrez-vous sur la façon de repenser le système pour éviter que cela ne se reproduise, plutôt que de vous attaquer aux problèmes humains.

4.2 Institutionnaliser les améliorations dans le travail quotidien

Dans la chaîne de valeur technologique, afin de prévenir des accidents catastrophiques, les équipes sont obligées de mettre en œuvre diverses solutions temporaires, mais elles n'ont pas le temps d'accomplir ces tâches précieuses. Par conséquent, les solutions ad hoc aux problèmes conduisent souvent à une accumulation de problèmes et de dettes techniques.

Améliorez votre travail quotidien en réservant explicitement du temps pour rembourser la dette technique, corriger les bugs, refactoriser et optimiser votre code et votre environnement. Vous pouvez réserver une période de temps au cours de chaque cycle de développement ou planifier une période de blitz Kaizen, au cours de laquelle les ingénieurs peuvent former leurs propres équipes pour résoudre les problèmes qui les intéressent.

Pour la chaîne de valeur technologique, rendre les systèmes opérationnels plus sécurisés peut également aider à identifier et à gérer les risques potentiels. Par exemple, nous pourrions commencer par une enquête post-mortem sans blâme sur un incident ayant eu un impact sur le service client, et au fil du temps, nous identifierons progressivement d'autres risques potentiels.

4.3 Transformer les résultats locaux en optimisation globale

NR est mondialement connu pour son adhésion à des processus standardisés, et tout écart de processus ou de fonctionnement nécessite la rédaction d'un rapport de panne afin d'accumuler de l'expérience. Quelle que soit la force du signal de défaillance ou le niveau de risque, les conceptions de processus et de systèmes sont continuellement mises à jour sur la base de ces expériences.

Dans le flux de valeur technique, nous devrions également établir une base de connaissances mondiale grâce à un mécanisme similaire. Par exemple, convertissez tous les rapports d'incidents en une base de connaissances consultable afin que les équipes qui en ont besoin puissent l'utiliser plus facilement pour résoudre des problèmes similaires, tout en établissant une base de code source partagée au niveau de l'organisation afin que chacun puisse l'utiliser facilement dans l'ensemble de l'organisation. , bibliothèques et configuration. Ces mécanismes contribuent à transformer l’expertise individuelle en sagesse collective au service d’un plus grand nombre de membres.

4.4 Injecter de la flexibilité dans le travail quotidien

Les organisations très performantes obtiennent ou obtiennent de meilleurs résultats en améliorant leurs opérations quotidiennes, en introduisant continuellement des tensions pour améliorer la productivité et en injectant une plus grande flexibilité dans le système.

Grâce à une expérimentation continue dans leur travail quotidien, ils sont en mesure d’augmenter continuellement leur capacité de production sans ajouter de nouvel équipement ou de personnel. L’introduction de ce type d’amélioration augmente non seulement la productivité, mais augmente également la résilience, car les organisations sont toujours dans un état de tension et de changement.

Dans la chaîne de valeur technique, la réduction du délai de déploiement, l'amélioration de la couverture des tests, la réduction du temps d'exécution des tests et même le découplage de l'architecture lorsque cela est nécessaire sont autant de pratiques qui introduisent des tensions similaires dans le système et peuvent également améliorer la productivité des développeurs. fiabilité

4.5 Le leadership renforce la culture d’apprentissage

Les dirigeants et les travailleurs de première ligne entretiennent une relation de travail complémentaire et doivent se respecter. Cette relation est nécessaire parce que personne ne peut résoudre le problème seul : le leader n’effectuera pas
personnellement le travail de première ligne requis pour résoudre le problème, et les travailleurs de première ligne ne comprendront pas l’environnement organisationnel dans son ensemble ni n’auront les compétences nécessaires pour le faire. en dehors de leur zone de travail, le pouvoir de changer.

Guidés par ces objectifs stratégiques, nous établissons des objectifs à court terme pour les itérations imbriquées, puis définissons des conditions d'objectif au niveau de la chaîne de valeur ou du centre de travail (par exemple, réduire les délais de livraison de 10 % au cours des deux prochaines semaines) pour atteindre ces objectifs. Ces conditions cibles forment le cadre d'une expérience scientifique : une description claire du problème à résoudre, les hypothèses formulées concernant la solution, les méthodes pour tester les hypothèses, l'interprétation des résultats et la manière d'utiliser l'expérience pour procéder. la prochaine itération.

Les dirigeants peuvent utiliser les questions suivantes pour aider et encadrer les expérimentateurs :

  • Qu'avez-vous fait à l'étape précédente ? ce qui s'est passé?
  • Qu’avez-vous appris de cela ?
  • Quelle est la situation actuelle?
  • Quelle est la prochaine condition cible ?
  • Quels sont les freins à votre emploi actuel ?
  • Et après?
  • Quel est le résultat souhaité ?
  • Quand peut-on procéder à un examen ?

La manière dont les dirigeants aident les travailleurs de première ligne à identifier et à résoudre les problèmes dans leur travail quotidien est en réalité au cœur du système de production Toyota, ainsi qu'au cœur des organisations apprenantes, des routines d'amélioration et des organisations à haute fiabilité.

Dans la chaîne de valeur technologique, cette méthode d'expérimentation et d'amélioration itérative nous guide non seulement pour améliorer les processus internes, mais nous guide également pour mener continuellement des expériences pour garantir que les produits que nous construisons peuvent apporter de la valeur aux clients internes et externes.

4.6 Résumé

Le principe de la troisième étape de la méthode de travail en trois étapes permet d'aboutir à une organisation apprenante, d'atteindre un niveau élevé de confiance et de coopération interdépartementale entre les départements fonctionnels, d'accepter le fait que « des échecs se produiront toujours dans des systèmes complexes » et d'encourager à parler de tout problèmes pour établir un système de travail sûr. Cela nécessite également d’institutionnaliser les améliorations dans le travail quotidien, de transformer les résultats locaux en connaissances pouvant être utilisées et apprises par l’ensemble de l’organisation, et d’injecter constamment des tensions dans le travail quotidien.

Bien que cultiver une culture d’apprentissage et d’expérimentation continus soit un principe de la troisième étape, il est indissociable des méthodes de travail des étapes un et deux. En d’autres termes, obtenir un flux de travail rapide et un retour d’information rapide et continu nécessite l’utilisation de méthodes itératives et expérimentales, notamment l’établissement des conditions cibles, la description de la solution envisagée, la conception et la réalisation d’expériences et l’évaluation des résultats.

Le résultat de cette troisième étape est non seulement une performance élevée, mais également une résilience accrue, une satisfaction professionnelle des employés et une adaptabilité organisationnelle.

Je suppose que tu aimes

Origine blog.csdn.net/u010230019/article/details/132667347
conseillé
Classement