Köztudott, hogy egy CTO kompetenciĂĄjĂĄt csak a mĂĄsodik alkalommal teszik prĂłbĂĄra, amikor betölti a szerepet. Egy dolog Ă©vekig egy cĂ©gnĂ©l dolgozni, azzal egyĂŒtt fejlĆdni, Ă©s miközben tovĂĄbbra is ugyanabban a kulturĂĄlis kontextusban maradsz, fokozatosan egyre nagyobb felelĆssĂ©get vĂĄllalni. EgĂ©szen mĂĄs dolog egyenesen CTO-szerepkörbe lĂ©pni egy olyan cĂ©gnĂ©l, amelynek problĂ©mĂĄi vannak a mĂșltban, Ă©s egy sor gondot elsöpörtek a szĆnyeg alĂĄ.
Ebben az Ă©rtelemben Leon Fayer tapasztalata, amelyet megosztott Nem teljesen egyedi, de a tapasztalatĂĄval Ă©s a 20 Ă©v alatt betöltött szĂĄmos kĂŒlönbözĆ szerepĂ©vel egyĂŒtt nagyon hasznos. Az alĂĄbbiakban egy kronolĂłgiai sorrendet talĂĄlunk az elmĂșlt 90 nap esemĂ©nyeirĆl, valamint szĂĄmos anekdotĂĄt, amelyeken jĂł nevetni, ha mĂĄssal törtĂ©nnek meg, de szemĂ©lyesen mĂĄr nem annyira.
Leon nagyon Ă©lĂ©nken beszĂ©l oroszul, ezĂ©rt ha van 35-40 perced, ajĂĄnlom a videĂł megtekintĂ©sĂ©t. Az idĆmegtakarĂtĂĄs Ă©rdekĂ©ben a szöveges verziĂł alĂĄbb talĂĄlhatĂł.

A jelentĂ©s elsĆ vĂĄltozata egy jĂłl strukturĂĄlt leĂrĂĄs volt az emberekkel Ă©s a folyamatokkal valĂł egyĂŒttmƱködĂ©srĆl, hasznos ajĂĄnlĂĄsokat tartalmazva. De nem tartalmazott minden meglepetĂ©st, amivel talĂĄlkoztam a folyamat sorĂĄn. EzĂ©rt megvĂĄltoztattam a formĂĄtumot, Ă©s az Ășj vĂĄllalatnĂĄl felmerĂŒlt problĂ©mĂĄkat, mint egy kakukktojĂĄs, Ă©s azok kezelĂ©sĂ©nek mĂłdszereit idĆrendi sorrendben mutattam be.
Egy hĂłnappal korĂĄbban
Mint sok jĂł törtĂ©net, ez is az alkohollal kezdĆdött. Egy bĂĄrban ĂŒltĂŒnk nĂ©hĂĄny barĂĄtunkkal, Ă©s ahogy az az IT-s körökben jellemzĆ, mindenki a problĂ©mĂĄira panaszkodott. Az egyikĂŒk Ă©ppen akkor vĂĄltott munkahelyet, Ă©s a technolĂłgiĂĄval, az emberekkel Ă©s a csapattal kapcsolatos problĂ©mĂĄirĂłl mesĂ©lt. MinĂ©l jobban hallgattam, annĂĄl inkĂĄbb rĂĄjöttem, hogy egyszerƱen fel kellene vennie engem, mert pontosan ilyen problĂ©mĂĄkat oldottam meg az elmĂșlt 15 Ă©vben. El is mondtam neki, Ă©s mĂĄsnap talĂĄlkoztunk egy munkahelyi környezetben. A cĂ©g neve Teaching Strategies volt.
A Teaching Strategies piacvezetĆ a nagyon kisgyermekek â szĂŒletĂ©stĆl hĂĄromĂ©ves korig â szĂĄmĂĄra kĂ©szĂŒlt oktatĂĄsi szoftverek terĂ©n. A hagyomĂĄnyos papĂr alapĂș vĂĄllalat 40 Ă©ves, mĂg a platform digitĂĄlis SaaS-verziĂłja 10 Ă©ves. A digitĂĄlis technolĂłgia vĂĄllalati szabvĂĄnyokhoz valĂł igazĂtĂĄsĂĄnak folyamata viszonylag nemrĂ©g kezdĆdött. Az âĂșjâ verziĂł 2017-ben jelent meg, Ă©s szinte azonos volt a rĂ©givel, csak kevĂ©sbĂ© funkcionĂĄlis.
A legĂ©rdekesebb az, hogy ennek a cĂ©gnek a forgalma nagyon kiszĂĄmĂthatĂł â naprĂłl napra, Ă©vrĆl Ă©vre pontosan meg lehet jĂłsolni, hogy hĂĄnyan Ă©s mikor fognak jönni. PĂ©ldĂĄul dĂ©lutĂĄn 13 Ă©s 15 Ăłra között az összes Ăłvodai gyerek lefekszik, Ă©s a tanĂĄrok elkezdik bevinni az informĂĄciĂłkat. Ăs ez minden nap megtörtĂ©nik, kivĂ©ve hĂ©tvĂ©gĂ©n, mert hĂ©tvĂ©gĂ©n szinte senki sem dolgozik.

Kicsit elĆretekintve megjegyzem, hogy a munkĂĄmat a legnagyobb Ă©ves forgalom idĆszakĂĄban kezdtem, ami több okbĂłl is Ă©rdekes.
A platform, ami lĂĄtszĂłlag mindössze kĂ©tĂ©ves volt, egyedi stackkel rendelkezett: a ColdFusionnal Ă©s az SQL Serverrel 2008-bĂłl. A ColdFusion, ha nem ismered (Ă©s valĂłszĂnƱleg nem), egy vĂĄllalati PHP nyelv, ami a 90-es Ă©vek közepĂ©n jelent meg, Ă©s azĂłta nem is hallottam rĂłla. Volt rajta Ruby, MySQL, PostgreSQL, Java, Go Ă©s Python is. De a monolit mag ColdFusionon Ă©s SQL Serveren futott.
Problémåk
MinĂ©l többet beszĂ©lgettem a cĂ©g alkalmazottaival a munkĂĄjukrĂłl Ă©s az elĆttĂŒk ĂĄllĂł kihĂvĂĄsokrĂłl, annĂĄl inkĂĄbb rĂĄjöttem, hogy a problĂ©mĂĄk nem csak technikai jellegƱek. OkĂ©, a technolĂłgia rĂ©gi volt â dolgoztak mĂĄr rosszabbal is â, de voltak problĂ©mĂĄk a csapattal Ă©s a folyamatokkal, Ă©s a cĂ©g kezdte ezt megĂ©rteni.
HagyomĂĄnyosan a tech-szakemberek a sarokban ĂŒltek, Ă©s a sajĂĄt dolgukkal foglalkoztak. De egyre több vĂĄllalkozĂĄs kezdett digitĂĄlisan ĂĄttĂ©rni. Ăgy az utolsĂł Ă©vben, mielĆtt ott kezdtem dolgozni, a cĂ©g Ășj tagokkal bĆvĂŒlt: egy igazgatĂłtanĂĄcs, egy CTO, egy CPO Ă©s egy QA igazgatĂł. MĂĄs szĂłval, a cĂ©g elkezdett befektetni a technolĂłgiĂĄba.
A nehĂ©z öröksĂ©g nyomai nemcsak a rendszerekben voltak lĂĄthatĂłak. A vĂĄllalatnak hagyomĂĄnyos folyamatai, hagyomĂĄnyos emberei Ă©s hagyomĂĄnyos kultĂșrĂĄja voltak. Mindezt meg kellett vĂĄltoztatni. Ăgy gondoltam, nem lesz unalmas, ezĂ©rt Ășgy döntöttem, kiprĂłbĂĄlom.
Két nappal koråbban
KĂ©t nappal az Ășj munkĂĄm megkezdĂ©se elĆtt megĂ©rkeztem az irodĂĄba, kitöltöttem az utolsĂł papĂrmunkĂĄt, talĂĄlkoztam a csapattal, Ă©s kiderĂŒlt, hogy egy problĂ©mĂĄval kĂŒzdenek. A problĂ©ma az volt, hogy az ĂĄtlagos oldalbetöltĂ©si idĆ 4 mĂĄsodpercre ugrott, ami a duplĂĄja.

A grafikon alapjĂĄn ĂtĂ©lve valami egyĂ©rtelmƱen fĂ©lresikerĂŒlt, Ă©s nem volt vilĂĄgos, hogy mi. KiderĂŒlt, hogy hĂĄlĂłzati kĂ©sleltetĂ©si problĂ©ma volt az adatközpontban: az adatközpontban az 5 ms kĂ©sleltetĂ©s 2 mĂĄsodpercet jelentett a felhasznĂĄlĂłk szĂĄmĂĄra. Nem tudtam, miĂ©rt törtĂ©nt ez, de legalĂĄbb vilĂĄgossĂĄ vĂĄlt, hogy a problĂ©ma az adatközpontban volt.
Day 1
KĂ©t nap telt el, Ă©s az elsĆ munkanapomon rĂĄjöttem, hogy a problĂ©ma nem mĂșlt el.

Két napig åtlagosan 4 måsodperc alatt töltöttek be a felhasznålók oldalai. Megkérdeztem, hogy megtalåltåk-e a problémåt.
- Igen, nyitottunk egy jegyet.
- ĂS?
- Nos, mĂ©g nem vĂĄlaszoltak nekĂŒnk.
Akkor jöttem rĂĄ, hogy mindaz, amit korĂĄbban mondtak nekem, csak a jĂ©ghegy csĂșcsa volt, ami ellen meg kell kĂŒzdeni.
Van egy jó idézet, ami nagyon illik erre az esetre:
âA technolĂłgia megvĂĄltoztatĂĄsĂĄhoz nĂ©ha meg kell vĂĄltoztatni a szervezetet.â
De mivel az Ă©v legforgalmasabb idĆszakĂĄban kezdtem dolgozni, mind az azonnali, mind a hosszĂș tĂĄvĂș megoldĂĄsokat figyelembe kellett vennem. Ăs azzal kellett kezdenem, ami most kritikus volt.
Day 3
TehĂĄt a betöltĂ©si idĆ 4 mĂĄsodperc, a legnagyobb csĂșcsok pedig 13 Ă©s 15 között vannak.

Ezen idĆszak harmadik napjĂĄn a letöltĂ©si sebessĂ©g Ăgy nĂ©zett ki:

Az Ă©n szemszögembĆl semmi sem mƱködött. Mindenki mĂĄs szemszögĂ©bĆl nĂ©zve egy kicsit lassabban mƱködött a szokĂĄsosnĂĄl. De ez nem csak Ășgy megtörtĂ©nik â ez egy komoly problĂ©ma.
MegprĂłbĂĄltam meggyĆzni a csapatot, de azt mondtĂĄk, hogy egyszerƱen több szerverre van szĂŒksĂ©gĂŒk. Ez kĂ©tsĂ©gtelenĂŒl egy megoldĂĄs, de korĂĄntsem az egyetlen vagy a leghatĂ©konyabb. MegkĂ©rdeztem, miĂ©rt nincs elĂ©g szerver, Ă©s mekkora a forgalom. ExtrapolĂĄltam az adatokat, Ă©s azt talĂĄltam, hogy mĂĄsodpercenkĂ©nt körĂŒlbelĂŒl 150 kĂ©rĂ©sĂŒnk volt, ami ĂĄltalĂĄban az Ă©sszerƱ hatĂĄrokon belĂŒl van.
De nem szabad elfelejtenĂŒnk, hogy mielĆtt megkapnĂĄnk a helyes vĂĄlaszt, fel kell tennĂŒnk a megfelelĆ kĂ©rdĂ©st. A következĆ kĂ©rdĂ©sem az volt: hĂĄny frontend szerverĂŒnk van? A vĂĄlasz kissĂ© âmegdöbbentettâ â 17 frontend szerverĂŒnk volt!
â SzĂ©gyellem megkĂ©rdezni, de a 150 osztva 17-tel az körĂŒlbelĂŒl 8? Azt mondod, hogy minden szerver mĂĄsodpercenkĂ©nt 8 kĂ©rĂ©st dolgoz fel, Ă©s ha holnap 160 kĂ©rĂ©sĂŒnk lesz mĂĄsodpercenkĂ©nt, akkor mĂ©g kĂ©t szerverre lesz szĂŒksĂ©gĂŒnk?
TermĂ©szetesen nem volt szĂŒksĂ©gĂŒnk tovĂĄbbi szerverekre. A megoldĂĄs magĂĄban a kĂłdban volt, ott a felszĂnen:
var currentClass = classes.getCurrentClass();
return currentClass; Volt egy funkciĂł getCurrentClass(), mert a webhelyen minden az osztĂĄly kontextusĂĄban mƱködik â helyesen. Ăs ehhez az egy fĂŒggvĂ©nyhez minden oldalon, 200+ kĂ©rĂ©s.
A megoldĂĄs Ăgy nagyon egyszerƱ volt, mĂ©g csak ĂĄt sem kellett Ărni semmit: csak ne kĂ©rd Ășjra ugyanazt az informĂĄciĂłt.
if ( !isDefined("REQUEST.currentClass") ) {
var classes = new api.private.classes.base();
REQUEST.currentClass = classes.getCurrentClass();
}
return REQUEST.currentClass;Nagyon örĂŒltem, mert azt hittem, hogy mĂĄr a harmadik napon megtalĂĄltam a fĆ problĂ©mĂĄt. Milyen naiv voltam, ez csak egy volt a sok problĂ©ma közĂŒl.

De az elsĆ problĂ©ma megoldĂĄsa sokkal lejjebb vitte a grafikont.
Ezzel egy idĆben mĂĄs optimalizĂĄciĂłkon is dolgoztunk. Rengeteg dolgot lehetett azonnal javĂtani. PĂ©ldĂĄul azon a harmadik napon felfedeztem, hogy a rendszernek van gyorsĂtĂłtĂĄra (elĆször azt hittem, minden kĂ©rĂ©s közvetlenĂŒl az adatbĂĄzisbĂłl Ă©rkezik). Amikor gyorsĂtĂłtĂĄrra gondolok, a szokĂĄsos Redis vagy a Memcached jut eszembe. De ez csak Ă©n voltam Ăgy, mert abban a rendszerben a gyorsĂtĂłtĂĄrazĂĄs MongoDB-t Ă©s SQL Servert hasznĂĄlt â ugyanazt, amelyikrĆl az elĆbb olvastuk az adatokat.
Tizedik nap
Az elsĆ hetet az azonnal megoldandĂł problĂ©mĂĄkkal töltöttem. A mĂĄsodik hĂ©t környĂ©kĂ©n elĆször vettem rĂ©szt egy ĂĄllĂł megbeszĂ©lĂ©sen, hogy beszĂ©lgessek a csapattal, megnĂ©zzem, mi törtĂ©nik, Ă©s hogyan halad az egĂ©sz folyamat.
IsmĂ©t felmerĂŒlt valami Ă©rdekes. A csapat a következĆ tagokbĂłl ĂĄllt: 18 fejlesztĆ; 8 tesztelĆ; 3 menedzser; 2 architect. Ăs mindannyian rĂ©szt vettek közös rituĂĄlĂ©kban, ami azt jelentette, hogy minden reggel több mint 30 ember jött el a stand-up gyƱlĂ©sre, Ă©s beszĂĄmolt arrĂłl, hogy mit csinĂĄl. A megbeszĂ©lĂ©s egyĂ©rtelmƱen nem tartott 5 vagy 15 percig. Senki sem hallgatott meg senkit, mert mindenki mĂĄs rendszeren dolgozott. Ebben a formĂĄtumban ĂłrĂĄnkĂ©nt 2-3 jegy egy grooming ĂŒlĂ©s sorĂĄn mĂĄr jĂł eredmĂ©nynek szĂĄmĂtott.
Az elsĆ dolog, amit tettĂŒnk, az volt, hogy a csapatot több termĂ©kvonalra osztottuk. A kĂŒlönbözĆ rĂ©szlegekhez Ă©s rendszerekhez kĂŒlön csapatokat hoztunk lĂ©tre, beleĂ©rtve a fejlesztĆket, tesztelĆket, termĂ©kmenedzsereket Ă©s ĂŒzleti elemzĆket.
Az eredmĂ©ny a következĆ volt:
- Az ållórendezvények és gyƱlések szåmånak csökkentése.
- A termékkel kapcsolatos tårgyi ismeretek.
- A tulajdonlĂĄs Ă©rzĂ©se. Amikor az emberek korĂĄbban folyamatosan vĂĄltogattĂĄk a rendszereket, tudtĂĄk, hogy a hibĂĄikat valĂłszĂnƱleg valaki mĂĄs fogja kijavĂtani, nem Ćk maguk.
- Csapatok közötti egyĂŒttmƱködĂ©s. Mondani sem kell, hogy a minĆsĂ©gbiztosĂtĂĄs Ă©s a programozĂłk korĂĄbban nem sokat kommunikĂĄltak egymĂĄssal; a termĂ©kmenedzser a sajĂĄt dolgĂĄval foglalkozott stb. Most mĂĄr közös a felelĆssĂ©gi körĂŒk.
FĆ hangsĂșlyt fektettĂŒnk a hatĂ©konysĂĄgra, a termelĂ©kenysĂ©gre Ă©s a minĆsĂ©gre â ezeket a problĂ©mĂĄkat prĂłbĂĄltuk megoldani a csapat ĂĄtalakĂtĂĄsĂĄval.
Tizenegyedik nap
A csapatstruktĂșra ĂĄtalakĂtĂĄsĂĄnak folyamata sorĂĄn rĂĄjöttem, hogyan kell kiszĂĄmĂtani TörtĂ©netPont1 SP egy napnak felelt meg, Ă©s minden jegy tartalmazott SP-t mind a fejlesztĂ©shez, mind a minĆsĂ©gbiztosĂtĂĄshoz, azaz legalĂĄbb 2 SP-t.
Hogyan fedeztem fel ezt?

HibĂĄt talĂĄltunk: az egyik jelentĂ©sben, ahol meg kell adni a jelentĂ©shez szĂŒksĂ©ges idĆszak kezdĆ Ă©s befejezĆ dĂĄtumĂĄt, az utolsĂł napot nem veszi figyelembe a rendszer. Vagyis valahol a lekĂ©rdezĂ©sben nem <= volt, hanem egyszerƱen <. Azt mondtĂĄk, hogy ez hĂĄrom törtĂ©netpont, ami azt jelenti, hogy 3 nap.
EzutĂĄn mi:
- FelĂŒlvizsgĂĄltuk a törtĂ©netpont-rendszert. MostantĂłl a rendszeren keresztĂŒl gyorsan feldolgozhatĂł kisebb hibajavĂtĂĄsok gyorsabban eljutnak a felhasznĂĄlĂłkhoz.
- ElkezdtĂŒk összevonni a kapcsolĂłdĂł fejlesztĂ©si Ă©s tesztelĂ©si jegyeket. KorĂĄbban minden jegy, minden hiba egy zĂĄrt ökoszisztĂ©ma volt, amely semmi mĂĄshoz nem kapcsolĂłdott. HĂĄrom gomb megvĂĄltoztatĂĄsa egyetlen oldalon hĂĄrom kĂŒlönbözĆ jegyet eredmĂ©nyezhetett hĂĄrom kĂŒlönbözĆ minĆsĂ©gbiztosĂtĂĄsi folyamattal, ahelyett, hogy oldalankĂ©nt egyetlen automatizĂĄlt tesztet vĂ©geztĂŒnk volna.
- ElkezdtĂŒnk a fejlesztĆkkel dolgozni egy megközelĂtĂ©sen a munkaköltsĂ©gek becslĂ©sĂ©re. HĂĄrom nap egyetlen gomb cserĂ©jĂ©re nem vicces.
Huszadik nap
Valahol az elsĆ hĂłnap közepe tĂĄjĂĄn a helyzet kissĂ© stabilizĂĄlĂłdott, rĂĄjöttem, hogy mi is törtĂ©nik alapvetĆen, Ă©s elkezdtem a jövĆbe tekinteni, valamint hosszĂș tĂĄvĂș megoldĂĄsokon gondolkodni.
HosszĂștĂĄvĂș cĂ©lok:
- FelĂŒgyelt platform. Az, hogy minden oldalon több szĂĄz lekĂ©rdezĂ©s van, nem komoly.
- KiszĂĄmĂthatĂł trendek. Voltak idĆszakos forgalmi csĂșcsok, amelyek elsĆ pillantĂĄsra nem tƱntek korrelĂĄciĂłban mĂĄs mutatĂłkkal â meg kellett Ă©rtenĂŒnk, hogy miĂ©rt törtĂ©nt ez, Ă©s meg kellett tanulnunk elĆre jelezni.
- PlatformbĆvĂtĂ©s. A vĂĄllalkozĂĄs folyamatosan növekszik, egyre több felhasznĂĄlĂł Ă©rkezik, Ă©s a forgalom is növekszik.
RĂ©gebben gyakran mondtĂĄk: "Ărjunk ĂĄt mindent a [nyelvben/keretrendszerben], minden jobban fog mƱködni!"
A legtöbb esetben ez nem mƱködik; jĂł dolog, ha az ĂĄtĂrĂĄs egyĂĄltalĂĄn mƱködik. EzĂ©rt kellett lĂ©trehoznunk egy ĂŒtemtervet â egy konkrĂ©t stratĂ©giĂĄt, amely lĂ©pĂ©srĆl lĂ©pĂ©sre bemutatja, hogyan fogjuk elĂ©rni ĂŒzleti cĂ©ljainkat (mit fogunk tenni Ă©s miĂ©rt), Ă©s amely:
- tĂŒkrözi a projekt kĂŒldetĂ©sĂ©t Ă©s cĂ©ljait;
- rangsorolja a fĆ cĂ©lokat;
- tartalmazza a megvalĂłsĂtĂĄsukhoz szĂŒksĂ©ges ĂŒtemtervet.
Ezt megelĆzĆen senki sem beszĂ©lte meg a csapattal a vĂĄltoztatĂĄsok cĂ©ljĂĄt. Ehhez megfelelĆ sikermutatĂłkra van szĂŒksĂ©g. A vĂĄllalat törtĂ©netĂ©ben elĆször hatĂĄroztunk meg KPI-okat a mƱszaki csapat szĂĄmĂĄra, Ă©s ezeket a mutatĂłkat szervezeti mutatĂłkhoz kötöttĂŒk.

MĂĄs szĂłval, a szervezeti KPI-kat csapatok tĂĄmogatjĂĄk, a csapatok KPI-jait pedig egyĂ©ni KPI-k. EllenkezĆ esetben, ha a folyamat KPI-jai nem illeszkednek a szervezetiekhez, mindenki a sajĂĄt kezĂ©ben marad.
PĂ©ldĂĄul az egyik szervezeti KPI a piaci rĂ©szesedĂ©s növelĂ©se Ășj termĂ©kek rĂ©vĂ©n.
Hogyan tudjuk tĂĄmogatni azt a cĂ©lt, hogy több Ășj termĂ©kĂŒnk legyen?
- ElĆször is, több idĆt szeretnĂ©nk Ășj termĂ©kek fejlesztĂ©sĂ©re fordĂtani a hibĂĄk javĂtĂĄsa helyett. Ez egy logikus döntĂ©s, amely könnyen mĂ©rhetĆ.
- Måsodszor, tåmogatni szeretnénk a tranzakciós volumen növekedését, mivel minél nagyobb a piaci részesedés, annål több a felhasznåló, és ennek következtében annål nagyobb a forgalom.

EzutĂĄn a csoporton belĂŒl megvalĂłsĂthatĂł egyedi KPI-k pĂ©ldĂĄul ott lesznek elhelyezve, ahol a fĆ hibĂĄk keletkeznek. Ha kifejezetten erre a szakaszra összpontosĂtunk, jelentĆsen csökkenthetjĂŒk a hibĂĄkat, növelhetjĂŒk az Ășj termĂ©kek fejlesztĂ©sĂ©re fordĂtott idĆt, Ă©s ismĂ©t tĂĄmogathatjuk a szervezeti KPI-kat.
EzĂ©rt minden döntĂ©snek, beleĂ©rtve a kĂłd ĂĄtĂrĂĄsĂĄt is, tĂĄmogatnia kell a vĂĄllalat ĂĄltal kitƱzött konkrĂ©t cĂ©lokat (szervezeti növekedĂ©s, Ășj funkciĂłk, toborzĂĄs).
A folyamat sorĂĄn egy Ă©rdekes dolog merĂŒlt fel, ami nemcsak a mƱszaki csapat, hanem az egĂ©sz vĂĄllalat szĂĄmĂĄra is ĂșjdonsĂĄg volt: minden ticketnek legalĂĄbb egy KPI-ra kell összpontosĂtania. TehĂĄt, ha egy termĂ©kmenedzser azt mondja, hogy Ășj funkciĂłt szeretne lĂ©trehozni, az elsĆ kĂ©rdĂ©snek Ăgy kell lennie: "Melyik KPI-t tĂĄmogatja ez a funkciĂł?" Ha egyet sem, akkor sajnĂĄlom â felesleges funkciĂłnak tƱnik.
Harmincas nap
A hĂłnap vĂ©gĂ©n felfedeztem egy Ășjabb aprĂłsĂĄgot: az operatĂv csapatomban senki sem lĂĄtta soha azokat a szerzĆdĂ©seket, amelyeket az ĂŒgyfelekkel kötĂŒnk. FelmerĂŒlhet a kĂ©rdĂ©s, hogy miĂ©rt akarnĂĄ bĂĄrki is lĂĄtni a kapcsolattartĂłkat?
- ElĆször is, mivel az SLA-k a szerzĆdĂ©sekben vannak rögzĂtve.
- MĂĄsodszor, minden SLA mĂĄs. Minden ĂŒgyfĂ©l a sajĂĄt követelmĂ©nyeivel Ă©rkezett, Ă©s az Ă©rtĂ©kesĂtĂ©si csapat anĂ©lkĂŒl Ărta alĂĄ azokat, hogy megnĂ©zte volna Ćket.
Egy mĂĄsik Ă©rdekes rĂ©szlet: az egyik legnagyobb ĂŒgyfelĂŒnkkel kötött szerzĆdĂ©s kimondja, hogy a platform ĂĄltal tĂĄmogatott összes szoftververziĂłnak n-1-nek kell lennie, ami nem a legĂșjabb, hanem az utolsĂł elĆtti verziĂłt jelenti.
EgyĂ©rtelmƱ, milyen messze voltunk az n-1-tĆl, ha a platform ColdFusion Ă©s SQL Server 2008 alapĂș lett volna, amelyet jĂșliusban mĂĄr egyĂĄltalĂĄn nem tĂĄmogattak.
Negyvenötödik nap
Valamikor a mĂĄsodik hĂłnap közepe körĂŒl volt elĂ©g idĆm leĂŒlni Ă©s csinĂĄlni Ă©rtĂ©kfolyamtĂ©rkĂ©pĂ©szet A teljes folyamat. Ezek a szĂŒksĂ©ges lĂ©pĂ©sek, amelyeket meg kell tenni, a termĂ©k lĂ©trehozĂĄsĂĄtĂłl a fogyasztĂłhoz valĂł kiszĂĄllĂtĂĄsig, Ă©s ezeket a lehetĆ legrĂ©szletesebben kell leĂrni.
A folyamatot aprĂł rĂ©szekre bontod, Ă©s megvizsgĂĄlod, mi tart tĂșl sokĂĄig, mit lehet optimalizĂĄlni, javĂtani stb. PĂ©ldĂĄul mennyi idĆbe telik, amĂg egy termĂ©kkĂ©relem ĂĄtmegy a feldolgozĂĄson, mikor jut el egy olyan tickethez, amelyet egy fejlesztĆ kezelni tud, minĆsĂ©gbiztosĂtĂĄs stb. RĂ©szletesen megvizsgĂĄlod az egyes lĂ©pĂ©seket, Ă©s ĂĄtgondolod, hogy mit lehet optimalizĂĄlni.
Miközben ezt csinåltam, két dolog ragadta meg a figyelmemet:
- a minĆsĂ©gbiztosĂtĂĄsi rĂ©szleg ĂĄltal a fejlesztĆknek visszakĂŒldött jegyek magas szĂĄzalĂ©ka;
- A pull requestek elbĂrĂĄlĂĄsa tĂșl sokĂĄig tartott.
A problĂ©ma az volt, hogy ezek a következtetĂ©sek olyanok voltak, mint: Ășgy tƱnik, sokĂĄ idĆbe telik, de nem tudjuk pontosan, hogy mennyi idĆbe telhet.
"Amit nem tudsz mérni, azt nem tudod fejleszteni."
Hogyan tudod igazolni, hogy mennyire sĂșlyos egy problĂ©ma? Napok vagy ĂłrĂĄk elvesztegetĂ©sĂ©rĆl van szĂł?
Ennek mĂ©rĂ©sĂ©re hozzĂĄadtunk nĂ©hĂĄny lĂ©pĂ©st a Jira folyamathoz: a âfejlesztĂ©sre kĂ©szâ Ă©s a âminĆsĂ©g-ellenĆrzĂ©sre kĂ©szâ, hogy megmĂ©rjĂŒk, mennyi ideig vĂĄrakozik az egyes jegyek, Ă©s hĂĄnyszor tĂ©rnek vissza egy adott lĂ©pĂ©shez.

HozzĂĄadtuk az âellenĆrzĂ©s alattâ funkciĂłt is, hogy nyomon kövessĂŒk a jegyek ĂĄtlagos ellenĆrzĂ©si idejĂ©t, Ă©s onnantĂłl kezdve elkezdhessĂŒk a mĂ©rĂ©st. MĂĄr voltak rendszermetrikĂĄink, de most Ășjakat adtunk hozzĂĄ, Ă©s elkezdtĂŒk mĂ©rni:
- A folyamat hatĂ©konysĂĄga: teljesĂtmĂ©ny Ă©s a tervezett/megvalĂłsĂtott.
- FolyamatminĆsĂ©g: hibĂĄk szĂĄma, minĆsĂ©gbiztosĂtĂĄsi hibĂĄk.
Nagyon sokat segĂt megĂ©rteni, hogy mi megy jĂłl, Ă©s mi rosszul.
Ătvenedik nap
Ez mind szĂ©p Ă©s jĂł, persze, de a mĂĄsodik hĂłnap vĂ©ge felĂ© törtĂ©nt valami, ami alapvetĆen kiszĂĄmĂthatĂł volt, bĂĄr ilyen mĂ©rtĂ©kƱre nem szĂĄmĂtottam. Az emberek elkezdtek tĂĄvozni, mert a felsĆ vezetĂ©s megvĂĄltozott. Ăj emberek jöttek a vezetĆsĂ©gbe, Ă©s elkezdtek mindent megvĂĄltoztatni, a rĂ©giek pedig felmondtak. Ăs ĂĄltalĂĄban egy nĂ©hĂĄny Ă©ve mƱködĆ cĂ©gnĂ©l mindenki barĂĄt, Ă©s mindenki ismeri egymĂĄst.
Ez vĂĄrhatĂł volt, de a leĂ©pĂtĂ©sek mĂ©rtĂ©ke vĂĄratlan volt. PĂ©ldĂĄul egy hĂ©t alatt kĂ©t csapatvezetĆ is benyĂșjtotta egyszerre a felmondĂĄsĂĄt. Ăgy nemcsak mĂĄs problĂ©mĂĄkrĂłl kellett megfeledkeznem, hanem arra is kellett koncentrĂĄlnom, hogy csapat lĂ©trehozĂĄsaEz egy hosszĂș Ă©s nehĂ©z problĂ©ma, de meg kellett oldani, mert meg akartuk tartani a maradt embereket (vagy legalĂĄbbis a legtöbbjĂŒket). Valahogy reagĂĄlnunk kellett a tĂĄvozĂłk igĂ©nyeire, hogy fenntartsuk a csapat morĂĄljĂĄt.
ElmĂ©letben ez jĂł dolog: egy Ășj ember teljes felhatalmazĂĄssal Ă©rkezik, felmĂ©rheti a csapat kĂ©pessĂ©geit, Ă©s lecserĂ©lheti a meglĂ©vĆ szemĂ©lyzetet. A valĂłsĂĄgban azonban lehetetlen egyszerƱen Ășj embereket behozni kĂŒlönfĂ©le okokbĂłl. Mindig szĂŒksĂ©g van az egyensĂșlyra.
- RĂ©giek Ă©s Ășjak. Meg kell tartanunk a rĂ©gi embereket, akik kĂ©pesek vĂĄltoztatni Ă©s tĂĄmogatni a kĂŒldetĂ©st. De ugyanakkor Ășj vĂ©rt kell hoznunk, amirĆl kicsit kĂ©sĆbb beszĂ©lĂŒnk.
- Tapasztalat. Sokat beszĂ©ltem jĂł fiatalokkal, akik lelkesen vĂĄrtak rĂĄnk. De nem tudtam Ćket felvenni, mert nem volt elĂ©g vĂ©gzĆs, aki tĂĄmogatta volna Ă©s mentorĂĄlta volna Ćket. ElĆször a legjobbakat kellett felvennĂŒnk, Ă©s csak utĂĄna a fiatalokat.
- Sårgarépa és bot.
Nincs jĂł vĂĄlaszom arra a kĂ©rdĂ©sre, hogy mi a megfelelĆ egyensĂșly, hogyan lehet fenntartani, hĂĄny embert kell megtartani, Ă©s mekkora nyomĂĄst kell gyakorolni. Ez egy tisztĂĄn egyĂ©ni folyamat.
Ătvenegyedik nap
Elkezdtem nézegetni a csapatot, hogy låssam, kik vannak, és ismét eszembe jutott:
âA legtöbb problĂ©ma az emberek problĂ©mĂĄja.â
Azt tapasztaltam, hogy a csapatnak egĂ©szĂ©ben, mind a fejlesztĆknek, mind az operĂĄtoroknak, hĂĄrom nagy problĂ©mĂĄval kellett szembenĂ©zniĂŒk:
- Elégedettség a jelenlegi helyzettel.
- FelelĆssĂ©g hiĂĄnyĂĄban â mert mĂ©g senki sem fordĂtotta le az elĆadĂłmƱvĂ©szek munkĂĄjĂĄnak eredmĂ©nyeit az ĂŒzleti Ă©letre gyakorolt ââhatĂĄsukra.
- A våltozåstól való félelem.

A vĂĄltozĂĄs mindig kimozdĂt a komfortzĂłnĂĄdbĂłl, Ă©s minĂ©l fiatalabbak az emberek, annĂĄl kevĂ©sbĂ© szeretik a vĂĄltozĂĄst, mert nem Ă©rtik, miĂ©rt vagy hogyan. A leggyakoribb vĂĄlasz, amit hallottam, az volt, hogy âMi mĂ©g soha nem csinĂĄltuk Ăgy.â Ez a teljes abszurditĂĄs pontjĂĄig fajult â mĂ©g a legkisebb vĂĄltozĂĄs sem ment volna ĂĄt anĂ©lkĂŒl, hogy valaki panaszkodott volna. Ăs fĂŒggetlenĂŒl attĂłl, hogy mennyire befolyĂĄsolta a vĂĄltozĂĄs a munkĂĄjukat, az emberek azt mondtĂĄk: âNem, minek erĆlködni? Nem fog mƱködni.â
De nem lehetsz jobb anĂ©lkĂŒl, hogy bĂĄrmit is megvĂĄltoztatnĂĄl.
Teljesen abszurd beszélgetést folytattam egy alkalmazottal, elmondtam neki az optimalizålåsi ötleteimet, amire azt mondta:
- Ă, nem lĂĄttad, mi volt tavaly!
- Ăs akkor mi van?
- Most sokkal jobb, mint volt.
- SzĂłval, mĂĄr nem lehet jobb?
- Miért?
JĂł kĂ©rdĂ©s â miĂ©rt? Mintha ha a dolgok most jobban mennek, mint rĂ©gen, akkor minden rendben van. Ez elszĂĄmoltathatĂłsĂĄg hiĂĄnyĂĄhoz vezet, ami teljesen normĂĄlis. Ahogy mondtam, a tech csapat kissĂ© tĂ©tlenĂŒl hallgatott. A cĂ©g Ășgy gondolta, hogy ott kellene lenniĂŒk, de senki sem ĂĄllĂtott fel szabvĂĄnyokatA technikai tĂĄmogatĂĄs mĂ©g soha nem lĂĄtott SLA-t, Ăgy a csoport szĂĄmĂĄra tökĂ©letesen "elfogadhatĂł" volt (Ă©s ez ragadta meg a legjobban):
- 12 måsodperces betöltés;
- 5-10 perc leĂĄllĂĄsi idĆ kiadĂĄsonkĂ©nt;
- A kritikus problĂ©mĂĄk megoldĂĄsa napokig, sĆt hetekig is eltarthat;
- nincs 24 ĂłrĂĄs/ĂŒgyeletes szemĂ©lyzet.
Senki sem prĂłbĂĄlta megkĂ©rdezni, hogy miĂ©rt nem lehet jobban csinĂĄlni, Ă©s senki sem jött rĂĄ, hogy ennek nem Ăgy kellene lennie.
RĂĄadĂĄskĂ©nt adĂłdott mĂ©g egy problĂ©ma: tapasztalat hiĂĄnyaAz idĆsebbek elmentek, a megmaradt fiatal csapat pedig az elĆzĆ rezsim alatt nĆtt fel, Ă©s az megmĂ©rgezte Ćket.
Mindezen felĂŒl az emberek fĂ©ltek a kudarctĂłl Ă©s az alkalmatlannak tƱnĂ©stĆl is. Ez abban tĂŒkrözĆdött, hogy elĆször is, semmilyen körĂŒlmĂ©nyek között nem kĂ©rt segĂtsĂ©getHĂĄnyszor beszĂ©lgettĂŒnk mĂĄr csoportosan Ă©s egyĂ©nileg is, Ă©s azt mondtam: âTegyĂ©l fel egy kĂ©rdĂ©st, ha nem tudod, hogyan kell csinĂĄlni valamit?â Magabiztos vagyok, Ă©s tudom, hogy bĂĄrmilyen problĂ©mĂĄt meg tudok oldani, de idĆbe telik. SzĂłval, ha megkĂ©rdezhetek valakit, aki 10 perc alatt tudja, hogyan kell megoldani, akkor megteszem. MinĂ©l kevesebb tapasztalatod van, annĂĄl jobban fĂ©lsz megkĂ©rdezni, mert azt hiszed, hogy alkalmatlannak fognak tartani.
Ez a kĂ©rdĂ©sek feltevĂ©sĂ©tĆl valĂł fĂ©lelem Ă©rdekes mĂłdokon nyilvĂĄnul meg. PĂ©ldĂĄul megkĂ©rdezed: âHogy halad ez a feladat?â, Ă©s azt mondjĂĄk: âMĂĄr csak pĂĄr Ăłra mĂșlva, majdnem kĂ©sz vagyok.â MĂĄsnap Ășjra megkĂ©rdezed, Ă©s azt mondjĂĄk, hogy minden rendben van, de csak egy problĂ©ma van, Ă©s az biztosan megoldĂłdik a nap vĂ©gĂ©re. Eltelik mĂ©g egy nap, Ă©s amĂg sarokba nem szorĂtod Ćket, Ă©s rĂĄ nem kĂ©nyszerĂted Ćket, hogy beszĂ©ljenek valakivel, a dolgok Ăgy folytatĂłdnak. Maguk akarjĂĄk megoldani a problĂ©mĂĄt, abban a hitben, hogy ha nem oldjĂĄk meg maguk, az hatalmas kudarc lesz.
EzĂ©rt a fejlesztĆk felfĂșjtĂĄk a becslĂ©seketElĂ©g vicc volt: amikor egy konkrĂ©t feladatrĂłl beszĂ©lgettĂŒnk, mondtak egy szĂĄmot, amin nagyon meglepĆdtem. Azt mondtĂĄk, hogy a fejlesztĆ a becslĂ©sĂ©ben beleszĂĄmĂtja azt az idĆt is, amĂg a hibajegyet visszakĂŒldik a minĆsĂ©gbiztosĂtĂĄstĂłl (QA), a talĂĄlt hibĂĄk miatti hibajegy-ellenĆrzĂ©s (PR) idejĂ©t, valamint a felĂŒlvizsgĂĄlatĂ©rt felelĆs szemĂ©lyek elfoglaltsĂĄgĂĄt â vagyis mindent, ami lehetsĂ©ges.
MĂĄsodszor, azok az emberek, akik fĂ©lnek attĂłl, hogy alkalmatlannak tƱnnek, tĂșlanalizĂĄlAmikor elmondod nekik, hogy pontosan mit kellene tenni, elkezdik azt mondani: âNem, mi lenne, ha itt gondolkodnĂĄnk el rajta?â Ebben az Ă©rtelemben a mi cĂ©gĂŒnk nem egyedĂŒlĂĄllĂł; ez egy gyakori problĂ©ma a fiatalok körĂ©ben.
VĂĄlaszul a következĆ gyakorlatokat vezettem be:
- A 30 perces szabĂĄly. Ha fĂ©l Ăłra alatt nem tudod megoldani a problĂ©mĂĄt, kĂ©rj segĂtsĂ©get valaki mĂĄstĂłl. Ez vĂĄltozĂł sikerrel mƱködik, mert az emberek Ășgysem kĂ©rdeznek, de legalĂĄbb a folyamat elkezdĆdött.
- SzĂŒntess meg mindent, kivĂ©ve a lĂ©nyegetegy feladat elvĂ©gzĂ©sĂ©hez szĂŒksĂ©ges idĆ becslĂ©sĂ©nĂ©l, azaz csak azt vegye figyelembe, hogy mennyi ideig tart a kĂłd megĂrĂĄsa.
- Folyamatos tanulĂĄs Azoknak, akik tĂșlanalizĂĄlnak. Ez csak ĂĄllandĂł munka az emberekkel.
Hatvanadik nap
Miközben mindezt csinĂĄltam, ideje volt a költsĂ©gvetĂ©st is ĂĄtnĂ©zni. TermĂ©szetesen sok Ă©rdekes dolgot fedeztem fel a pĂ©nzköltĂ©sĂŒnkkel kapcsolatban. PĂ©ldĂĄul egy kĂŒlön adatközpontban egy egĂ©sz rackĂŒnk volt, amelyben egyetlen FTP-szerver volt, amit egyetlen kliens hasznĂĄlt. KiderĂŒlt, hogy "...elköltöztĂŒnk, de ott maradt, nem cserĂ©ltĂŒk ki." Ez kĂ©t Ă©vvel ezelĆtt törtĂ©nt.
A felhĆalapĂș szolgĂĄltatĂĄsrĂłl szĂłlĂł törvĂ©ny kĂŒlönösen Ă©rdekes volt. Biztos vagyok benne, hogy a magas felhĆalapĂș szolgĂĄltatĂĄsi dĂj fĆ oka az, hogy a fejlesztĆk Ă©letĂŒkben elĆször korlĂĄtlan hozzĂĄfĂ©rĂ©ssel rendelkeznek a szerverekhez. Nem kell megkĂ©rdezniĂŒk, hogy âKĂ©rem, adjanak egy tesztszervertâ â maguk is kiprĂłbĂĄlhatjĂĄk. RĂĄadĂĄsul a fejlesztĆk mindig olyan menĆ rendszert akarnak Ă©pĂteni, amit a Facebook Ă©s a Netflix is ââmegirigyelne.
A fejlesztĆknek azonban nincs tapasztalatuk a szerverbeszerzĂ©sben, Ă©s nincsenek meg a kĂ©pessĂ©geik a megfelelĆ szervermĂ©ret meghatĂĄrozĂĄsĂĄhoz, mivel korĂĄbban nem volt rĂĄ szĂŒksĂ©gĂŒk. Ăs gyakran nem Ă©rtik teljesen a skĂĄlĂĄzhatĂłsĂĄg Ă©s a teljesĂtmĂ©ny közötti kĂŒlönbsĂ©get.
Leltår eredményei:
- Ugyanabból az adatközpontból jött.
- HĂĄrom naplĂłzĂł cĂ©ggel bontottunk fel szerzĆdĂ©st. Mivel öt naplĂłzĂł cĂ©gĂŒnk volt, minden fejlesztĆ, aki elkezdett valamivel kĂsĂ©rletezni, Ășjat vett fel.
- HĂ©t AWS rendszert ĂĄllĂtottak le. A halott projekteket ismĂ©t nem ĂĄllĂtottĂĄk le; azok tovĂĄbbra is mƱködtek.
- A szoftverköltségek hatszorosåra csökkentek.
Hetvenötödik nap
Telt az idĆ, Ă©s kĂ©t Ă©s fĂ©l hĂłnap mĂșlva talĂĄlkoznom kellett az igazgatĂłtanĂĄccsal. A mi igazgatĂłtanĂĄcsunk nem jobb vagy rosszabb, mint bĂĄrmelyik mĂĄsik; mint minden tanĂĄcs, ez is mindent tudni akar. Az emberek pĂ©nzt fektetnek be, Ă©s meg akarjĂĄk Ă©rteni, hogy a munkĂĄnk hogyan illeszkedik a KPI-jainkhoz.
Az igazgatĂłtanĂĄcs minden hĂłnapban rengeteg informĂĄciĂłt kap: a felhasznĂĄlĂłk szĂĄmĂĄrĂłl, növekedĂ©sĂŒkrĆl, az ĂĄltaluk hasznĂĄlt szolgĂĄltatĂĄsokrĂłl Ă©s azok hasznĂĄlatĂĄrĂłl, a teljesĂtmĂ©nyrĆl Ă©s a termelĂ©kenysĂ©grĆl, vĂ©gĂŒl pedig az ĂĄtlagos oldalbetöltĂ©si sebessĂ©grĆl.
Az egyetlen problĂ©ma az, hogy szerintem az ĂĄtlag a tiszta gonosz. De ezt nagyon nehĂ©z elmagyarĂĄzni az igazgatĂłtanĂĄcsnak. HozzĂĄszoktak, hogy összesĂtett szĂĄmokkal dolgoznak, nem pĂ©ldĂĄul a mĂĄsodpercenkĂ©nti betöltĂ©si idĆk eloszlĂĄsĂĄval.
Volt ezzel kapcsolatban nĂ©hĂĄny Ă©rdekes szempont. PĂ©ldĂĄul azt mondtam, hogy a forgalmat a tartalom tĂpusĂĄtĂłl fĂŒggĆen kĂŒlön webszerverek között kell felosztani.

TehĂĄt a ColdFusion a Jettyn ââĂ©s az nginxen keresztĂŒl futtatja az oldalakat. A kĂ©pek, a JS Ă©s a CSS pedig egy kĂŒlönĂĄllĂł nginxen keresztĂŒl futnak, sajĂĄt konfigurĂĄciĂłkkal. Ez egy meglehetĆsen bevett gyakorlat, amirĆl beszĂ©lek. Alig nĂ©hĂĄny Ă©vvel ezelĆtt. Ennek eredmĂ©nyekĂ©nt a kĂ©pek sokkal gyorsabban töltĆdnek be, Ă©s... az ĂĄtlagos betöltĂ©si sebessĂ©g 200 ms-mal nĆtt.

Ez azĂ©rt törtĂ©nt, mert a grafikon a Jetty-tĆl szĂĄrmazĂł adatokon alapul. Vagyis a gyors tartalom nem szerepel a szĂĄmĂtĂĄsban â az ĂĄtlagos Ă©rtĂ©k megugrott. MegĂ©rtettĂŒk ezt, Ă©s elnevettĂŒk, de hogyan magyarĂĄzhattuk volna el az igazgatĂłtanĂĄcsnak, hogy miĂ©rt tettĂŒnk valamit, ami 12%-os csökkenĂ©st okozott?
Nyolcvanötödik nap
A harmadik hĂłnap vĂ©gĂ©re rĂĄjöttem, hogy egy dologra egyĂĄltalĂĄn nem szĂĄmĂtottam: az idĆre. Minden, amirĆl beszĂ©ltem, idĆt igĂ©nyel.

Ez a tĂ©nyleges heti naptĂĄram â egy egyszerƱ munkahĂ©t, nem tĂșl zsĂșfolt. Nincs elĂ©g idĆ mindenre. SzĂłval, ismĂ©t embereket kell toboroznom, akik segĂtenek a problĂ©mĂĄk kezelĂ©sĂ©ben.
Következtetés
Ez mĂ©g nem minden. Ebben a törtĂ©netben mĂ©g arra sem tĂ©rtem ki, hogyan dolgoztunk egyĂŒtt a termĂ©kkel, Ă©s hogyan prĂłbĂĄltunk közös nevezĆre jutni, hogyan integrĂĄltuk a technikai tĂĄmogatĂĄst, vagy hogyan oldottunk meg mĂĄs technikai problĂ©mĂĄkat. PĂ©ldĂĄul teljesen vĂ©letlenĂŒl fedeztem fel, hogy nem hasznĂĄljuk a SEQUENCEVan egy sajĂĄt magunk ĂĄltal Ărt fĂŒggvĂ©nyĂŒnk nextID, Ă©s ezt nem hasznĂĄljĂĄk tranzakciĂłban.
MilliĂłnyi hasonlĂł dologrĂłl lehetne hosszasan beszĂ©lni. De a legfontosabb, amit Ă©rdemes megemlĂteni, a kultĂșra.

A kultĂșra, vagy annak hiĂĄnya, az, ami minden mĂĄs problĂ©mĂĄhoz vezet. Olyan kultĂșrĂĄt prĂłbĂĄlunk Ă©pĂteni, ahol az emberek:
- nem félnek a kudarctól;
- tanulni a hibĂĄkbĂłl;
- egyĂŒttmƱködni mĂĄs csapatokkal;
- kezdemĂ©nyezĆkĂ©szsĂ©get mutatni;
- vĂĄllalni a felelĆssĂ©get;
- ĂŒdvözöld az eredmĂ©nyt gĂłlkĂ©nt;
- ĂŒnnepelni a sikert.
Ezzel egyĂŒtt minden mĂĄs is jönni fog.
Leon TƱz , és tovåbb .
KĂ©t stratĂ©gia lĂ©tezik a hagyatĂ©kkal valĂł bĂĄnĂĄsmĂłdra: mindenĂĄron elkerĂŒlni, vagy bĂĄtran legyĆzni a vele jĂĄrĂł nehĂ©zsĂ©geket. Mi a mĂĄsodik utat jĂĄrjuk, folyamatokat Ă©s megközelĂtĂ©seket vĂĄltoztatunk. Csatlakozzon hozzĂĄnk! , Đž , Ă©s egyĂŒtt fogjuk megvalĂłsĂtani a DevOps kultĂșrĂĄt.
ForrĂĄs: will.com
