Si vous ne comprenez pas ce qu'est DevOps, voici un bref rappel. DevOps est un ensemble de pratiques qui rĂ©duisent les craintes des ingĂ©nieurs et diminuent le nombre de pannes dans la production de logiciels. En gĂ©nĂ©ral, elles rĂ©duisent le temps de mise sur le marchĂ© â la pĂ©riode entre l'idĂ©e et la livraison du produit final aux clients, ce qui permet d'effectuer rapidement des expĂ©riences commerciales..
Comment commencer la transformation DevOps ? En bref : choisissons le service à partir duquel nous allons entamer le processus, identifions ceux qui sont concernés par le service, construisons une carte de flux de valeur, formons une équipe temporaire qui s'occupera de la transformation pendant un certain temps et lui fixons une tùche. Répétons le cycle autant de fois que nécessaire.

Un plan dĂ©taillĂ© de la transformation DevOps avec des exemples et des instructions est disponible sous le spoiler â dans la transcription Andrei Alexandrov â d'un ingĂ©nieur de l'entreprise Express42, qui conseille sur la mise en place de DevOps, en accĂ©lĂ©rant ce processus, car elle a dĂ©jĂ construit une carte des Ă©cueils. Si vous pensez que la transformation n'est pas nĂ©cessaire, ou que votre spĂ©cificitĂ© fait que les pratiques DevOps ne conviennent pas, utilisez le rapport comme un guide pour identifier et rĂ©soudre les contraintes.
Si la question de la transformation DevOps vous prĂ©occupe, c'est que vous avez une grande entreprise, et il est nĂ©cessaire d'Ă©largir progressivement ce processus Ă toute la structure. Tant qu'il est nĂ©cessaire de transformer l'Ă©quipe ou de rĂ©soudre une contrainte, l'algorithme ci-dessous peut ĂȘtre rĂ©pĂ©tĂ©.
Choix du service
Nous avons esquissĂ© un plan, commençons par la premiĂšre Ă©tape : choisir le service. Le premier critĂšre est la durĂ©e de vie: il y a des anciens services â legacy, et des nouveaux. On peut commencer avec l'un ou l'autre.
Choisir un service jeune est logique.Il est nouveau, il n'y a pas encore de processus établi au sein de l'équipe qui s'en occupe. Il n'y a pas une montagne de dettes techniques, il n'est pas nécessaire de le réparer constamment. Nous pouvons faire tout ce que nous voulons avec.
Dans le cas d'un ancien service, des problĂšmes se posent, car le changement est toujours difficile.Il y a dĂ©jĂ un ensemble de contraintes sĂ©rieuses, mais peut-ĂȘtre que des personnes s'en occupent qui sont prĂȘtes Ă tout reprendre â elles sont fatiguĂ©es et veulent faire les choses diffĂ©remment, parce qu'elles souffrent.
Travailler avec un ancien service crĂ©e un puissant prĂ©cĂ©dent dans votre entreprise â on peut changer quelque chose. Si vous avez modifiĂ© un nouveau service, qui est en production 100 fois par heure, et que tout va bien, alors les gens dans votre entreprise peuvent dire :
â C'est un nouveau service ! C'Ă©tait si simple avant, essayez de faire quelque chose avec notre vieux tas de ferraille.
Un service legacy a du sens Ă transformer, lorsque vous le faites avec quelqu'un, par exemple, si vous avez invitĂ© un consultant externe. Soyons honnĂȘtes, la transformation va bouleverser tout ce qui peut l'ĂȘtre.. Vous expĂ©rimentez et vous ne savez pas oĂč vous allez, quelles technologies vous allez utiliser et pourquoi, oĂč et quels piĂšges vous rencontrerez dans les processus. C'est pourquoi il est plus facile de changer pour un nouveau.
Si vous faites tout vous-mĂȘme et qu'il n'y a pas de compĂ©tence sĂ©rieuse dans l'entreprise â prenons un nouveau service. Si vous connaissez un consultant externe et avez des fonds â choisissez l'ancien.
Il y a des services qui ne sont qu'une interface pour les utilisateurs, comme un simple site web ou une application mobile. Mais il y a des choses sérieuses comme la facturation. Si quelque chose va mal avec la facturation, il sera difficile de résoudre le problÚme. Ici aussi, nous avons le choix.
Nous travaillons soit avec un service critique, mais dĂ©jĂ Ă cause de lui nous souffrons, il crĂ©e des limitations, soit nous travaillons avec une interface. C'est le deuxiĂšme critĂšre de choix. De mĂȘme, il est possible de faire appel Ă un consultant expĂ©rimentĂ© â nous travaillons avec l'option la plus complexe.
Mais mĂȘme dans ce cas, je ne recommanderais pas de le faire, car tant que nous n'avons pas compris sur quoi nous travaillons et dans quelle direction transformer, prendre quelque chose de critique et le chambouler â ce n'est pas une trĂšs bonne idĂ©e. C'est pourquoi dans ce cas nous prĂ©fĂ©rons travailler avec une interface, dont la panne n'est pas critique.
Ensuite, examinons l'équipe de service. Avec ceux qui s'occupent de ce service, nous devrons travailler constamment et interagir dans un contact trÚs étroit.
Les gens dans l'Ă©quipe se divisent en deux catĂ©gories : les conservateurs â ils vivent dans l'ancien monde, ou ne savent tout simplement rien sur le DevOps, et les innovateurs, qui tirent toutes les pratiques Ă la mode. Les seconds ne comprennent pas toujours le sujet, mais au moins ils sont prĂȘts Ă s'y attaquer.
D'un cĂŽtĂ©, les conservateurs â ce sont des gens expĂ©rimentĂ©s : ils sont dans l'entreprise depuis longtemps, ils comprennent de bout en bout, mais ne connaissent pas vraiment les pratiques. D'un autre cĂŽtĂ© â les innovateurs, qui ont entendu parler de certains sujets, mais qui travaillent probablement dans l'entreprise depuis pas trĂšs longtemps. Avec qui est-il prĂ©fĂ©rable de travailler ?
Il faudra interagir avec les conservateurs de toute façon, car c'est leur service. Nous devrons communiquer avec eux, clarifier les spĂ©cificitĂ©s du service, ce qui peut ĂȘtre fait d'une maniĂšre ou d'une autre. Nous dĂ©pendons de leurs conseils. Il est probable que nous devrons leur confier certaines tĂąches, car ils connaissent leur service mieux que quiconque. Il est donc important de savoir avec quelle Ă©quipe nous aurons finalement contact.
Il est logique de choisir une équipe d'innovaturs, car les conservateurs pourraient poser problÚme.
Dans la pratique, il arrive souvent que les personnes conservatrices aient une expérience significative, mais qu'elles ne sachent pas comment avancer. Elles ont simplement peur qu'aprÚs la transformation et la refonte du service, elles soient licenciées par manque de besoin. Parfois, simplement par mécompréhension de ce qui se passe, elles sabotent le travail.
J'ai eu un cas oĂč un gars de l'Ă©quipe rĂ©parait tout ce qui lui passait par la tĂȘte, car cela semblait plus critique que ce que nous faisions Ă ce moment-lĂ . Nous avons une tĂąche : rĂ©aliser cette partie aujourd'hui â non, il y a un incendie Ă l'autre bout du monde, nous allons le rĂ©parer. Travailler avec ce genre de personnes est difficile.
Les gens de l'équipe des conservateurs ont souvent tendance à ignorer les tùches, ou à les remettre à plus tard. Et si, par malheur, vous avez fait une erreur et leur avez imposé des KPI en fonction du nombre de tùches accomplies, et qu'une certaine partie n'est pas incluse dans les KPI pour une raison quelconque, alors ils ne feront absolument rien. En réalité, ils auraient raison, car ils perdraient alors leur prime.
Avec les innovateurs, c'est plus simple â ils sont plus loyaux.. Ils ont dĂ©jĂ entendu parler de quelque chose, ils veulent aller de l'avant, donc ils aideront. Nous avons besoin de personnes prĂȘtes Ă souffrir au dĂ©but : si le service change, tous les problĂšmes et embĂ»ches seront ressentis par les innovateurs en tant que pionniers. Les innovateurs veulent le plus rĂ©cent et le plus tendance, mĂȘme si cela implique de souffrir.
Les conservateurs peuvent ĂȘtre convertis plus tard Ă notre vision. Lorsque vous montrerez qu'une petite partie a Ă©tĂ© changĂ©e et que tout fonctionne bien, il est probable qu'ils voudront aussi essayer et accepter la nouvelle religion DevOps.

En rĂ©sumĂ©. Si nous faisons toute la transformation dans notre entreprise nous-mĂȘmes, alors nous choisissons : un nouveau service, de prĂ©fĂ©rence avec une interface simple, afin de ne pas trop souffrir des pannes, et une Ă©quipe d'innovateurs.
S'il est possible de faire appel à un consultant externe, plutÎt que de prendre un nouveau service, utilisons l'ancien service dont nous souffrons déjà . Les personnes qui ont travaillé sur des transformations pendant un certain temps dans différentes entreprises ont vu divers cas et comprennent déjà comment faire les choses correctement et dans quelle direction aller.
Qui est impliqué ?
Nous devons trouver toutes les personnes ayant un lien avec le service : dĂ©veloppeurs, testeurs, administrateurs, spĂ©cialistes de la sĂ©curitĂ©, gestionnaires et, peut-ĂȘtre, Product Owners. Bien que les Product Owners ne soient pas des techniciens, ils ont un lien avec le service : ils prennent des dĂ©cisions et dĂ©finissent des tĂąches.

Nous devons trouver, rencontrer et discuter avec tous ceux qui prennent des décisions et influencent ce qui se passe avec le service.
Pourquoi en avons-nous besoin ? Pour savoir avec qui nĂ©gocier.. Pendant la transformation, lorsque le principe de fonctionnement habituel du service change, il sera inĂ©vitable d'avoir des interruptions. Pendant un certain temps, il y aura des pannes pendant que nous testons de nouvelles approches. Les gens doivent ĂȘtre prĂ©parĂ©s Ă cela et y consentir.
Ensuite, il faudra construire une carte de flux de valeur et sans ces personnes, cela ne pourra pas ĂȘtre rĂ©alisĂ©, car eux seuls connaissent l'ensemble du tableau de ce qui se passe. Une seule personne ne sait jamais tout ce qui se passe avec le service.
Ils recommanderont des personnes pour l'équipe. Plus tard, nous discuterons de la nécessité d'une équipe distincte. Il faudra prendre des personnes des départements existants. Ceux qui ont un lien avec le service pourront recommander des collÚgues pensant dans notre sens, qui peuvent nous aider et ont la compétence dont nous avons besoin.
Ensuite, nous rassemblons toutes ces personnes de diffĂ©rents dĂ©partements dans une mĂȘme piĂšce et nous commençons Ă construire la carte de flux de valeur.
Construire une carte de flux de valeur
La carte de flux de valeur est un schéma ou une carte qui montre le flux de valeur vers le client.C'est l'ensemble du processus, de l'idée à sa réalisation, y compris toutes les étapes intermédiaires et comment la valeur parvient finalement à nos clients.
La carte de flux de valeur est nĂ©cessaire pour visualiser toutes les Ă©tapes du dĂ©veloppement,localiser les problĂšmes Ă travers les mesures existantes dans le processus actuel et commencer Ă les rĂ©soudre, et Ă©tablir un objectif initial.. C'est l'endroit oĂč nous allons rĂ©ellement commencer Ă agir.
Métriques
Dans la littérature sur la carte de flux de valeur, il existe de nombreuses métriques différentes, mais pour commencer, trois suffisent.
Lead Time â dĂ©lai / attente. â un moment oĂč nous attendons quelque chose. Par exemple, un testeur attend qu'un stand soit disponible pour les tests, et pendant ce temps, il ne peut rien faire.
Temps de valeur ajoutĂ©e â temps de travail utile â celui que nous avons passĂ© Ă une certaine Ă©tape pour crĂ©er de la valeur finale pour l'utilisateur. Par exemple, le testeur a lancĂ© son test et a commencĂ© Ă vĂ©rifier quelque chose. C'est ce que l'on appelle le temps de travail utile, lorsque nous faisons rĂ©ellement quelque chose pour le produit. C'est ce pour quoi les clients paient â pour un logiciel de qualitĂ©.
%C/A â pourcentage de travail acceptĂ©. Nous avons une Ă©tape â le dĂ©veloppement, et une deuxiĂšme Ă©tape â le test. Combien de fonctionnalitĂ©s les testeurs ont reçues des dĂ©veloppeurs, et voici ce pourcentage.
Voici Ă quoi ressemble notre carte.

Elle peut sembler différente en fonction de la structure de l'organisation, du nombre de départements et de ce que vous faites. Mais dans l'ensemble, la carte aura deux étapes : idée et analyse. à ce stade, des données sont attendues, par exemple, un Lead Time de 2 semaines et un Temps de valeur ajoutée de 2 jours.
Les métriques couvrent absolument toutes les étapes.
Backlog â combien de tĂąches sont restĂ©es aprĂšs que les analystes les ont imaginĂ©es.
DĂ©veloppement â combien de semaines les dĂ©veloppeurs ont attendu des prĂ©cisions sur les tĂąches, les stands ou l'Ă©quipement â peu importe, mais ils attendent quelque chose. Par exemple, ils mettent 4 jours Ă rĂ©aliser une fonctionnalitĂ©. Ici apparaĂźt la mĂ©trique %C/A. Les dĂ©veloppeurs ont pris dans le Backlog seulement 80 % des tĂąches. Ils estiment que pour les 20 % restants, le cahier des charges n'est pas assez clair, et les ont renvoyĂ©es pour rĂ©ajustement.
Test. Dans le schĂ©ma, LT est fixĂ© Ă 4 jours. Par exemple, les testeurs ont attendu la libĂ©ration du stand de test, VA 2 jours ils testent rĂ©ellement quelque chose, et %C/A = 40 %. â seulement 40 % du code ou des fonctionnalitĂ©s envoyĂ©s par les dĂ©veloppeurs ont Ă©tĂ© jugĂ©s adĂ©quats par les testeurs. Tout le reste ne leur a pas convenu pour une raison quelconque.
Je ne vais pas entrer dans les détails sur la façon de réaliser ces mesures, à la fin de l'article, je recommanderai des lectures pour en apprendre davantage.
La seule chose que je conseille â ne croyez pas les personnes qui vont Ă©tablir avec vous une Value Stream Map. Elles Ă©valuent combien de temps prennent diffĂ©rents processus, mais ces estimations ne sont pas toujours correctes, il vaut donc mieux mesurer soi-mĂȘme.
Il y a eu un cas oĂč nous sommes allĂ©s au service des opĂ©rations et avons demandĂ© combien de temps il fallait pour dĂ©ployer une nouvelle fonctionnalitĂ© en production. On nous a rĂ©pondu 10 minutes, et nous avons pensĂ©, pourquoi sommes-nous venus dans cette entreprise ? Il s'est avĂ©rĂ© que 10 minutes, c'est le temps que met le script pour prendre le code et le dĂ©ployer sur le serveur. Mais avant cela, la version reste trois jours sur le serveur sans rien faire â une tĂąche est en attente dans le Backlog, qu'il faut dĂ©ployer. En fait, avant la phase de dĂ©ploiement, il y a une phase d'attente oĂč le projet reste inactif. Si nous n'Ă©tions pas allĂ©s avec un carnet, si nous n'avions pas remarquĂ© la tĂąche dans Jira et commencĂ© Ă la suivre Ă©tape par Ă©tape, nous aurions cru que tout allait bien et qu'il n'y avait pas de problĂšme.
Il faudra donc faire des mesures vous-mĂȘme, de prĂ©fĂ©rence pas qu'une seule fois, afin d'avoir une idĂ©e proche de la rĂ©alitĂ©. Selon la Value Stream Map, vous prendrez la dĂ©cision d'oĂč commencer et quoi corriger en premier.
Ăquipe temporaire
De nombreuses entreprises qui ont décidé d'implémenter le DevOps créent une équipe, mais ce n'est pas temporaire, elle existe depuis plusieurs années. Si vous consultez un service DevOps qui décrit différents modÚles de structures organisationnelles en DevOps, vous comprendrez que c'est un antipattern.
Quand une équipe DevOps existe de maniÚre permanente pendant plusieurs années, c'est une grande erreur, car DevOps concerne la communication entre les départements, la rapidité et l'efficacité.
Si l'équipe existe entre les départements seulement pour réaliser quelque chose de séparé et dure longtemps, elle crée une barriÚre inutile. Maintenant, au lieu que le programmeur aille directement voir l'administrateur pour résoudre un problÚme, il doit d'abord passer par le service DevOps, et ce dernier s'en occupera ensuite.
Donc, pour commencer, il faut crĂ©er une Ă©quipe temporaire.. Elle existe en principe pendant six mois, au maximum un an, en fonction de l'objectif fixĂ©, uniquement pour Ă©liminer une restriction que nous avons choisie. Ensuite, elle mourra. Si nous dĂ©terminons un autre point oĂč nous Ă©prouvons une grande douleur et que nous comprenons qu'une autre Ă©quipe est aussi nĂ©cessaire pour cela, nous la crĂ©erons Ă nouveau. Mais de telles Ă©quipes ne devraient pas exister en « permanence » â sinon, elles perturbent la communication et prennent en charge des tĂąches distinctes juste pour faire quelque chose. Ces tĂąches peuvent ne pas ĂȘtre en rapport avec DevOps et la transformation. Pourquoi ne pas confier cette tĂąche aux dĂ©partements existants ?
Pourquoi une équipe temporaire est nécessaire
Conflit avec les processus actuels. La transformation DevOps implique non seulement des changements dans les technologies et les outils que nous utilisons, mais aussi un changement dans le processus de travail, la pensée et les valeurs. Si l'équipe continue de travailler comme elle en a l'habitude, elle ne pourra pas explorer d'autres approches.
Ces personnes doivent vivre selon d'autres rÚgles : ignorer tous les KPI de l'entreprise, car elles tentent de travailler différemment. Les équipes temporaires ne rempliront pas de demandes pour obtenir un serveur, mais iront directement au service responsable avec l'exigence de leur donner en premier ce qui est nécessaire, car c'est une tùche prioritaire et parce qu'elles tentent de vivre différemment. L'équipe est en plein conflit avec tous les processus en cours. Pour que les méthodes de travail existantes ne leur posent pas problÚme actuellement, et qu'elles ne perturbent pas les autres, nous isolons ces personnes en les regroupant dans une équipe distincte.
Ăviter la bureaucratie dans les expĂ©rimentations. Dans les Ă©quipes temporaires, il n'y a pas de bureaucratie, elles ne remplissent pas de rapports sur les heures de travail, elles ne rendent pas compte aux gestionnaires. C'est un monde absolument sĂ©parĂ©, oĂč les gens vivent et pensent diffĂ©remment, et s'occupent de choses totalement autres. Il ne faut pas les dĂ©ranger inutilement.
Travail continu sur le service. Dans le premier point, nous avons choisi quelque chose sur lequel nous allons expĂ©rimenter. Les expĂ©rimentations et la recherche de meilleures mĂ©thodes de travail sont bonnes, mais nous voulons aussi crĂ©er des fonctionnalitĂ©s. Si toute l'Ă©quipe se consacre Ă la transformation au lieu des fonctionnalitĂ©s, nous commencerons Ă perdre des revenus, les bugs resteront longtemps non rĂ©solus â ce n'est pas ce que nous voulons. La crĂ©ation d'une Ă©quipe temporaire permet d'expĂ©rimenter sans interrompre le travail sur le produit.
Ne pas perdre de temps sur des tĂąches de travail. C'est encore une fois au sujet du produit. Il faut beaucoup de temps pour que l'Ă©quipe essaie d'autres outils, etc. Pour que les gens se familiarisent avec les outils, commencent Ă les intĂ©grer et Ă les utiliser correctement, il faudra au moins six mois. Si en plus ils doivent s'occuper du produit, ces six mois s'Ă©tireront indĂ©finiment. Si les gens s'occupent du produit, ils travaillent encore avec les anciens processus â ce n'est pas ce dont nous avons besoin.
C'est pourquoi nous recrutons des personnes de différents départements pour constituer une équipe distincte qui s'occupera de la transformation du service. En conséquence, le service fonctionne, continue de se développer, et par ailleurs, nous faisons quelques expériences dessus.
L'Ă©quipe temporaire se concentre uniquement sur la transformation DevOps â sur l'Ă©limination des limitations que nous avons identifiĂ©es, et rien de plus.
L'Ă©quipe se compose de personnes polyvalentes. Cela signifie que nous n'avons pas pris uniquement des dĂ©veloppeurs. Nous ne sommes pas arrivĂ©s dans le service en retirant la moitiĂ© de l'Ă©quipe â non, nous avons pris des gens de diffĂ©rents dĂ©partements. Quelques points plus tĂŽt, nous avons trouvĂ© diffĂ©rents dĂ©partements et diffĂ©rents employĂ©s concernĂ©s par le service en cours de transformation. Nous composons l'Ă©quipe Ă partir de ces personnes, car elle doit ĂȘtre polyvalente â nous allons changer le processus de test, le processus de dĂ©veloppement, et le processus de maintenance du service. Des compĂ©tences variĂ©es sont nĂ©cessaires.
En gĂ©nĂ©ral, nous prenons un dĂ©veloppeur, un testeur et un ingĂ©nieur â un de chaque, et avec eux, nous concevons une solution qui permet de fonctionner autrement.
De prĂ©fĂ©rence, ces personnes devraient avoir du poids dans l'organisation. Il peut ĂȘtre nĂ©cessaire de prendre un conservateur, mĂȘme si ce n'est pas idĂ©al. Si nous avons une grande entreprise, tout le monde ne croira pas Ă notre idĂ©e, et certains peuvent mettre des bĂątons dans les roues, par exemple en ne fournissant pas de stand. C'est lĂ qu'intervient « l'autoritĂ© » â une personne respectĂ©e avec une grande expĂ©rience, qui a gagnĂ© la confiance de ses collĂšgues. L'autoritĂ© d'un collaborateur au sein de l'Ă©quipe facilitera la tĂąche et le travail de l'Ă©quipe temporaire. Les gens penseront :
â Ah, ce mec gĂ©nial que nous connaissons tous et aimons, il y est impliquĂ© â il doit y avoir quelque chose Ă voir avec DevOps !
Nous fixons un objectif
Nous avons rĂ©uni des gens, choisi un service, examinĂ© les limitations, dĂ©terminĂ© sur qui nous pouvons avoir une influence. Maintenant, nous devons dĂ©finir un objectif et il doit ĂȘtre clairement dĂ©fini selon SMART â tout comme nous aimons.
SpĂ©cifique â spĂ©cifique.
Mesurable â mesurable. C'est un point trĂšs important du SMART. Si vous ne pouvez pas mesurer quelque chose, vous ne pouvez pas le changer et comprendre ce que vous avez amĂ©liorĂ© ou dĂ©tĂ©riorĂ©.
Atteignable â atteignable. Prenez en compte votre spĂ©cificitĂ©. Si vous ĂȘtes une entreprise avec une longue histoire et beaucoup de responsabilitĂ©s, qui sort une version de produit par an, vous ne pourrez pas atteindre la sortie de nouvelles versions chaque heure en six mois. Cela ne fonctionnera pas. Donc, fixez un objectif rĂ©aliste qui peut ĂȘtre atteint dans un dĂ©lai acceptable.
Pertinent â pertinent. Nous Ă©liminons uniquement la contrainte qui affecte rĂ©ellement nos objectifs actuels.
Temporellement limitĂ© â limitĂ© dans le temps. S'il n'y a pas de dĂ©lai, l'Ă©quipe va faire n'importe quoi : essayer 15 technologies au lieu de 3, rĂ©diger d'Ă©normes rapports, mener des recherches inutiles, peaufiner leur implĂ©mentation Ă la perfection alors que l'objectif est dĂ©jĂ atteint.
Nous dĂ©finissons l'objectif prĂ©cisĂ©ment avec l'aide du Value Stream Map â nous rassemblons Ă nouveau toutes les personnes et dessinerons. Mais cette fois, sur la base de la prĂ©cĂ©dente Value Stream Map, nous allons dessiner ce que nous voulons obtenir.

Nous identifions une contrainte que nous allons Ă©liminer immĂ©diatement â c'est ce que l'Ă©quipe va faire. Par exemple, j'ai pris l'attente entre la sortie d'une version finale et son dĂ©ploiement en production â c'est la contrainte la plus frĂ©quente pour laquelle les gens font appel Ă des consultants.
Ă partir de cela, nous formons la tĂąche : nous voulons que l'attente entre la version finale prĂȘte et son lancement soit d'un maximum d'une heure.
Exemples de tĂąches.
- Réduire le Lead Time des tests de 4 jours à 1 heure.
- Réduire le Value Added Time pour les tests de 2 jours à 3 heures.
- Réduire le Lead Time de déploiement de 5 heures à 10 minutes.
- Augmenter le C/A de 50 % à 95 %, c'est-à -dire augmenter le nombre de fonctionnalités acceptées par les testeurs, en d'autres termes, améliorer la qualité du travail des développeurs.
Les exemples de tĂąches ne sont pas tirĂ©s de nulle part â ils sont basĂ©s sur des mesures que nous avons prises lors de l'Ă©laboration du Value Stream Map.
Nous fixons une tùche similaire à notre équipe avec une contrainte de temps. Selon l'état de votre entreprise, vous fixez différents délais. En moyenne, pour éliminer une contrainte, si les personnes s'attaquent à cela pour la premiÚre fois et ne savent pas encore quelles technologies et comment précisément elles vont résoudre le problÚme, cela prend généralement six mois.
Planification courte
Alors, notre équipe est constituée, elle a un objectif, les gens commencent à travailler. Un élément important est la planification courte des tùches : des sprints d'une à deux semaineset pas plus, des améliorations mesurables chaque semaine et un ajustement de cap.
Par exemple, nous utilisons souvent l'approche moving-moving, oĂč toute l'Ă©quipe se rĂ©unit au dĂ©but de chaque semaine, rĂ©dige dans un fichier ce que chacun fera. AprĂšs une semaine, nous notons : ce qui a Ă©tĂ© fait et ce qui ne l'a pas Ă©tĂ©, si ce n'est pas le cas, pourquoi, et rĂ©flĂ©chissons Ă ce qu'il faut faire ensuite.
Les sprints permettent d'ajuster le cap Ă temps.
Nous avons essayĂ© quelque chose pendant une ou deux semaines : des technologies, des mĂ©thodes, des façons de travailler, aprĂšs cela, vous Ă©valuez Ă nouveau et regardez â cette approche a-t-elle Ă©tĂ© meilleure ou pire ? Si c'est pire, cela signifie que nous ne sommes pas sur la bonne voie, il faut ajuster le cap : dĂ©finir un autre objectif, adopter une autre technologie ou faire autre chose. Les sprints courts de 1 Ă 2 semaines permettent de naviguer et d'Ă©viter Ă temps de mauvaises dĂ©cisions.
Nous partageons le succĂšs
L'Ă©quipe atteint certains succĂšs, petits ou grands â peu importe, il y a toujours un rĂ©sultat. Tout le monde doit ĂȘtre au courant de ce rĂ©sultat : ceux qui sont impliquĂ©s dans DevOps, ainsi que les dĂ©partements voisins. Dans un monde idĂ©al, il serait souhaitable que cela atteigne vraiment tous les membres de l'entreprise.
Pourquoi ? Si nous voulons transformer non pas une partie de l'entreprise, éliminer une seule contrainte, mais tout, pour que l'entreprise devienne agile, que le code arrive rapidement au client et que rien ne casse, il faut que tout le monde adhÚre à l'idée de DevOps. Vous ne pourrez pas appliquer cette approche aux services et aux équipes qui sont catégoriquement contre.
Pour crĂ©er de la loyautĂ©, nous devons raconter Ă tout le monde ce que nous avons essayĂ© â nous avons des rĂ©sultats, essayez aussi ! Cela augmentera l'intĂ©rĂȘt et la loyautĂ© pour ce que nous faisons, les gens commenceront Ă essayer de faire quelque chose dĂšs maintenant. Comme le montre la pratique, lorsque nous partageons ce que nous avons essayĂ© et ce que nous avons rĂ©ussi, d'autres Ă©quipes commencent Ă demander comment et ce que nous avons fait. Elles regardent les mises en Ćuvre, le code, la documentation, viennent avec des questions et essaient de changer quelque chose chez elles.
Parler de ce que vous avez réussi est important. Ainsi, vous convaincrez de rejoindre votre camp des conservateurs qui voulaient tout faire à l'ancienne et les transformerez en innovateurs.
Au total
Nous choisissons un service, comme point de dĂ©part â l'endroit oĂč nous commencerons les changements dans l'entreprise. Nous identifions tous ceux qui ont un lien avec le service et travaillons avec eux pour construire une Value Stream Map, mesurons et observons oĂč et quels sont les points de blocage.
Nous crĂ©ons une nouvelle Ă©quipe temporaire, qui sera chargĂ©e de la tĂąche assignĂ©e. Sur la base des mesures et de la Value Stream Map , nous dessinons une nouvelle carte oĂč nous mettons en Ă©vidence la contrainte que nous allons rĂ©soudre. Sur la base de cette contrainte nous fixons un objectif, sur lequel l'Ă©quipe va travailler. L'objectif doit ĂȘtre obligatoirement SMART â spĂ©cifique, mesurable, pertinent par rapport aux tĂąches actuelles et limitĂ© dans le temps.
Nous répétons le processus, jusqu'à ce que nous transformions tous nos services dans la maniÚre requise et éliminions toutes les contraintes.
Bonus. Matériaux utiles
Pour ceux qui ont dĂ©cidĂ© de se lancer dans le DevOps par eux-mĂȘmes.
Projet «Phénix»
Le titre original est «The Phoenix Project: A Novel about It, Devops, and Helping Your Business Win». C'est un roman sur le DevOps - l'histoire d'un employé qui est devenu chef de département dans un environnement en crise. Le nouveau chef a reçu la tùche :
â Vous avez plusieurs annĂ©es pour tout corriger afin que nous puissions enfin livrer notre produit Ă nos clients de maniĂšre rapide et efficace.
«Projet âPhĂ©nixâ. Un roman sur la façon dont le DevOps change la vie pour le mieux» â un livre pour tous les dirigeants, car ce sont eux qui prennent les dĂ©cisions sur ce qui se passe dans l'entreprise. Si vous ĂȘtes ingĂ©nieur ou dĂ©veloppeur et que vous souhaitez initier le changement et la transformation dans votre entreprise â achetez le livre et offrez-le Ă la direction. Ce roman explique tout et se lit rapidement et facilement.
Guide sur DevOps
Un livre un peu plus complexe. PubliĂ© il y a quelques annĂ©es en anglais sous le titre «The DevOps Handbook: How to create world-class agility, reliability, and security in technology organizations», mais il est maintenant disponible en russe. C'est un vĂ©ritable manuel â un guide pratique: sur la façon de prendre des mesures, ce qu'est une Value Stream Map et Ă quoi elle sert, vers oĂč se diriger et dans quel ordre. Ce livre est fait pour ceux qui veulent tout rĂ©aliser par eux-mĂȘmes. La meilleure chose, c'est qu'il contient des exemples d'autres entreprises.
Par exemple, il y est expliquĂ© comment une entreprise a construit une Value Stream Map et a compris que sa limitation n'Ă©tait pas dans le produit, mais dans le fait que le caissier se dĂ©place du magasin au bureau voisin pour utiliser ce produit. Au lieu de rĂ©soudre le problĂšme avec le logiciel, ils ont simplement achetĂ© des tablettes pour leurs vendeurs, et maintenant personne n'a besoin de bouger, toutes les actions se font sur le lieu de travail. Conclusion : la Value Stream Map peut ĂȘtre appliquĂ©e non seulement aux logiciels, mais aussi Ă tous les processus de l'organisation.
Accélérer
Titre complet : « AccĂ©lĂ©rer : La Science du Lean Software et du DevOps : Construire et Ălargir des Organisations Technologiques Performantes ». C'est le niveau supĂ©rieur â hardcore. Le livre est sorti l'annĂ©e derniĂšre, pour l'instant seulement en anglais et il traite de recherches. Les auteurs â Nicole Forsgren, Jez Humble et Gene Kim â ont appliquĂ© diffĂ©rentes pratiques dans diverses entreprises pendant de nombreuses annĂ©es et ont Ă©tudiĂ© quelles pratiques influencent comment et sur quoi.
Dans le deuxiĂšme chapitre, consacrĂ© aux mesures, on mentionne la Value Stream Map, les mĂ©triques que j'ai Ă©voquĂ©es, et beaucoup d'autres, ainsi qu'un descriptif dĂ©taillĂ© du processus de mesure. Les auteurs effectuent des mesures Ă l'aide de questionnaires et d'un suivi autonome des tĂąches. Il est expliquĂ© en dĂ©tail quelles mĂ©triques mesurer correctement, lesquelles Ă©viter, et les erreurs humaines dans les mesures. Si vous avez des difficultĂ©s avec les mesures, consultez le deuxiĂšme chapitre du livre « AccĂ©lĂ©rer ». Si votre Ă©quipe possĂšde de nombreuses pratiques, mais qu'il est difficile de savoir lesquelles appliquer maintenant, lesquelles plus tard, lesquelles sont vĂ©ritablement efficaces et lesquelles ne le sont pas â lisez, tout y est expliquĂ© dans le livre.
La transformation est une question Ă l'intersection du DevOps et de la gestion. C'est dans cette mĂȘme zone de convergence entre le dĂ©veloppement, l'exploitation et les tests que se trouvent les thĂšmes que nous essayons de discuter Ă , la mĂȘme intĂ©gration est nĂ©cessaire pour crĂ©er un produit de qualitĂ© â le principal thĂšme . Gestion au festival ont Ă©tĂ© prĂ©sentĂ©s â signifie qu'il faut aller chercher des idĂ©es pour la transformation lĂ -bas. Rejoignez-nous les 27 et 28 mai, nous allons nous intĂ©grer et nous transformer.
Source : habr.com
