Kuidas alustada DevOpsi transformatsiooni

Kui te ei mĂ”ista, mis on DevOps, siis siin on lĂŒhike ĂŒlevaade. DevOps on praktiseerimise kogum, mis vĂ€hendab inseneride hirme ja vĂ€hendab tarkvaratootmise katkestusi. Tavaliselt vĂ€hendavad nad ka turulejĂ”udmise aega — ajavahemikku ideest kuni lĂ”ppprodukti kohaletoimetamiseni klientidele, mis vĂ”imaldab kiiresti lĂ€bi viia Ă€ri eksperimente.

Kuidas alustada DevOpsi transformatsiooni? LĂŒhidalt: valime teenuse, millega protsessi alustada, tuvastame teenusega seotud inimesed, loome vÀÀrtusvoo kaardi, kujundame ajutise meeskonna, mis tegeleb transformatsiooniga esialgu ja mÀÀrame talle ĂŒlesande. Korrame tsĂŒklit vajalik arv kordi.

Kuidas alustada DevOpsi transformatsiooni

Üksikasjalik DevOps-i transformatsiooni plaan koos nĂ€idiste ja juhistega on allpool — inseneri raport Express42 ettevĂ”ttest, mis annab nĂ”u DevOpi kasvatamise kohta, kiirendades seda protsessi, sest on juba koostanud takistuste kaardi. Kui teile tundub, et transformatsioon pole vajalik vĂ”i teil on spetsiifika, et DevOps praktikad ei sobi, — kasutage aruannet juhisena piirangute leidmiseks ja kĂ”rvaldamiseks. ettekandest Andrei Aleksandrov — insener Express42's, kes konsultatsioonidega DevOpsi kasvatamiseks, kiirendades seda protsessi, sest on juba loonud mĂŒraskaarte. Kui teil tundub, et transformatsioon ei ole vajalik, vĂ”i kui teil on spetsiifilisus, mis ei sobi DevOps-praktikatega, — kasutage ettekannet juhendina piirangute leidmiseks ja eemaldamiseks.

Kui DevOps-i transformatsiooni kĂŒsimus teid vaevab, siis tĂ€hendab see, et teil on suur ettevĂ”te ja peate seda protsessi jĂ€rk-jĂ€rgult skaleerima kogu struktuuri ulatuses. Kuni on vajadus meeskonda transformeerida vĂ”i mĂ”ni piirang kĂ”rvaldada, saab allolevat algoritmi korrata.

Teenuse valik

Plaani oleme loonud, alustame esimesest sammust — teenuse valimisest. Esimene kriteerium — eluea pikkus: on vanu teenuseid — legacy, ja uusi. Alustada saab nii vanadest kui uutest.

Noore teenuse valimine on mĂ”istlik. See on vĂ€rske, seal ei ole veel vĂ€ljakujunenud töösĂŒsteemi meeskonnas, mis sellega tegeleb. Selle ĂŒmber ei ole tohutut tehnilist vĂ”lga, ei pea seda pidevalt parandama. Saame sellega teha kĂ”ike, mida soovime.

Vanade teenustega kaasnevad probleemid, mis on seotud sellega, et muutmine on alati keeruline. Seal on juba teatud tĂ”siste piirangute kogum, kuid vĂ”ib-olla tegelevad sellega inimesed, kes on valmis kĂ”ik ĂŒle vaatama — nad on vĂ€sinud ja soovivad midagi teisiti teha, sest neil on valus.

Töö vanade teenustega loob tugeva pretsedendi teie ettevĂ”ttes — on vĂ”imalik midagi muuta. Kui olete lisanud uue teenuse, mis töötab tootmises 100 korda tunnis ja kĂ”ik on korras, siis teie ettevĂ”tte inimesed vĂ”ivad öelda:

— See on ju uus teenus! Seal oli ju kĂ”ik lihtne, proovige meie vanakese jaoks midagi Ă€ra teha.

Legacy-teenust on mÔttekas kaasata transformatsiooni, kui teete seda kellegagi koos, nÀiteks kui olete kutsunud vÀlist konsultandi. Olgem ausad, transformatsioon hakkab kÔik, mis vÔimalik, raputama.. Te eksperimenteerite ja ei tea, kuhu jÔuate, milliseid tehnoloogiaid ja miks kavatsete kasutada, kus ja milliseid takistusi protsessis vÔib tekkida. SeetÔttu on uue vahetamine lihtsam.

Kui teete kĂ”ik ise ja ettevĂ”ttes pole tĂ”sist kompetentsi — valime uue teenuse. Kui tead vĂ€liskonsultanti ja ressursse on — valige vana.

On teenuseid, mis on lihtsalt kasutajaliides, nagu lihtne veebileht vĂ”i mobiilirakendus. Kuid on ka tĂ”siseid asju, nagu arveldamine. Kui midagi peaks arveldamisega valesti minema — on keeruline probleeme lahendada. Siin on meil ka valik.

Me töötame kas kriitilise teenusega, kuid me juba kannatame selle tĂ”ttu, see loob piiranguid, kas töötame liidese. See on valiku teine kriteerium. Samamoodi on vĂ”imalus kaasata kogenud konsultant — töötame keerulise variandiga.

Kuid isegi sel juhul ei soovitaks ma nii teha, sest seni, kuni pole selgust, millega töötada ja millises suunas transformeerida, on kriitiline asi haaramine ja selle ĂŒmbertegemine — ei ole just hea idee. Seega eelistame sel juhul töötada liidesega, mille rike ei ole kriitiline.

Edasi vaatame teenuste meeskonda. Nendega, kes selle teenusega tegelevad, peame pidevalt töötama ja vÀga tihedas kontaktis olema.

Meeskonna liikmed jagunevad tinglikult kahte kategooriasse: konservatiivid — elavad vanas maailmas vĂ”i ei tea lihtsalt DevOps-ist midagi, ja uuendajad, kes toovad kĂ”ik moes olevad praktikad. Teised ei pruugi alati teemas orienteeruda, kuid nad on vĂ€hemalt valmis sellega tegelema.

Ühelt poolt on konservatiivid kogenud inimesed: nad on ettevĂ”ttes juba pikka aega, tunnevad kĂ”ike pĂ”hjalikult, kuid ei tea, kuidas praktikat ellu viia. Teiselt poolt on innovaatikud, kes on midagi kuulnud, kuid tĂ”enĂ€oliselt ei ole nad ettevĂ”ttes kaua töötanud. Kellega neist on parem koostööd teha?

Konservatiividega tuleb igal juhul suhelda, kuna see on nende teenus. Peame nendega suhtlema, et vÀlja selgitada teenuse spetsiifika, mida saab teha ja mida ei saa. Me sÔltume nende nÔuannetest. Kindlasti tuleb neile midagi usaldada, kuna nad tunnevad oma teenust paremini. SeetÔttu on oluline, kellega me lÔpuks kontaktis oleme.

Loogiline on valida meeskonda innovaatikud, kuna konservatiivid vÔivad kaasa tuua probleeme.

Praktikas juhtub sageli, et konservatiivsetel inimestel on mĂ€rkimisvÀÀrne kogemus, kuid nad ei mĂ”ista, kuidas edasi liikuda. Nad kardavad lihtsalt, et pĂ€rast teenuse ĂŒmberkujundamist ja muutmist vabastatakse nad töölt. MĂ”nikord sabotaaĆŸivad nad oma tööd lihtsalt arusaamatuse tĂ”ttu selle suhtes, mis toimub.

Mul oli juhtum, kui ĂŒks meeskonnaliige parandas kĂ”ike, mida iganes, sest see oli vĂ€idetavalt kriitilisem kui see, millega me parajasti tegeleme. Me anname ĂŒlesande: tĂ€ita tĂ€na see osa — ei, teisel pool maailma on tuli, lĂ€heme seda kohe parandama. Selliste inimestega on raske töötada.

Konservatiivide meeskonna liikmed sageli ignoreerivad ĂŒlesandeid vĂ”i lĂŒkkavad neid viimasele minutile. Ja kui, jumal hoidku, teete vea ning mÀÀrate neile KPI, mis pĂ”hineb tĂ€idetud ĂŒlesannete arvul, kuid mingi osa on mingil pĂ”hjusel KPI-st vĂ€lja jĂ€etud, siis nad ei tee absoluutselt midagi. Tegelikult on nad Ă”iged, kuna kaotavad seelĂ€bi preemia.

Uuendajatega on lihtsam — nad on lahkemad.Nad on juba midagi kuulnud, tahavad kuhugi jĂ”uda, seetĂ”ttu aitavad nad hea meelega. Me vajame inimesi, kes on valmis esialgu kannatama: kui teenus muutub, siis koguvad kĂ”ik probleemid ja takistused esimesed innovaatorid -- kui esimesed. Innovaatoreid tĂ”mbab kĂ”ik uus ja moekas ning nad on valmis kannatama.

Konservatiive on hiljem vÔimalik meelt muuta. Kui nÀitate, et olete vÀikese muudatuse teinud ning kÔik töötab, tahavad nad tÔenÀoliselt ka proovida ning omaks vÔtta uut DevOps usku.

Kuidas alustada DevOpsi transformatsiooni

KokkuvÔtteks. Kui me teeme kogu muudatuse ise oma firmas, valime: uue teenuse, eelistatavalt lihtsa liidese, et mitte liiga palju kannatada selle rikkumise tÔttu, ja innovaatilise meeskonna.

Kui on vÔimalus kutsuda vÀlisekspert, vÔtame uue asemel vanema teenuse, millega juba kannatame. Inimesed, kes on tegelema transformatsiooniga piisavalt kaua erinevates ettevÔtetes, on nÀinud erinevaid juhtumeid ja saavad aru, kuidas Ôigesti edasi minna ning milliseks suunaks liikuda.

Kes on seotud?

Peame leidma kĂ”ik, kes on teenusega mingil moel seotud: arendajad, testijad, administraatorid, turvalisusspetsialistid, juhid ja vĂ”imalusel ka tooteomanikud. Kuigi tooteomanikud ei ole tehnilised inimesed, on nad teenusega seotud: nad teevad otsuseid ja mÀÀravad ĂŒlesandeid.

Kuidas alustada DevOpsi transformatsiooni

KÔik, kes teevad mingisuguseid otsuseid ja mÔjutavad teenusega toimuvaid asju, tuleb leida, nendega tutvuda ja suhelda.

Miks nad on meile vajalikud? Kuna on oluline teada, kellega lÀbirÀÀkimisi pidada.. Teenuste kasutamise harjumus muutub ja selle kÀigus vÔib esineda tÔrkeid. Uute lÀhenemiste katsetamise ajal on tÔenÀoline, et vÔib esineda katkestusi. Inimesed peavad selleks valmis olema ja sellega nÔus olema.

Edasi tuleb koostada Value Stream Map ja ilma nende inimesteta ei saa seda koostada, kuna ainult nemad teavad ĂŒhiselt tĂ€ielikku pilti toimuvast. Üks inimene ei tea kunagi kĂ”ike, mis teenusega seotud on.

Nad soovitavad inimesi meeskonda. Hiljem arutame, miks on vajalik eraldi meeskond. Sellesse tuleb vÀrvata inimesi olemasolevatest osakondadest. Need, kellel on teenusega seos, saavad soovitada kolleege, kes mÔtlevad meie suunas ja kes saavad meid aidata ning kellel on vajalikud oskused.

SeejĂ€rel kogume kĂ”ik need inimesed erinevatest osakondadest ĂŒhte ruumi ja hakkame koostama Value Stream Map'i.

Koostame Value Stream Map'i

Value Stream Map on skeem vÔi kaart, mis nÀitab vÀÀrtuste voogu kliendini.See on kogu protsess alates idee vÀlja mÔtlemisest kuni selle elluviimiseni, sealhulgas kÔik vaheetapid ja see, kuidas vÀÀrtus lÔpuks meie klientideni jÔuab.

Value Stream Map on vajalik, et visualiseer kÔik arenduse etapid, lokaliseerida probleeme olemasoleva protsessi mÔÔtmiste kaudu ja alustada nende probleemide lahendamist ning seada esialgne eesmÀrk. See on koht, kus hakkame midagi tÔeliselt tegema.

MÔÔdikud

Value Stream Map'i kirjanduses on palju erinevaid mÔÔdikuid, kuid alguseks piisab meile kolmest.

Lead Time — viivitus/ootamine — aeg, mil me midagi ootame. NĂ€iteks testija ootab, kuni testimiseks on saadaval stend, ja sel ajal ei saa ta midagi teha.

Value Added Time — vÀÀrtuslik tööaeg — see, mille me kulutasime mĂ”nes etapis, et luua lĂ”ppkasutajale vÀÀrtus. NĂ€iteks testija kĂ€ivitas oma testi ja hakkas midagi kontrollima. See on vÀÀrtuslik tööaeg, mil me tĂ”eliselt teeme midagi toote heaks. Just selle eest maksavad kliendid — kvaliteetse tarkvara eest.

%C/A — vastuvĂ”etud töö protsent. Meil on ĂŒks etapp — arendus, teine etapp — testimine. Kui palju funktsioone testijad arendajatelt vastu vĂ”tsid, ja see protsent on olemas.

Umbes nii nÀeb vÀlja meie kaart.

Kuidas alustada DevOpsi transformatsiooni

See vĂ”ib sĂ”ltuda organisatsiooni struktuurist, osakondade arvust ja teie tegevusalast. Üldiselt on kaardil kaks etappi: idee ja analĂŒĂŒs. Sellel etapil oodatakse andmeid, nĂ€iteks Lead Time 2 nĂ€dalat ja Value Added Time 2 pĂ€eva.

MÔÔdikud katab absoluutselt kÔik etapid.

Backlog — kui palju ĂŒlesandeid jĂ€i alles pĂ€rast seda, kui analĂŒĂŒtikud need vĂ€lja mĂ”tlesid.

Arendus — kui palju nĂ€dalaid arendajad ootavad ĂŒlesannete, stendide vĂ”i varustuse selgitusi — ei ole oluline, kuid nad ootavad midagi. NĂ€iteks, nad teevad funktsiooni 4 pĂ€eva. Siin tekib mÔÔdik %C/A. Arendajad vĂ”tsid Backlog'ist ainult 80% ĂŒlesandeid. Nad arvavad, et 20% jÀÀb ebamugavalt udususeks, ja saatsid need edasi ĂŒmbertegemiseks.

Testimine. Kujutisel on LT mÀÀratud 4 pĂ€eva. NĂ€iteks ootavad testijad teststendi vabastamist, VA 2 pĂ€eva nad testivad tegelikult midagi, ja %C/A = 40 %. — vaid 40 % koodist vĂ”i funktsioonidest, mida arendajad saatsid, pidasid testijad piisavaks. KĂ”ik muu ei meeldinud neile mĂ”nel pĂ”hjusel.

Ma ei hakka ĂŒksikasjalikult rÀÀkima, kuidas neid mÔÔtmisi teha, kuid artikli lĂ”pus soovitan kirjandust, kust saate rohkem teada.

Ainult seda soovitan — Ă€rge uskuge inimesi, kes koostavad teiega vÀÀrtusvoo kaardi. Nad nĂ€itavad, kui palju aega eri protsessid vĂ”tavad, kuid need hinnangud ei ole alati tĂ”esed, seega on parem ise mÔÔta.

Meil oli juhtum, kui lĂ€ksime operatsioonide osakonda ja kĂŒsisime, kui kaua kulub uue funktsiooni tarnimiseks tootmisse. Vastus oli, et 10 minutit, ja mĂ”tlesime, miks me ĂŒldse sellesse ettevĂ”ttesse tulime? Selgus, et 10 minutit on skripti tööaeg, mis vĂ”tab koodi ja toob selle serverisse. Kuid enne seda on versioon olnud kolm pĂ€eva serveris ja lihtsalt tolmub — Backlogis on ĂŒlesanne, mis tuleb juurutada. TĂ€hendab, et juurutamise eel on ootamisetapp, kus projekt lihtsalt seisab. Kui me poleks lĂ€inud mĂ€rkmeraamatuga, ei oleks me nĂ€inud ĂŒlesannet Jira-s ja ei oleks seda etappidena jĂ€lginud, siis arvaksime, et kĂ”ik on suurepĂ€rane ja probleeme pole.

SeetĂ”ttu tuleb mÔÔtmisi siiski ise teha, soovitavalt mitte ainult ĂŒks kord, et omada reaalsusele lĂ€hedast ettekujutust. SĂ”ltuvalt Value Stream Map'ist teete otsuse, kust alustada ja mida kĂ”igepealt parandada.

Ajutine meeskond

Paljud ettevÔtted, kes otsustavad DevOpsi rakendada, loovad meeskonna, mis ei ole ajutine, vaid eksisteerib mitu aastat. Kui pöördute DevOps palveli juurde, kus on kirjeldatud erinevaid korraldusstruktuuri mustreid DevOpsis, siis saate aru, et see on antipattern.

Kui DevOps meeskond eksisteerib pidevalt mitu aastat – on see suur viga, kuna DevOps tĂ€hendab kommunikatsiooni osakondade vahel, kiirus ja efektiivsus.

Kui meeskond eksisteerib osakondade vahel ainult selleks, et teha midagi muud eraldi ning eksisteerib kaua, siis loob see tarbetu takistuse. NĂŒĂŒd peab arendaja, selle asemel et minna kohe administraatori juurde kĂŒsimust lahendama, esmalt pöörduma DevOps osakonna poole, kes seejĂ€rel edasi lĂ€heb.

SeetĂ”ttu tuleb alustamiseks luua ajutine meeskond. Ta eksisteerib tinglikult pool aastat, maksimaalselt aasta, sĂ”ltuvalt seatud eesmĂ€rgist, et ĂŒletada ĂŒks valitud piirang, millele keskendume. Edasi see sureb. Kui valime jĂ€rgmise punkti, kus on tugevalt valus, ja mĂ”istame, et selleks on meil samuti vaja eraldi meeskonda, siis loome selle taas. Kuid „pĂŒsivalt” ei tohiks sellised meeskonnad eksisteerida — muidu nad ainult hĂ€irivad kommunikatsiooni ja vĂ”tavad endale tĂ€iesti eraldi ĂŒlesandeid, et lihtsalt midagi teha. Need ĂŒlesanded vĂ”ivad olla ĂŒldse mitte seotud DevOps'iga ja transformatsiooniga. Miks mitte anda see ĂŒlesanne olemasolevatele osakondadele?

Miks on vajalik ajutine meeskond

Konflikt praeguste protsessidega. DevOps'i transformatsioon tÀhendab mitte ainult tehnoloogiate ja tööriistade muutmist, mida me kasutame, vaid ka tööprotsessi, mÔtlemise ja vÀÀrtuste muutmist. Kui meeskond töötab nii, nagu ta on juba harjunud, ei suuda ta proovida teisi lÀhenemisviise.

Need elada vastavalt teistele reeglitele: ignoreerida kĂ”iki ettevĂ”tte KPI-sid, kuna nad pĂŒĂŒavad töötada teisiti. Ajutised meeskonnad ei tĂ€ida taotlusi serveri saamiseks, vaid lĂ€hevad otse osakonda, mis nendega tegeleb, nĂ”udma, et neil antaks kĂ”igepealt see, mis vajalik, kuna see on prioriteetne ĂŒlesanne ja kuna nad pĂŒĂŒavad elada teisiti. Meeskonnal on tĂ€ielik konflikt kĂ”igi olemasolevate protsessidega. Et praegused töömeetodid neid ei segaks ja nad ei segaks teisi, isolatsioonime neid inimesi, moodustades eraldi meeskonna.

BĂŒrokraatia vĂ€ltimine katsetes. Ajutistes meeskondades ei ole bĂŒrokraatiat, nad ei tĂ€ida tööaja aruandeid, nad ei vastuta juhtidele. See on tĂ€iesti eraldi maailm, kus inimesed elavad ja mĂ”tlevad teisiti ning tegelevad tĂ€iesti teiste asjadega. Ärge segage neid ĂŒleliia.

Katkematu töö teenuse kallal. Esimese punktina valisime midagi, mille kallal katsetada. Katsetamine ja otsimise viis paremaks toimimiseks on head, kuid me tahame ka funktsioone luua. Kui kogu meeskond tegeleb transformatsiooniga funktsioonide asemel, hakkame tulu kaotama ning vead jÀÀvad kauaks rippuma — seda me ei vaja. Ajutise meeskonna loomine vĂ”imaldab katsetada, peatamata samal ajal töö tegemist toote kallal.

Ära kuluta aega tĂ¶Ă¶ĂŒlesannetele. See on jĂ€lle toote kohta. Selleks, et meeskond saaks proovida teisi tööriistu ja muud, kulub palju aega. Et inimesed omandaksid tööriistad, hakkaksid neid rakendama ja korralikult kasutama, kulub vĂ€hemalt kuus kuud. Kui nad teevad veel tootega tööd — venivad kuud lĂ”putuks. Kui inimesed tegelevad tootega, töötavad nad taas vanade protsessidega — seda me ei vaja.

SeetÔttu valime erinevatest osakondadest inimesi eraldi meeskonda, mis tegeleb teenuse transformatsiooniga. Tulemuseks on see, et teenus töötab, jÀtkab arenemist ja samal ajal katsetame selle peal mingeid eksperimente.

Ajutine meeskond tegeleb ainult DevOps-transformatsiooniga — eemaldame leitud piirangu ja mitte millegagi muuga.

Meeskond koosneb mitmekesistest inimestest. See tĂ€hendab, et ees on mitte ainult arendajad. Me ei tulnud teenusesse ja ei vĂ”tnud sealt poole meeskonda — ei, me vĂ”tsime inimesi erinevatest osakondadest. MĂ”ni punkt tagasi leidisime erinevad osakonnad ja erinevad töötajad, kes on seotud transformeeritava teenusega. Neist me moodustame meeskonna, kuna see peab olema mitmekesine — me muudame nii katsetamisprotsessi, arendamisprotsessi kui ka teenuse toetamise protsessi. On vajalikud erinevad oskused.

Tavaliselt vĂ”tame arendaja, testija ja inseneri — igaĂŒhe korra ja koos nendega leiame lahenduse, mis vĂ”imaldab elada teisiti.

Soovitatav on, et need inimesed omaks autoriteeti organisatsioonis. VĂ”ib-olla tuleb vĂ”tta ĂŒks konservator, kuigi see ei meeldi. Kui meie ettevĂ”te on suur, ei usu kĂ”ik meie ideesse, ja keegi vĂ”ib segada, nĂ€iteks mitte eraldada stendi. Siin tuleb mĂ€ngu autoriteet — respekteeritud inimene, kellel on suur kogemus ja kes on teeninud kolleegide head suhtumist. Töö autoriteet meeskonnas lihtsustab ĂŒlesannet ja ajutise meeskonna tööd. Inimesed mĂ”tlevad:

— Aha, see Ă€ge mees, keda me kĂ”ik tunneme ja armastame, on seal — ilmselt on DevOps'is midagi, mida tasub vaadata!

Seame eesmÀrgi

Oleme inimesi kokku kogunud, valinud teenuse, vaadanud piiranguid ja mÀÀratlenud, kellele me mĂ”ju avaldame. NĂŒĂŒd tuleb seada eesmĂ€rk ja see peab olema just SMART — kĂ”ik nii, nagu me armastame.

Specific — konkreetsed.

Measurable — mÔÔdetavad. See on vĂ€ga oluline punkt SMARTis. Kui te ei saa midagi mÔÔta, ei saa te seda muuta ja aru saada, mis ja kuidas te tegite paremini vĂ”i halvemini.

Achievable — saavutatavad. Arvestage oma spetsiifikat. Kui olete enterprise-ettevĂ”te, millel on pikk ajalugu ja suured kohustused, ning toote versioon tuleb vĂ€lja kord aastas, siis ei suuda te poole aastaga saavutada uute versioonide vĂ€ljalaskmist iga tunni tagant. Nii ei toimi. SeetĂ”ttu seadke reaalselt saavutatav eesmĂ€rk, mille tĂ€itmine on mĂ”istlikus ajaraamis vĂ”imalik.

Relevant — asjakohane. Eemaldame ainult selle kitsenduse, mis tĂ”eliselt jĂ€rgib meie praeguseid eesmĂ€rke.

Time Limited — ajaliselt piiratud.. Kui tĂ€htaega pole — meeskond tegeleb sellega, mida iganes: proovib 15 tehnoloogiat 3 asemel, kirjutab tohutuid aruandeid, viib lĂ€bi mĂ”ttetut uurimistööd, lihvib oma teostust lĂ€ikivaks, kui eesmĂ€rk on juba saavutatud.

EesmĂ€rgi seatakse just Value Stream Map'i abil — kogume taas kokku kĂ”ik inimesed ja joonistame. Kuid seekord joonistame juba pĂ”hinedes eelmisele Value Stream Map'ile, mida soovime saavutada.

Kuidas alustada DevOpsi transformatsiooni

Valime ĂŒhe kitsenduse, mida hakkame kohe kĂ”rvaldama — sellega tegelebki meeskond. NĂ€iteks tĂ”in ootamise valmis versiooni ja selle tootmise vahele — see on kĂ”ige levinum kitsendus, millega inimesed pöörduvad nĂ”ustajate poole.

Seame ĂŒlesanne: tahame, et valmimise ja tööleasumise vaheline ooteaeg oleks maksimaalselt tund.

NĂ€idist ĂŒlesannetest.

  • LĂŒhenda testimise juhtimisaega 4 pĂ€evast 1 tunnini.
  • LĂŒhenda lisandvÀÀrtuse aega testimise jaoks 2 pĂ€evast 3 tunnini.
  • LĂŒhenda deploy'i juhtimisaega 5 tunnist 10 minutini.
  • Suurenda C/A 50%-lt 95%-le, st suurenda funktsioonide arvu, mida testijad aktsepteerivad, lĂŒhidalt, paranda arendajate töö kvaliteeti.

NĂ€idist ĂŒlesanded ei ole vĂ€lja mĂ”eldud — need pĂ”hinevad mÔÔtmistel, mida tegime, kui töötasime vĂ€lja Value Stream Map'i.

Seame sarnase ĂŒlesande meie meeskonnale ja tĂ€htaegade piiri. Olenevalt sellest, kui hĂ€sti on teie ettevĂ”ttes kĂ”ik, seate erinevad tĂ€htaegad. Keskmiselt kulub piirangute kĂ”rvaldamiseks, kui inimesed tegelevad sellega esmakordselt ja ei tea veel, milliseid tehnoloogiaid ja kuidas konkreetseid probleeme lahendada, tavaliselt kuus kuud.

LĂŒhike planeerimine

Nii, meie meeskond on moodustatud, tal on eesmĂ€rk ja inimesed hakkavad töötama. Oluline punkt — see on töö lĂŒhike planeerimine: sprindid ĂŒks kuni kaks nĂ€dalatja mitte rohkem, mÔÔdetavad parandused iga nĂ€dal ja kursuse korrigeerimine.

NĂ€iteks kasutame sageli lĂ€henemist moving-moving, kus kogu meeskond koguneb iga nĂ€dala alguses, et kirja panna, mida igaĂŒks teeb. NĂ€dala pĂ€rast vaatame, mis on tehtud ja mis mitte, ning kui ei ole, siis miks, ja mĂ”tleme, mida edasi teha.

Sprintid vÔimaldavad kurssi Ôigeaegselt kohandada.

NĂ€dala vĂ”i kahe jooksul proovime midagi: tehnoloogiaid, lĂ€henemisi, tööviise, seejĂ€rel mÔÔdame uuesti ja vaatame – kas sellise lĂ€henemisega on parem vĂ”i halvem? Kui halb, siis ei liigu me Ă”igesse suunda, on vaja kurssi kohandada: seada uus ĂŒlesanne, vĂ”tta teine tehnoloogia vĂ”i teha midagi muud. LĂŒhikesed sprintid kestusega 1-2 nĂ€dalat vĂ”imaldavad manööverdada ja Ă”igeaegselt halbadest lahendustest kĂ”rvale hoida.

Jagame edusamme

Meeskond saavutab mingit edusamme, olgu need vĂ€ikesed vĂ”i suured – oluline on, et oleks mingi tulemus. Sellest tulemusest peaksid teadma kĂ”ik: nii need, kes on seotud DevOpsiga, kui ka naaberosakonnad. Idee maailmas oleks soovitav, et see jĂ”uaks kĂ”igi kogu ettevĂ”tte inimesteni..

Miks? Kui tahame muuta mitte osa ettevĂ”ttest, eemaldada mitte ĂŒhe piirangu, vaid kĂ”ik, et ettevĂ”te oleks paindlik, kood jĂ”uaks kiiresti kliendini ja midagi ei rikuks, peavad kĂ”ik olema DevOpsi ideele truud. Te ei saa lĂ€henemist rakendada teenustele ja meeskondadele, kes on kategooriliselt vastu.

Looduse tekkimiseks peame rÀÀkima kĂ”igile, et oleme proovinud seda — meil on tulemused, proovige teie ka! See suurendab huvi ja truudust selle vastu, millega me tegeleme, inimesed hakkavad kohe midagi tegema. Praktika nĂ€itab, et kui rÀÀgime, mida oleme proovinud ja mida saavutatud, siis teised meeskonnad hakkavad kĂŒsima, kuidas ja mida tegime. Nad vaatavad rakendusi, koodi, dokumentatsiooni, tulevad kĂŒsimustega ja pĂŒĂŒavad midagi enda juures muuta.

RÀÀkida sellest, mis teil on Ă”nnestunud — on oluline. Nii veenate konservatiive, kes soovisid teha kĂ”ike vanaviisi, liikuma teie leeri ja muundama nad uuendajateks.

Kokku

Valime teenuse, kui lĂ€htepunkt — koht, kus alustada muudatusi ettevĂ”ttes. Tu vastame kĂ”iki, kellel on mingit seotust teenusega ja koos nendega loome vÀÀrtuste voogukaardi, mÔÔdame ja vaatame, kus ja millised piirangud esinevad.

Loome uue ajutise meeskonna, mis lahendab antud ĂŒlesande. MÔÔtmiste ja vÀÀrtuste voogukaardi pĂ”hjal joonistame uue kaardi, kus toome esile eelsoodumuse, mida kavatseme lahendada. Selle piirangu alusel seame ĂŒlesande, millega tegeleb meeskond. Ülesanne peab olema kindlasti SMART — konkreetne, mÔÔdetav, asjakohane praeguste ĂŒlesannete jaoks ja ajaliselt piiratud.

Korrame protsessi, kuni oleme ĂŒmber kujundanud kĂ”ik meie teenused soovitud kujul ja kĂ”rvaldanud kĂ”ik piirangud.

Boonus. Kasulikud materjalid

Neile, kes otsustasid DevOpsiga iseseisvalt tegeleda.

Projekt „Fööniks”

Originaal pealkiri — „The Phoenix Project: A Novel about It, Devops, and Helping Your Business Win“. See on romaan DevOpsist — lugu sellest, kuidas töötaja nimetati osakonna juhiks, kes pidevalt oli tulekahjus. Uuele juhile anti ĂŒlesanne:

— Sul on paar aastat aega kĂ”ik korda seada, et saaksime lĂ”puks kiiresti ja tĂ”husalt toimetada meie toodet meie klientidele.

«Projekt „Phoenix“. Romaan sellest, kuidas DevOps muudab elu paremaks» — raamat kĂ”igile juhtidele, sest just nemad teevad otsuseid selle kohta, mis ettevĂ”ttes toimub. Kui olete insener vĂ”i programmeerija ja soovite, et teie ettevĂ”ttes algaks tegevus ja muutus — ostke raamat ja kingige juhtkonnale. See romaan seletab kĂ”ike, samas on seda lihtne ja kiiresti lugeda.

DevOpsi juhend

Natukene keerulisem raamat. Ilmus paar aastat tagasi inglise keeles pealkirjaga „The DevOps Handbook How to create world-class agility, reliability, and security in Technology organizations“, kuid nĂŒĂŒd on see juba venekeelsena saadaval. See on tĂ”eline kĂ€ekiri — praktiline juhend: kuidas teostada mÔÔtmisi, mis on Value Stream Map ja miks see vajalik on, kuhu liikuda, Ă”iges jĂ€rjekorras. Raamat on just neile, kes soovivad kĂ”ike ise teha. KĂ”ige olulisem on, et selles on nĂ€iteid teiste ettevĂ”tete kogemustest.

NĂ€iteks rÀÀgitakse seal, kuidas ĂŒks ettevĂ”te koostas Value Stream Map'i ja mĂ”istis, et neil ei ole tootmispiirangut, vaid see, et kassapidaja peab kĂ€ima poest naaberkontorisse, et toodet kasutada. Probleemi lahendamise asemel, mis oli seotud tarkvaraga, ostsid nad oma mĂŒĂŒjatele tahvelarvutid, ja nĂŒĂŒd ei pea keegi kuhugi minema, kĂ”ik tegevused toimuvad töökohtadel. JĂ€reldus: Value Stream Map'i vĂ”ib rakendada mitte ainult tarkvarale, vaid ka kĂ”igile organisatsiooni protsessidele.

Kiirendada

TĂ€isnimetus: «Accelerate: Lean tarkvara ja DevOpsi teadus: KĂ”rge jĂ”udlusega tehnoloogiaorganisatsioonide ehitamine ja skaleerimine». See on jĂ€rgmine tase — hardcore. Raamat ilmus eelmisel aastal, hetkel ainult inglise keeles ja see rÀÀgib uuringutest. Autorid — Nicole Forsgren, Jez Humble ja Gene Kim — on aastaid rakendanud erinevaid praktikaid erinevates ettevĂ”tetes ja uurinud, millised praktikud, kuidas ja millele mĂ”jutasid.

Teises peatĂŒkis, mis kĂ€sitleb mÔÔtmisi, mainitakse Value Stream Map'i, neid mÔÔdikuid, mida ma nimetasime, ja paljusid teisi, samuti on ĂŒksikasjalikult kirjeldatud mÔÔtmise protsessi. Autorid teevad mÔÔtmisi kĂŒsitluste ja ĂŒlesannete iseseisva jĂ€lgimise abil. RÀÀgitakse pĂ”hjalikult, milliseid mÔÔdikuid on Ă”ige mÔÔta, milliseid mitte, inimehitustest mÔÔtmistes. Kui teil on mÔÔtmistega raskusi, pöörduge teise peatĂŒki poole raamatust „Accelerate“. Kui teie meeskonnas on lihtsalt palju praktikaid, kuid ei ole selge, milliseid praktikaid praegu rakendada, milliseid hiljem, millised toimivad tĂ”eliselt ja millised mitte — lugege, raamatus on kĂ”ik selgelt vĂ€lja toodud.

Transformatsioon on kĂŒsimus DevOpsi ja juhtimise ristmikul. Kusagil seal arendamise, operaatorite ja testimise vahel asuvad teemad, mida me pĂŒĂŒame arutada DevOpsConf, sama integratsioon on vajalik ka kvaliteetse toote loomiseks – peamise teema QaulityConf. Juhtimine festivalil RIT++ esindatud Whale Rider — tĂ€hendab, et ideed transformatsiooniks on kĂ”ik seal. Liituge 27. ja 28. maiks, integreerume ja transformeerume.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster