Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Et ass bekannt datt d'Kompetenz vum CTO nëmmen déi zweete Kéier getest gëtt wann hien dës Roll ausféiert. Well et ass eng Saach fir e puer Joer an enger Firma ze schaffen, sech domat ze entwéckelen an am selwechte kulturelle Kontext no an no méi Verantwortung ze kréien. An et ass eng ganz aner, direkt an d'Positioun vum techneschen Direkter bei enger Firma ze kommen mat legacy Gepäck an enger Rëtsch Problemer propper ënnert den Teppech geschleeft gin.

An dësem Sënn, d'Erfahrung vum Leon Fire, op déi hien gedeelt huet DevOpsConf, net grad eenzegaarteg, awer multiplizéiert duerch seng Erfahrung an d'Zuel vu verschiddene Rollen, déi hien et fäerdeg bruecht huet am Laf vun 20 Joer ze probéieren, ass et ganz nëtzlech. Ënnert dem Schnëtt ass eng Chronologie vun Eventer iwwer 90 Deeg a vill Geschichten, déi lëschteg sinn ze laachen, wa se mat engem aneren geschéien, awer déi net sou lëschteg sinn perséinlech ze konfrontéieren.

De Leon schwätzt ganz faarweg op Russesch, also wann Dir 35-40 Minutten hutt, recommandéieren ech de Video ze kucken. Text Versioun fir Zäit drënner ze spueren.


Déi éischt Versioun vum Bericht war eng gutt strukturéiert Beschreiwung vun der Aarbecht mat Leit a Prozesser, mat nëtzlechen Empfehlungen. Mee si huet net all d'Iwwerraschungen vermëttelt, déi op de Wee begéint goufen. Dofir hunn ech d'Format geännert an d'Problemer virgestallt, déi viru mir wéi e Jack-in-the-Box an der neier Firma opgetaucht sinn, a Methoden fir se an chronologescher Uerdnung ze léisen.

Ee Mount virdrun

Wéi vill gutt Geschichten, huet dës mat Alkohol ugefaangen. Mir souzen mat Frënn an enger Bar, a wéi erwaart ënnert IT Spezialisten, jiddereen huet gekrasch iwwer hir Problemer. Ee vun hinnen hat just Aarbecht geännert a geschwat iwwer seng Problemer mat der Technologie, a mat de Leit, a mat der Equipe. Wat ech méi nogelauschtert hunn, wat ech méi gemierkt hunn, datt hien mech just soll astellen, well dat sinn déi Zorte vu Problemer, déi ech déi lescht 15 Joer geléist hunn. Ech hunn him dat gesot, an den nächsten Dag hu mir eis an engem Aarbechtsëmfeld getraff. D'Firma gouf Teaching Strategies genannt.

Teaching Strategies ass e Maart Leader am Léierplang fir ganz jonk Kanner vu Gebuert bis dräi Joer. Déi traditionell "Pabeier" Firma ass schonn 40 Joer al, an der digitaler SaaS Versioun vun der Plattform ass 10. Relativ viru kuerzem huet de Prozess vun der Adaptatioun vun digital Technologie un Firma Standarden ugefaangen. Déi "nei" Versioun lancéiert am 2017 a war bal wéi déi al, nëmmen et huet méi schlecht geschafft.

Déi interessantst Saach ass datt de Verkéier vun dëser Firma ganz prévisibel ass - vun Dag zu Dag, vu Joer zu Joer kënnt Dir ganz kloer viraussoen wéi vill Leit kommen a wéini. Zum Beispill, tëscht 13 an 15 Auer ginn all d'Kanner an de Spillschoulen an d'Bett an d'Léierpersonal fänken un Informatioun un. An dat geschitt all Dag, ausser de Weekend, well bal kee Weekend schafft.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

E bëssen no vir kucken, wäert ech feststellen datt ech meng Aarbecht an der Period vum héchste Joresverkéier ugefaang hunn, wat aus verschiddene Grënn interessant ass.

D'Plattform, déi nëmmen 2 Joer al schéngt ze sinn, hat e komeschen Stack: ColdFusion & SQL Server vun 2008. ColdFusion, wann Dir net wësst, a wahrscheinlech wësst Dir net, ass eng Entreprise PHP déi an der Mëtt vun den 90er erauskomm ass, an zënterhier hunn ech nach net dovun héieren. Et waren och: Ruby, MySQL, PostgreSQL, Java, Go, Python. Awer den Haaptmonolith leeft op ColdFusion a SQL Server.

Problem

Wat ech méi mat de Mataarbechter vun der Firma iwwer d'Aarbecht geschwat hunn a wéi eng Problemer opgetruede sinn, wat ech méi gemierkt hunn datt d'Problemer net nëmmen technesch an der Natur waren. Okay, d'Technologie ass al - a si hunn net dru geschafft, awer et waren Probleemer mat der Equipe a mat de Prozesser, an d'Firma huet ugefaang dëst ze verstoen.

Traditionell souzen hir Techniker am Eck an hunn eng Zort Aarbecht gemaach. Awer ëmmer méi Geschäfter hunn ugefaang duerch déi digital Versioun ze goen. Dofir, am leschte Joer ier ech ugefaang hunn ze schaffen, sinn nei an der Firma opgetaucht: Verwaltungsrot, CTO, CPO a QA Direkter. Dat ass, huet d'Firma am Technologie Secteur ze investéieren.

Spuere vun engem schwéieren Ierfschaft waren net nëmmen an de Systemer. D'Firma hat Legacy Prozesser, Legacy Leit, Legacy Kultur. All dëst huet misse geännert ginn. Ech hu geduecht datt et definitiv net langweileg wier, an hunn decidéiert et ze probéieren.

Zwee Deeg virdrun

Zwee Deeg virum Start vun enger neier Aarbecht, sinn ech op de Büro ukomm, hunn déi lescht Pabeieren ausgefëllt, d'Team begéint, an entdeckt datt d'Team deemools mat engem Problem kämpft. Et war datt déi duerchschnëttlech Säit Luedzäit op 4 Sekonnen sprang, dat heescht 2 Mol.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

No der Grafik beurteelen, ass eppes kloer geschitt, an et ass net kloer wat. Et huet sech erausgestallt datt de Problem Netzlatenz am Rechenzentrum war: 5 ms latency am Rechenzentrum gouf an 2 s fir Benotzer. Ech wousst net firwat dat geschitt ass, awer op alle Fall gouf bekannt datt de Problem am Rechenzentrum war.

Day One

Zwee Deeg sinn vergaang an op mengem éischten Aarbechtsdag hunn ech entdeckt datt de Problem net fort war.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Fir zwee Deeg sinn d'Säite vun de Benotzer am Duerchschnëtt a 4 Sekonnen gelueden. Ech froen ob se fonnt hunn wat de Problem ass.

- Jo, mir hunn en Ticket opgemaach.
- an?
- Ma, si hunn eis nach net geäntwert.

Dunn hunn ech gemierkt datt alles wat ech virdru gesot gi war just e klengen Tipp vum Äisbierg deen ech muss kämpfen.

Et gëtt e gutt Zitat dat ganz gutt passt:

"Heiansdo fir Technologie z'änneren, musst Dir d'Organisatioun änneren."

Awer well ech ugefaang hunn an der beschäftegter Zäit vum Joer ze schaffen, hunn ech op béid Optioune fir de Problem ze léisen missen kucken: séier a laangfristeg. A fänkt un mat deem wat elo kritesch ass.

Dag drei

Also, d'Laascht dauert 4 Sekonnen, a vun 13 bis 15 de gréisste Biergspëtzten.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Um drëtten Dag während dëser Zäit huet d'Downloadgeschwindegkeet esou ausgesinn:

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Aus menger Siicht huet guer näischt geschafft. Aus der Siicht vun all deenen aneren huet et e bësse méi lues gelaf wéi soss. Awer et geschitt just net esou - et ass e seriöse Problem.

Ech hu probéiert d'Equipe ze iwwerzeegen, op déi se geäntwert hunn datt se einfach méi Server brauchen. Dëst ass natierlech eng Léisung fir de Problem, awer et ass net ëmmer déi eenzeg an effektivst. Ech hunn gefrot firwat et net genuch Serveren waren, wat war de Volume vum Traffic. Ech hunn d'Donnéeën extrapoléiert a festgestallt, datt mir ongeféier 150 Ufroen pro Sekonn hunn, déi am Prinzip an raisonnabel Grenzen falen.

Awer mir däerfen net vergiessen datt ier Dir déi richteg Äntwert kritt, Dir musst déi richteg Fro stellen. Meng nächst Fro war: wéivill Frontend Server hu mir? D'Äntwert "huet mech e bësse bafféiert" - mir haten 17 Frontend Serveren!

- Ech sinn ongenéiert ze froen, awer 150 gedeelt duerch 17 gëtt ongeféier 8? Sidd Dir gesot, datt all Server erlaabt 8 Ufroen pro Sekonn, a wa muer 160 Ufroen pro Sekonn sinn, brauche mir 2 méi Serveren?

Natierlech hu mir keng zousätzlech Servere gebraucht. D'Léisung war am Code selwer, an op der Uewerfläch:

var currentClass = classes.getCurrentClass();
return currentClass;

Et war eng Funktioun getCurrentClass(), well alles um Site funktionnéiert am Kader vun enger Klass - dat ass richteg. A fir dës eng Funktioun op all Säit waren 200+ Demanden.

D'Léisung op dës Manéier war ganz einfach, Dir musst net emol eppes nei schreiwen: frot just net erëm déiselwecht Informatioun.

if ( !isDefined("REQUEST.currentClass") ) {
    var classes = new api.private.classes.base();
   REQUEST.currentClass = classes.getCurrentClass();
}
return REQUEST.currentClass;

Ech war ganz frou, well ech decidéiert hunn, datt ech just um drëtten Dag den Haaptproblem fonnt hunn. Naiv wéi ech war, dëst war just ee vu ville Problemer.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Awer d'Léisung vun dësem éischte Problem huet d'Grafik vill méi niddereg gefall.

Zur selwechter Zäit hu mir aner Optimisatiounen gemaach. Et waren vill Saachen am Siicht, déi gefléckt kënne ginn. Zum Beispill, am selwechten drëtten Dag entdeckt ech, datt et nach e Cache am System war (am Ufank geduecht, datt all Ufroen direkt aus der Datebank kommen). Wann ech un e Cache denken, denken ech un Standard Redis oder Memcached. Awer ech war deen eenzegen deen dat geduecht huet, well dee System MongoDB a SQL Server fir Cache benotzt huet - deeselwechten aus deem d'Donnéeë just gelies goufen.

Dag zéng

Déi éischt Woch hunn ech mat Problemer beschäftegt, déi elo misste geléist ginn. Iergendwou an der zweeter Woch sinn ech fir d'éischte Kéier op de Stand-up komm fir mat der Equipe ze kommunizéieren, ze kucken wat geschitt a wéi de ganze Prozess leeft.

Eppes Interessantes gouf erëm entdeckt. D'Equipe bestoung aus: 18 Entwéckler; 8 Tester; 3 Manager; 2 Architekten. A si hunn all un gemeinsame Ritualen deelgeholl, dat heescht, méi wéi 30 Leit sinn all Moien op de Stand-up komm a soten wat se gemaach hunn. Et ass kloer datt d'Sëtzung net 5 oder 15 Minutten gedauert huet. Keen huet op jidderengem nogelauschtert well jiddereen op verschiddene Systemer schafft. An dëser Form, 2-3 Ticketen pro Stonn fir eng Pfleeg Sëtzung war schonn e gutt Resultat.

Déi éischt Saach, déi mir gemaach hunn, war d'Team a verschidde Produktlinnen opgedeelt. Fir verschidde Sektiounen a Systemer hu mir separat Teams zougewisen, déi Entwéckler, Tester, Produktmanager a Geschäftsanalytiker enthalen.

Als Resultat hu mir:

  • Reduktioun vun Stand-ups a Rallyen.
  • Thema Wëssen vum Produkt.
  • E Gefill vu Besëtz. Wann d'Leit déi ganzen Zäit mat Systemer gepickt hunn, woussten se datt een aneren héchstwahrscheinlech mat hire Käfere muss schaffen, awer net selwer.
  • Zesummenaarbecht tëscht Gruppen. Natierlech ze soen, QA huet net vill mat Programméierer kommunizéiert virdrun, de Produit huet seng eege Saach, etc. Elo hu si e gemeinsame Verantwortungspunkt.

Mir konzentréieren eis haaptsächlech op Effizienz, Produktivitéit a Qualitéit - dat sinn d'Problemer déi mir probéiert hunn mat der Transformatioun vum Team ze léisen.

Dag eelef

Am Prozess vun der Verännerung vun der Teamstruktur hunn ech entdeckt wéi ech zielen GeschichtPunkten. 1 SP war gläich wéi een Dag, an all Ticket enthält SP fir béid Entwécklung an QA, dat ass op d'mannst 2 SP.

Wéi hunn ech dat entdeckt?

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Mir hunn e Feeler fonnt: an engem vun de Berichter, wou den Start- an Enndatum vun der Period agefouert gëtt, fir déi de Bericht gebraucht gëtt, gëtt de leschten Dag net berücksichtegt. Dat ass, iergendwou an der Ufro war net <=, mee einfach <. Ech krut gesot datt dëst dräi Story Points ass, dat ass 3 vum Dag.

Duerno mir:

  • De Story Points Bewäertungssystem gouf iwwerschafft. Elo Fixe fir kleng Bugs, déi séier duerch de System passéiert kënne ginn, erreechen de Benotzer méi séier.
  • Mir hunn ugefaang Zesummenhang Ticketen fir Entwécklung an Testen ze fusionéieren. Virdrun war all Ticket, all Käfer e zouenen Ökosystem, net un soss eppes gebonnen. D'Ännerung vun dräi Knäppercher op enger Säit kéint dräi verschidde Ticketen mat dräi verschiddene QA Prozesser gewiescht sinn amplaz vun engem automatiséierten Test pro Säit.
  • Mir hunn ugefaang mat Entwéckler un enger Approche ze schaffen fir d'Aarbechtskäschte ze schätzen. Dräi Deeg fir ee Knäppchen z'änneren ass net witzeg.

Dag zwanzegsten

Iergendwou an der Mëtt vum éischte Mount huet d'Situatioun sech e bëssen stabiliséiert, ech hunn erausfonnt wat am Fong geschitt ass, a schonn ugefaang an d'Zukunft ze kucken an iwwer laangfristeg Léisungen nozedenken.

Laangfristeg Ziler:

  • Gestioun Plattform. Honnerte vun Demanden op all Säit sinn net sérieux.
  • Prévisibel Trends. Et waren periodesch Verkéierspeaks déi op den éischte Bléck net mat anere Metriken korreléiert hunn - mir hu misse verstoen firwat dat geschitt ass a léiere virauszesoen.
  • Plattform Erweiderung. D'Geschäft wiisst konstant, ëmmer méi Benotzer kommen, an de Traffic geet erop.

Fréier gouf dacks gesot: "Loosst eis alles op [Sprooch / Kader nei schreiwen], alles funktionnéiert besser!"

Am meeschte Fäll klappt dat net, et ass gutt wann d'Rewrite iwwerhaapt funktionnéiert. Dofir brauche mir e Fahrplang ze kreéieren - eng spezifesch Strategie, déi Schrëtt fir Schrëtt illustréiert wéi d'Geschäftsziler erreecht ginn (wat mir maachen a firwat), déi:

  • reflektéiert d'Missioun an d'Ziler vum Projet;
  • Prioritéit Haaptziler;
  • enthält en Zäitplang fir se z'erreechen.

Virdru hat kee mam Team iwwer den Zweck vun all Ännerungen geschwat. Dëst erfuerdert déi richteg Erfollegsmetriken. Fir déi éischte Kéier an der Geschicht vun der Firma hu mir KPIs fir den technesche Grupp festgeluecht, an dës Indikatoren waren un organisatoresch gebonnen.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Dat ass, organisatoresch KPIs gi vun Teams ënnerstëtzt, an Team KPIs gi vun eenzelne KPIs ënnerstëtzt. Soss, wann technologesch KPIs net mat organisatoreschen gläichfalen, dann zitt jiddereen d'Decken op sech selwer.

Zum Beispill, ee vun den organisatoreschen KPIs erhéicht de Maartundeel duerch nei Produkter.

Wéi kënnt Dir d'Zil ënnerstëtzen fir méi nei Produkter ze hunn?

  • Als éischt wëlle mir méi Zäit verbréngen fir nei Produkter z'entwéckelen anstatt Mängel ze fixéieren. Dëst ass eng logesch Léisung déi einfach ze moossen ass.
  • Zweetens wëlle mir eng Erhéijung vum Transaktiounsvolumen ënnerstëtzen, well wat de Maartundeel méi grouss ass, wat méi Benotzer an deementspriechend méi Traffic.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Da sinn eenzel KPIen, déi am Grupp ausgefouert kënne ginn, zum Beispill op der Plaz wou d'Haaptdefekter hierkommen. Wann Dir speziell op dëser Rubrik konzentréieren, Dir kënnt sécherstellen, datt et vill manner Mängel sinn, an dann d'Zäit fir Entwécklungslänner nei Produiten an erëm fir Ënnerstëtzung organisatoresch KPIs wäert eropgoen.

Also, all Decisioun, inklusiv Rewriting Code, muss déi spezifesch Ziler ënnerstëtzen, déi d'Firma fir eis gesat huet (Organisatiounswuesstem, nei Features, Recrutement).

Wärend dësem Prozess ass eng interessant Saach op d'Liicht komm, déi Neiegkeeten net nëmme fir Techien ginn, mä allgemeng an der Firma: all Ticketen mussen op d'mannst ee KPI konzentréiert sinn. Dat ass, wann e Produkt seet datt et eng nei Feature wëllt maachen, sollt déi éischt Fro gefrot ginn: "Wat KPI ënnerstëtzt dës Feature?" Wann net, dann sorry - et schéngt wéi eng onnéideg Feature.

Dag drësseg

Um Enn vum Mount hunn ech eng aner Nuance entdeckt: Keen a mengem Ops Team huet jeemools d'Kontrakter gesinn déi mir mat Clienten aginn. Dir kënnt froen firwat Dir Kontakter muss gesinn.

  • Als éischt well SLAs a Kontrakter spezifizéiert sinn.
  • Zweetens, SLAs sinn all anescht. All Client koum mat sengen eegenen Ufuerderungen, an de Verkafsdepartement huet ënnerschriwwen ouni ze kucken.

Eng aner interessant Nuance ass datt de Kontrakt mat engem vun de gréisste Clienten seet datt all Softwareversioune vun der Plattform n-1 musse sinn, dat heescht net déi lescht Versioun, awer déi lescht.

Et ass kloer wéi wäit mir vun n-1 waren wann d'Plattform op ColdFusion a SQL Server 2008 baséiert war, wat am Juli guer net méi ënnerstëtzt gouf.

Dag véierzeg-fënnef

Ëm d'Mëtt vum zweete Mount hat ech genuch Zäit fir ze sëtzen an ze maachen WäertStreamConclusiounen komplett fir de ganze Prozess. Dëst sinn déi néideg Schrëtt, déi musse geholl ginn, vun der Schafung vun engem Produkt bis zur Liwwerung vum Konsument, a si musse sou vill wéi méiglech am Detail beschriwwe ginn.

Dir brécht de Prozess a kleng Stécker a kuckt wat ze vill Zäit hëlt, wat optimiséiert, verbessert, etc. Zum Beispill, wéi laang et dauert fir eng Produktufro duerch Pfleeg ze goen, wéini erreecht et en Ticket deen en Entwéckler kann huelen, QA, etc. Also kuckt Dir all eenzel Schrëtt am Detail an iwwerdenkt wat optimiséiert ka ginn.

Wéi ech dat gemaach hunn, hunn zwou Saache meng Ae gefaang:

  • héich Prozentsaz vun Ticketen aus QA zréck op Entwéckler zréck;
  • Pull Ufro Bewäertungen huet ze laang gedauert.

De Problem war datt dës Conclusiounen wéi: Et schéngt vill Zäit ze huelen, awer mir sinn net sécher wéi laang.

"Dir kënnt net verbesseren wat Dir net moosse kënnt."

Wéi ze justifiéieren wéi sérieux de Problem ass? Offäll et Deeg oder Stonnen?

Fir dëst ze moossen, hu mir e puer Schrëtt zum Jira-Prozess bäigefüügt: "prett fir dev" a "prett fir QA" fir ze moossen wéi laang all Ticket waart a wéivill Mol et op e bestëmmte Schrëtt zréckkënnt.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Mir hunn och "an Iwwerpréiwung" bäigefüügt fir ze wëssen wéivill Ticketen am Duerchschnëtt fir Iwwerpréiwung sinn, a vun dëser kënnt Dir ufänken ze danzen. Mir haten System Metriken, elo hu mir nei Metriken bäigefüügt an ugefaang ze moossen:

  • Prozess Effizienz: Leeschtung a geplangt / geliwwert.
  • Prozess Qualitéit: Zuel vun Mängel, Mängel aus QA.

Et hëlleft wierklech ze verstoen wat gutt geet a wat net gutt geet.

Dag fofzeg

Dëst ass natierlech alles gutt an interessant, awer um Enn vum zweete Mount ass eppes geschitt, wat am Prinzip prévisibel war, obwuel ech esou eng Skala net erwaart hunn. D'Leit hunn ugefaang ze verloossen, well d'Spëtzemanagement geännert huet. Nei Leit koumen an d'Gestioun an hunn ugefaang alles ze änneren, an déi al hunn opginn. An normalerweis an enger Firma déi e puer Joer al ass, jiddereen ass Frënn a jiddereen kennt sech.

Dëst war erwaart, awer d'Skala vun den Entloossunge war onerwaart. Zum Beispill hunn an enger Woch zwee Teamleaderen gläichzäiteg hir Demissioun aus fräiem Wëllen ofginn. Dofir muss ech net nëmmen aner Probleemer vergiessen, mee konzentréieren op eng Equipe schafen. Dëst ass e laangen a schwéiere Problem fir ze léisen, awer et huet misse behandelt ginn, well ech wollt déi Leit retten déi bleiwen (oder déi meescht vun hinnen). Et war néideg iergendwéi op d'Tatsaach ze reagéieren, datt d'Leit fortgaange sinn, fir d'Moral am Team z'erhalen.

An der Theorie ass dat gutt: eng nei Persoun kënnt eran, déi eng komplett Carte Blanche huet, déi d'Fäegkeete vum Team evaluéiere kann an d'Personal ersetzen. Tatsächlech kënnt Dir net nëmmen nei Leit fir sou vill Grënn bréngen. Balance ass ëmmer néideg.

  • Al an nei. Mir mussen eeler Leit halen, déi sech änneren an d'Missioun ënnerstëtzen. Awer gläichzäiteg musse mir nei Blutt bréngen, mir schwätzen iwwer dat e bësse méi spéit.
  • Erfahrung. Ech hu vill mat gudde Junioren geschwat, déi äifreg waren a mat eis wollte schaffen. Awer ech konnt se net iwwerhuelen, well et net genuch Senioren waren fir d'Junioren z'ënnerstëtzen an als Mentoren fir si ze handelen. Et war néideg fir d'éischt d'Spëtzt ze rekrutéieren an nëmmen dann d'Jugend.
  • Muert a Stéck.

Ech hu keng gutt Äntwert op d'Fro, wat dee richtege Gläichgewiicht ass, wéi en erhalen, wéi vill Leit ze halen a wéi vill ze drécken. Dëst ass e reng individuellen Prozess.

Dag fofzeg eent

Ech hunn ugefaang d'Equipe genau ze kucken fir ze verstoen wien ech hat, an ech hunn mech nach eng Kéier erënnert:

"Déi meescht Problemer si Leit Problemer."

Ech hu festgestallt datt d'Team als solch - souwuel Dev wéi och Ops - dräi grouss Probleemer huet:

  • Zefriddenheet mam aktuellen Zoustand.
  • Mangel u Verantwortung - well keen huet jeemools d'Resultater vun den Interpreten hir Aarbecht bruecht fir d'Geschäft ze beaflossen.
  • Angscht virun Ännerung.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

D'Ännerung hëlt Iech ëmmer aus Ärer Komfortzone eraus, a wat méi jonk Leit sinn, wat se méi gär änneren well se net verstinn firwat a se verstinn net wéi. Déi heefegst Äntwert déi ech héieren hunn ass: "Mir hunn dat ni gemaach." Ausserdeem ass et de Punkt vun der kompletter Absurditéit erreecht - déi geringsten Ännerunge konnten net stattfannen ouni datt een indignéiert wier. An egal wéi vill d'Ännerungen hir Aarbecht beaflossen, hunn d'Leit gesot: "Nee, firwat? Dëst wäert net schaffen."

Awer Dir kënnt net besser ginn ouni eppes ze änneren.

Ech hat en absolut absurd Gespréich mat engem Employé, ech hunn him meng Iddie fir d'Optimiséierung gesot, op déi hie mir gesot huet:
- Oh, Dir hutt net gesinn wat mir d'lescht Joer haten!
- Also wat?
"Elo ass et vill besser wéi et war."
- Also, kann et net besser ginn?
- Firwat?

Gutt Fro - firwat? Et ass wéi wann et elo besser ass wéi et war, dann ass alles gutt genuch. Dat féiert zu engem Mangel u Verantwortung, wat am Prinzip absolut normal ass. Wéi gesot, den technesche Grupp war e bëssen op der Säit. D'Firma huet gegleeft datt se sollten existéieren, awer keen huet jeemools d'Normen gesat. Technesch Ënnerstëtzung huet den SLA ni gesinn, also war et zimmlech "akzeptabel" fir de Grupp (an dëst huet mech am meeschte geschloen):

  • 12 Sekonnen Luede;
  • 5-10 Minutten Ausdauer all Verëffentlechung;
  • Troubleshooting kritesch Problemer dauert Deeg a Wochen;
  • Mangel u Flicht Personal 24x7 / Opruff.

Keen huet jee probéiert ze froen firwat mir et net besser maachen, a keen huet jee gemierkt datt et net esou muss sinn.

Als Bonus gouf et nach ee Problem: Mangel un Erfahrung. D'Senioren sinn fortgaang, an déi verbleiwen jonk Equipe ass ënner dem virege Regime opgewuess a gouf dovu vergëft.

Donieft haten d'Leit och Angscht ze falen an inkompetent ze sinn. Dëst ass ausgedréckt an der Tatsaach, datt, éischtens, si ënner kengen Ëmstänn ëm Hëllef gefrot. Wéi oft hu mir als Grupp an individuell geschwat, an ech hu gesot: "Stel eng Fro wann Dir net wësst wéi Dir eppes maacht." Ech sinn zouversiichtlech op mech a weess, datt ech all Problem léisen kann, mee et wäert Zäit huelen. Dofir, wann ech een froe kann, dee weess wéi et an 10 Minutten ze léisen, wäert ech froen. Wat Dir manner Erfahrung hutt, wat Dir méi Angscht sidd ze froen well Dir mengt datt Dir als inkompetent ugesi gëtt.

Dës Angscht Froen ze stellen manifestéiert sech op interessant Manéier. Zum Beispill frot Dir: "Wéi geet et Iech mat dëser Aufgab?" - "E puer Stonnen lénks, ech si scho fäerdeg." Den nächsten Dag frot Dir nach eng Kéier, Dir kritt d'Äntwert datt alles gutt ass, awer et war ee Problem, et wäert definitiv um Enn vum Dag fäerdeg sinn. En aneren Dag passéiert, a bis Dir un d'Mauer gepecht sidd a gezwongen sidd mat engem ze schwätzen, geet dat weider. Eng Persoun wëll e Problem selwer léisen; hie mengt datt wann hien et net selwer léist, et e grousse Feeler wäert sinn.

Duerfir d'Entwéckler hunn d'Schätzungen opgeblosen. Et war déi selwecht Anekdot, wa se iwwer eng gewëssen Aufgab diskutéiert hunn, hunn se mir esou eng Figur ginn, datt ech ganz iwwerrascht war. Zu deem ech gesot hunn, datt an den Entwéckler Schätzungen, enthält den Entwéckler d'Zäit datt den Ticket aus QA zréckgeet, well se do Feeler fannen, an d'Zäit déi de PR dauert, an d'Zäit während d'Leit déi iwwerpréiwen sollen et wäert beschäftegt sinn - dat ass alles, wat och ëmmer méiglech ass.

Zweetens Leit, déi Angscht hunn inkompetent ze gesinn iwweranalyséieren. Wann Dir seet, wat genee gemaach muss ginn, fänkt et un: "Nee, wat wa mir hei driwwer nodenken?" An dësem Sënn ass eis Firma net eenzegaarteg, dëst ass e Standardproblem fir jonk Leit.

Als Äntwert hunn ech déi folgend Praktiken agefouert:

  • Regel 30 Minutten. Wann Dir de Problem net an enger hallwer Stonn léise kënnt, frot een ze hëllefen. Dëst funktionnéiert mat ënnerschiddlechem Erfolleg, well d'Leit nach ëmmer net froen, awer op d'mannst huet de Prozess ugefaang.
  • Eliminéiert alles ausser d'Essenz, bei der Schätzung vun der Frist fir eng Aufgab ofzeschléissen, dat heescht, betruecht nëmmen wéi laang et dauert fir de Code ze schreiwen.
  • Liewenslaang Léieren fir déi, déi iwweranalyséieren. Et ass just konstant Aarbecht mat Leit.

Dag siechzegsten

Wärend ech dat alles gemaach hunn, war et Zäit fir de Budget erauszefannen. Natierlech hunn ech vill interessant Saachen fonnt wou mir eis Suen ausginn hunn. Zum Beispill hu mir e ganze Rack an engem separaten Datenzenter mat engem FTP-Server, dee vun engem Client benotzt gouf. Et huet sech erausgestallt datt "... mir sinn geplënnert, awer hien ass sou bliwwen, mir hunn hien net geännert." Et war virun 2 Joer.

Besonnesch interessant war de Gesetzesprojet fir Cloud Servicer. Ech gleewen, datt den Haaptgrond fir déi héich Cloud Rechnung d'Entwéckler sinn, déi onlimitéiert Zougang zu Serveren fir d'éischte Kéier an hirem Liewen hunn. Si brauchen net ze froen: "Gëff mir w.e.g. en Testserver," si kënnen et selwer huelen. Plus, Entwéckler wëllen ëmmer sou e coole System bauen datt Facebook an Netflix jalous sinn.

Awer d'Entwéckler hunn keng Erfahrung beim Kaf vun Serveren an d'Fäegkeet fir déi erfuerderlech Gréisst vun de Serveren ze bestëmmen, well se et net virdrun gebraucht hunn. A si verstinn normalerweis den Ënnerscheed tëscht Skalierbarkeet a Leeschtung net ganz.

Inventar Resultater:

  • Mir lénks déi selwecht Daten Zentrum.
  • Mir hunn de Kontrakt mat 3 Logservicer ofgeschloss. Well mir haten 5 vun hinnen - all Entwéckler deen ugefaang mat eppes ze spillen huet en neien.
  • 7 AWS Systemer goufen zougemaach. Nees huet keen déi doudege Projete gestoppt; si hunn all weider geschafft.
  • Reduzéiert Software Käschten ëm 6 Mol.

Dag siwwenzeg fënnef

D'Zäit ass vergaang, an an zwee an en hallwe Méint hunn ech mam Verwaltungsrot ze treffen. Eise Verwaltungsrot ass net besser oder méi schlëmm wéi anerer; wéi all Verwaltungsrot wëll et alles wëssen. D'Leit investéiere Sue a wëlle verstoen wéi vill wat mir maachen an de festgeluechte KPIs passt.

De Verwaltungsrot kritt all Mount vill Informatioun: d'Zuel vun de Benotzer, hire Wuesstum, wéi eng Servicer si benotzen a wéi, Leeschtung a Produktivitéit, a schliisslech duerchschnëttlech Säit Luedegeschwindegkeet.

Deen eenzege Problem ass datt ech gleewen datt d'Moyenne pure Béis ass. Mä et ass ganz schwéier dem Verwaltungsrot dat z'erklären. Si si Gewunnecht mat aggregéierten Zuelen ze bedreiwen, an net, zum Beispill, d'Verbreedung vun Luede mol pro Sekonn.

Et waren e puer interessant Punkten an dëser Hisiicht. Zum Beispill hunn ech gesot datt mir de Traffic tëscht getrennten Webserver musse trennen ofhängeg vun der Aart vum Inhalt.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Dat ass, ColdFusion geet duerch Jetty an nginx a lancéiert d'Säiten. A Biller, JS an CSS ginn duerch eng separat nginx mat hiren eegene Konfiguratiounen. Dëst ass eng zimlech Standard Praxis iwwer déi ech schwätzen geschriwwen virun e puer Joer. Als Resultat lued d'Biller vill méi séier, an ... déi duerchschnëttlech Luedegeschwindegkeet ass ëm 200 ms eropgaang.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Dëst ass geschitt well d'Grafik baséiert op den Donnéeën gebaut ass, déi mam Jetty kommen. Dat ass, séier Inhalt ass net an der Berechnung abegraff - den Duerchschnëttswäert ass sprangen. Dat war eis kloer, mir hu gelaacht, mä wéi kënne mir dem Verwaltungsrot erkläre firwat mir eppes gemaach hunn an et ëm 12% verschlechtert ass?

Dag fënnef aacht

Um Enn vum drëtte Mount hunn ech gemierkt datt et eng Saach war, op déi ech guer net gezielt hunn: Zäit. Alles iwwer wat ech geschwat hunn brauch Zäit.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Dëst ass mäi richtege wöchentleche Kalenner - just eng Aarbechtswoch, net ganz beschäftegt. Et gëtt net genuch Zäit fir alles. Dofir, nach eng Kéier, musst Dir Leit rekrutéieren, déi Iech hëllefe mat de Probleemer ze këmmeren.

Konklusioun

Dat ass net alles. An dëser Geschicht sinn ech net emol ukomm wéi mir mam Produkt geschafft hunn a probéiert hunn op d'allgemeng Welle ofzestëmmen, oder wéi mir technesch Ënnerstëtzung integréiert hunn oder wéi mir aner technesch Problemer geléist hunn. Zum Beispill hunn ech ganz zoufälleg geléiert datt op de gréissten Dëscher an der Datebank mir net benotzen SEQUENCE. Mir hunn eng Self-schrëftlech Funktioun nextID, an et gëtt net an enger Transaktioun benotzt.

Et waren eng Millioun méi ähnlech Saachen iwwer déi mir laang kënne schwätzen. Awer dat Wichtegst wat nach muss gesot ginn ass d'Kultur.

Ierfschaft vu legacy Systemer a Prozesser oder Éischt 90 Deeg als CTO

Et ass Kultur oder de Mangel dovun, déi zu all aner Problemer féiert. Mir probéieren eng Kultur ze bauen wou d'Leit:

  • sinn net Angscht virun Feeler;
  • aus Feeler léieren;
  • Zesummenaarbecht mat aneren Teams;
  • Initiativ huelen;
  • Verantwortung iwwerhuelen;
  • begréissen d'Resultat als Zil;
  • Erfolleg ze feieren.

Mat dësem wäert alles anescht kommen.

Leon Feier op twitter, facebook an un mëttel-.

Et ginn zwou Strategien betreffend Legacy: Vermeit op all Käschten domat ze schaffen, oder iwwerwannen déi assoziéiert Schwieregkeeten couragéiert. Mir c DevOpsConf Mir huelen den zweete Wee, verännere Prozesser an Approchen. Maacht mat bei eis YouTube, Mailing Lëscht и telegram, an zesummen wäerte mir eng DevOps Kultur ëmsetzen.

Source: will.com

Setzt e Commentaire