Om du inte förstĂ„r vad DevOps Ă€r, hĂ€r Ă€r en kort sammanfattning. DevOps Ă€r en uppsĂ€ttning metoder som minskar ingenjörers rĂ€dsla och minskar antalet driftstörningar i mjukvaruproduktion. I regel förkortar de ocksĂ„ tiden till marknaden â perioden frĂ„n idĂ© till leverans av den slutliga produkten till kunderna, vilket möjliggör snabba businessexperiment.
Hur pÄbörjar man en DevOps-transformation? Kort sagt: vi vÀljer en tjÀnst som vi börjar med, identifierar dem som Àr relaterade till tjÀnsten, skapar en Value Stream Map, sÀtter ihop ett tillfÀlligt team som kommer att hantera transformationen under en tid och ger dem en uppgift. Vi upprepar cykeln sÄ mÄnga gÄnger som behövs.

En detaljerad plan för DevOps-transformationen med exempel och instruktioner finns under lĂ€nken Andrey Alexandrov â ingenjör vid företaget Express42, som ger rĂ„d om DevOps-förbĂ€ttringar och pĂ„skyndar denna process eftersom de redan har kartlagt fallgroparna. Om du tror att en transformation inte Ă€r nödvĂ€ndig för dig, eller om din specifik gör att DevOps-praktiker inte passar, â anvĂ€nd presentationen som en vĂ€gledning för att identifiera och Ă„tgĂ€rda begrĂ€nsningar.
Om du oroar dig för frÄgan om DevOps-transformation, innebÀr det att du har ett stort företag och att du behöver skala denna process över hela strukturen steg för steg. SÄ lÀnge det finns ett behov av att transformera teamet eller ÄtgÀrda nÄgon begrÀnsning kan algoritmen nedan upprepas.
Val av tjÀnst
Planen Ă€r tydlig, lĂ„t oss börja med första steget â val av tjĂ€nst. Den första kriteriet Ă€r livslĂ€ngd: det finns gamla tjĂ€nster â legacy, och nya. Man kan börja med bĂ„de och.
Att vÀlja en ung tjÀnst Àr logiskt. Den Àr ny, det finns Ànnu ingen etablerad arbetsprocess i teamet som hanterar den. Det finns ingen enorm teknisk skuld runt den, och det krÀvs inte att den stÀndigt repareras. Vi kan göra vad vi vill med den.
NĂ€r det gĂ€ller en gammal tjĂ€nst finns det problem relaterade till att förĂ€ndra Ă€r alltid svĂ„rt. Det finns redan ett antal allvarliga begrĂ€nsningar, men kanske hanteras de av mĂ€nniskor som redan Ă€r redo att göra en förĂ€ndring â de Ă€r trötta och vill göra nĂ„got annorlunda för att det gör ont.
Arbetet med en gammal tjÀnst skapar en kraftfull prejudikat det finns alltid nÄgot som gÄr att förÀndra i ert företag. Om ni har infört en ny tjÀnst som körs 100 gÄnger i timmen utan problem kan folk i företaget sÀga:
â Men det hĂ€r Ă€r ju en ny tjĂ€nst! Det var ju sĂ„ enkelt tidigare, prova att göra nĂ„got med vĂ„r trasiga gamla grej.
Legacy-tjÀnster Àr vÀrda att omvandla nÀr ni gör det tillsammans med nÄgon, till exempel om ni har bjudit in en extern konsult. LÄt oss vara Àrliga, transformationen kommer att skaka om allt möjligt.. Ni experimenterar och vet inte vart ni kommer att hamna, vilka teknologier ni ska anvÀnda och vilka fallgropar som kan uppstÄ i processerna. DÀrför Àr det lÀttare att byta ut det nya.
Om ni gör allt sjĂ€lva och företaget saknar seriös kompetens â vĂ€lj en ny tjĂ€nst. Om ni kĂ€nner en extern konsult och har resurser â vĂ€lj den gamla.
Det finns tjÀnster som bara Àr ett grÀnssnitt för anvÀndarna, till exempel en enkel webbplats eller mobilapp. Men det finns ocksÄ mer komplexa saker som fakturering. Om nÄgot gÄr fel med faktureringen kan det bli svÄrt att reda upp. HÀr har vi ocksÄ ett val.
Vi arbetar antingen med en kritisk tjĂ€nst, men pĂ„ grund av den lider vi redan, den skapar begrĂ€nsningar, eller sĂ„ arbetar vi med ett grĂ€nssnitt. Detta Ă€r det andra urvalskriteriet. PĂ„ liknande sĂ€tt kan vi anlita en erfaren konsult â vi jobbar med den tunga varianten.
Men Àven i det hÀr fallet skulle jag inte rekommendera att göra sÄ, eftersom det, sÄ lÀnge det inte finns förstÄelse för vad man ska arbeta med och i vilken riktning man ska transformera, inte Àr en bra idé att ta nÄgot kritiskt och börja riva i det. DÀrför föredrar vi att arbeta med ett grÀnssnitt vars krossande inte Àr kritiskt.
LÄt oss gÄ vidare och titta pÄ serviceteamet. Med dem som arbetar med denna tjÀnst kommer vi att behöva ha ett nÀra och kontinuerligt samarbete.
MĂ€nniskorna i teamet delas grovt in i tvĂ„ kategorier: konservativa â de lever i den gamla vĂ€rlden eller vet helt enkelt inget om DevOps, och innovativa, som drar med sig alla moderna metoder. De senare förstĂ„r inte alltid Ă€mnet, men de Ă€r Ă„tminstone öppna för det.
à ena sidan Àr konservativa personer erfarna: de har varit lÀnge i företaget och förstÄr det pÄ djupet, men de kÀnner inte alltid till de senaste metoderna. à andra sidan har vi innovatörer som kanske har hört talas om trender, men troligen Àr relativt nya i företaget. Vem av dem Àr det bÀst att samarbeta med?
Vi mÄste pÄ nÄgot sÀtt samarbeta med konservativa, eftersom det Àr deras tjÀnst. Vi mÄste kommunicera med dem, klargöra tjÀnstens specifikationer, vad som kan göras och vad som inte kan göras. Vi Àr beroende av deras rÄd. Vi kommer sÀkert att behöva ge dem uppgifter, eftersom de kÀnner sin tjÀnst bÀttre. DÀrför Àr det viktigt vilken grupp vi slutligen kommer att ha kontakt med.
Det Àr logiskt att vÀlja innovatörer i teamet, eftersom konservativa kan stÀlla till med problem.
I praktiken hÀnder det ofta att konservativa har mycket erfarenhet men saknar en förstÄelse för hur de ska gÄ vidare. De Àr helt enkelt rÀdda för att bli avskedade efter transformationen och omstruktureringen av tjÀnsten. Ibland, bara pÄ grund av att de inte förstÄr vad som hÀnder, saboterar de arbetet.
Jag har varit med om ett fall dĂ€r en kille i teamet reparerade allt möjligt, för att det tydligen var viktigare Ă€n det vi gjorde just nu. Vi gav en uppgift: att implementera den hĂ€r delen idag â nej, pĂ„ andra sidan vĂ€rlden brinner det, sĂ„ vi gĂ„r dit för att fixa det. Det Ă€r svĂ„rt att arbeta med sĂ„dana mĂ€nniskor.
Folk frÄn det konservativa teamet skjuter ofta upp uppgifter eller ignorerar dem helt. Och om, Gud förbjude, du har gjort ett misstag och infört KPI:er för antal genomförda uppgifter, och en del av dem av nÄgon anledning inte Àr inkluderade i KPI:erna, sÄ kommer de verkligen inte att göra nÄgot. De skulle i egentlig mening ha rÀtt, eftersom de dÄ förlorar sin bonus.
Det Ă€r enklare att arbeta med innovatörer â de Ă€r mer lojala.De har redan hört nĂ„got, de vill framĂ„t, sĂ„ de kommer att hjĂ€lpa till. Vi behöver mĂ€nniskor som Ă€r villiga att kĂ€mpa inledningsvis: om tjĂ€nsten förĂ€ndras kommer alla motgĂ„ngar och fallgropar att upplevas av innovatörerna som pionjĂ€rer. Innovatörer vill ha det senaste och mest moderna, Ă€ven om det innebĂ€r att de fĂ„r lida.
Konservativa kan senare omvÀndas till vÄr tro. NÀr ni visar att ni har förÀndrat en del och allt fungerar bra, kommer de sannolikt ocksÄ vilja prova och anta den nya DevOps-religionen.

Sammanfattningsvis, om vi genomför hela transformationen internt i vÄrt företag vÀljer vi: en ny tjÀnst, helst med ett enkelt grÀnssnitt för att undvika stora problem vid eventuella fel, samt ett team av innovatörer.
Om det finns möjlighet att anlita en extern konsult, istĂ€llet för en ny tjĂ€nst â tar vi den gamla tjĂ€nsten som vi redan har problem med. MĂ€nniskor som har arbetat med transformationer under en lĂ€ngre tid i olika företag har sett olika fall och förstĂ„r hur man bör göra rĂ€tt, samt vilken vĂ€g man bör gĂ„.
Vem Àr inblandad?
Vi behöver hitta alla som har nÄgon koppling till tjÀnsten: utvecklare, testare, administratörer, sÀkerhetsexperter, chefer och eventuellt Product Owners. Trots att Product Owners inte Àr tekniska specialister, har de en relation till tjÀnsten: de fattar beslut och sÀtter upp uppgifter.

Alla som fattar beslut och pÄverkar vad som sker med tjÀnsten behöver vi hitta, lÀra kÀnna och prata med.
Vad behöver vi dem till? För att veta vem vi ska förhandla med. Under transformationen, nÀr det vanliga arbetssÀttet med tjÀnsten förÀndras, kommer det att ske störningar. Under en tid kommer det att uppstÄ problem Àr vi testar nya tillvÀgagÄngssÀtt. MÀnniskorna mÄste vara beredda pÄ detta och vara överens.
DÀrefter mÄste vi bygga en Value Stream Map och utan dessa mÀnniskor gÄr det inte, eftersom endast de tillsammans vet hela bilden av vad som hÀnder. Ingen individ har hela kollen pÄ vad som sker med tjÀnsten.
De kommer att rekommendera mÀnniskor till teamet. Vi kommer senare att diskutera varför ett separat team behövs. Det kommer att behövas personer frÄn nuvarande avdelningar. De som har kunskap om tjÀnsten kan rekommendera kollegor som tÀnker i vÄr riktning och som kan hjÀlpa oss och har den kompetens vi behöver.
DÀrefter samlar vi alla dessa personer frÄn olika avdelningar i samma rum och börjar bygga en Value Stream Map.
Bygg Value Stream Map
Value Stream Map Àr en schematisk representation som visar vÀrdeflödet till kunden. Det Àr hela processen frÄn idé till implementering, inklusive alla mellanliggande steg och hur vÀrdet slutligen nÄr vÄra kunder.
Value Stream Map behövs för att visualisera alla utvecklingssteg, lokalisera problem genom att mÀta som finns i den nuvarande processen och börja ÄtgÀrda dessa problem, samt sÀtta ett initialt mÄl. Det hÀr Àr platsen dÀr vi faktiskt börjar göra nÄgot.
MÀtvÀrden
I litteraturen om Value Stream Map beskrivs mÄnga olika metoder, men för början rÀcker det med tre.
Lead Time â fördröjning/vĂ€ntan â den tid vi vĂ€ntar pĂ„ nĂ„got. Till exempel vĂ€ntar testaren pĂ„ att en testmiljö ska bli ledig, och under den tiden kan de inte göra nĂ„got.
Value Added Time â tid för vĂ€rdeskapande arbete â det som vi har lagt tid pĂ„ i ett visst steg för att skapa slutligt vĂ€rde för anvĂ€ndaren. Till exempel har testaren kört sina tester och börjat kontrollera nĂ„got. Det Ă€r tiden för vĂ€rdeskapande arbete, nĂ€r vi faktiskt gör nĂ„got för produkten. Det Ă€r det kunderna betalar för â kvalitetsprogramvara.
%C/A â procent av godtagbart arbete. Vi har ett steg â utveckling, det andra steget â testning. Hur mĂ„nga funktioner har testarna godtagit frĂ„n utvecklarna, och det finns denna procent.
SÄ hÀr ser vÄr karta ut.

Den kan se annorlunda ut beroende pÄ organisationsstruktur, antal avdelningar och vad ni sysslar med. Men i allmÀnhet kommer kartan att ha tvÄ steg: idé och analys. I detta steg förvÀntas data, till exempel Lead Time 2 veckor och Value Added Time 2 dagar.
Vi tÀcker absolut alla steg med mÀtvÀrden.
Backlog â hur mĂ„nga uppgifter som lĂ„g efter att analytikerna kommit pĂ„ dem.
Utveckling â hur mĂ„nga veckor utvecklarna vĂ€ntade pĂ„ avklarande av uppgifter, miljöer eller utrustning â oavsett, men de vĂ€ntar pĂ„ nĂ„got. Till exempel, 4 dagar implementerar de en funktion. HĂ€r kommer mĂ€tvĂ€rdet %C/A fram. Utvecklarna har tagit frĂ„n Backlog endast 80% av uppgifterna. De anser att de Ă„terstĂ„ende 20% har otydliga specifikationer och har skickat tillbaka dem för revidering.
Testning. PĂ„ schemat Ă€r LT angivet till 4 dagar. Till exempel vĂ€ntade testarna pĂ„ att testmiljön skulle bli ledig, VA 2 dagar testade de verkligen nĂ„got, och %C/A = 40 %. â endast 40 % av koden eller funktionerna som skickades av utvecklarna ansĂ„gs av testarna vara adekvata. Allt annat gillade de inte av nĂ„gon anledning.
Jag kommer inte att gÄ in pÄ detaljer om hur man mÀter detta; i slutet av artikeln kommer jag att rekommendera litteratur dÀr man kan lÀra sig mer.
Det enda jag rekommenderar â lita inte pĂ„ personer som kommer att göra en Value Stream Map med dig. De uppskattar hur mycket tid olika processer tar, men dessa uppskattningar Ă€r inte alltid korrekta, sĂ„ det Ă€r bĂ€ttre att mĂ€ta sjĂ€lv.
Vi hade ett fall dĂ€r vi kom till Operations-avdelningen och frĂ„gade hur lĂ„ng tid det tar att fĂ„ en ny funktion till produktion. Vi fick svaret att det tar 10 minuter, och vi undrade varför vi ens kom till det hĂ€r företaget. Det visade sig att 10 minuter Ă€r tiden för ett skript som tar koden och levererar den till servern. Men innan det ligger releasen i tre dagar pĂ„ servern och samlar damm â det finns en uppgift i Backlogen som behöver deployas. SĂ„ det finns en vĂ€ntesteg före sjĂ€lva deploy-stadiet, nĂ€r projektet bara ligger stilla. Om vi inte hade gĂ„tt med vĂ„rt anteckningsblock, inte fastnat med blicken pĂ„ uppgiften i Jira och inte börjat följa den steg för steg, skulle vi trott att allt var utmĂ€rkt och att det inte fanns nĂ„gra problem.
DÀrför mÄste mÀtningarna ÀndÄ göras av dig sjÀlv, helst inte bara en gÄng, för att fÄ en verklighetstrogen bild. Beroende pÄ Value Stream Map kommer du att fatta beslut om var du ska börja och vad som ska ÄtgÀrdas först.
TillfÀllig team
MÄnga företag som har beslutat sig för att införa DevOps skapar ett team, men inte ett tillfÀlligt utan ett som har funnits i flera Är. Om du kontaktar DevOps-tjÀnsten för ursÀkter, dÀr olika mönster för att bygga organisationsstrukturer inom DevOps beskrivs, kommer du att förstÄ att detta Àr ett antipattern.
NĂ€r ett DevOps-team existerar konstant under flera Ă„r â det Ă€r ett stort misstag, eftersom DevOps handlar om kommunikation mellan avdelningar, om hastighet och effektivitet.
Om teamet finns mellan avdelningar bara för att göra nÄgot separat och har existerat lÀnge, sÄ skapar det en onödig barriÀr. Nu mÄste programmeraren istÀllet för att direkt gÄ till administratören för att lösa ett problem, först vÀnda sig till DevOps-avdelningen, som sedan tar det vidare.
DÀrför, för att börja, behöver vi skapa ett tillfÀlligt team.. Den kommer att existera i cirka ett halvt Är, max ett Är, beroende pÄ den uppgift vi har stÀllt upp, bara för att lösa en begrÀnsning som vi har valt. Efter det kommer den att dö ut. Om vi vÀljer nÀsta punkt dÀr vi har sÀrskilt ont, och inser att vi ocksÄ behöver ett separat team för det, dÄ kommer vi att skapa det igen. Men pÄ en "permanent" basis ska sÄdana team inte existera - dÄ stör de bara kommunikationen och tar pÄ sig helt orelaterade uppgifter, bara för att göra nÄgot. Dessa uppgifter behöver inte alls ha nÄgot att göra med DevOps och transformation. Varför skulle vi inte överlÄta denna uppgift till befintliga avdelningar?
Varför behövs ett temporÀrt team
Konflikt med nuvarande processer. DevOps-transformation Àr en förÀndring av inte bara teknologier och verktyg som vi anvÀnder, utan Àven av arbetsprocessen, tÀnkesÀttet och vÀrderingarna. Om teamet arbetar som de alltid har gjort, kommer de inte att kunna prova andra tillvÀgagÄngssÀtt.
Dessa mÀnniskor mÄste leva enligt andra regler: ignorera alla KPI:er i företaget, eftersom de försöker arbeta pÄ ett annat sÀtt. TemporÀra team kommer inte att fylla i begÀrningar för att fÄ en server, utan kommer direkt att gÄ till avdelningen som hanterar dem med krav pÄ att fÄ det de behöver som en första prioritet, eftersom det Àr en prioriterad uppgift och eftersom de försöker leva annorlunda. Teamet har en fullstÀndig konflikt med alla nuvarande processer. För att existerande arbetsmetoder inte ska störa dem nu, och att de inte ska störa andra, isolerar vi dessa mÀnniskor genom att bilda ett separat team.
Undvikande av byrÄkrati i experiment. I temporÀra team finns det ingen byrÄkrati, de fyller inte i arbetsrapporter och rapporterar inte till chefer. Detta Àr en helt separat vÀrld dÀr mÀnniskor lever och tÀnker annorlunda, och sysslar med helt andra saker. De behöver inte störas mer Àn nödvÀndigt.
Oavbrutet arbete med tjÀnsten. I det första steget valde vi nÄgot som vi ska experimentera med. Experiment och sökande efter bÀttre arbetsmetoder Àr bra, men vi vill ocksÄ göra funktioner. Om hela teamet istÀllet för funktioner sysslar med transformation kommer vi att börja förlora intÀkter, buggar kommer att hÀnga lÀnge - det Àr inget vi behöver. Att skapa ett temporÀrt team gör det möjligt att experimentera utan att stoppa arbetet med produkten.
Att spara tid pĂ„ arbetsuppgifter. Det handlar Ă„terigen om produkten. Det tar mycket tid för teamet att pröva andra verktyg och liknande. Att fĂ„ folk att behĂ€rska verktygen, börja implementera dem och anvĂ€nda dem korrekt tar minst ett halvĂ„r. Om de ocksĂ„ ska hĂ„lla pĂ„ med produkten kommer det halvĂ„ret att bli oĂ€ndligt. Om folk sysslar med produkten, arbetar de Ă„terigen med gamla processer â det behöver vi inte.
DÀrför avsÀtter vi personer frÄn olika avdelningar till ett eget team som ska arbeta med transformeringen av tjÀnsten. Resultatet blir att tjÀnsten fungerar, fortsÀtter att utvecklas och samtidigt genomför vi nÄgra experiment.
Det temporĂ€ra teamet sysslar bara med DevOps-transformeringen â att ta bort de begrĂ€nsningar vi har upptĂ€ckt, och inget annat.
Teamet bestĂ„r av mĂ„ngsidiga personer. Det betyder att vi har tagit inte bara utvecklare. Vi kom inte till tjĂ€nsten och tog dĂ€rifrĂ„n halva teamet â nej, vi tog personer frĂ„n olika avdelningar. För nĂ„gra punkter sedan fann vi olika avdelningar och olika anstĂ€llda som har en relation till den tjĂ€nst som transformeras. FrĂ„n dem bygger vi ett team, eftersom det mĂ„ste vara mĂ„ngsidigt â vi kommer att Ă€ndra bĂ„de testprocessen, utvecklingsprocessen och tjĂ€nsteunderhĂ„llsprocessen. Olika kompetenser behövs.
Normalt sett tar vi i princip en utvecklare, en testare och en ingenjör â varje av dem en, och tillsammans med dem hittar vi en lösning som gör det möjligt att leva annorlunda.
Det Ă€r önskvĂ€rt att dessa personer har auktoritet i organisationen. Kanske behövs en konservativ, Ă€ven om vi helst vill undvika det. Om vi har ett stort företag kommer lĂ„ngt ifrĂ„n alla att tro pĂ„ vĂ„rt projekt, och nĂ„gon kan stĂ€lla till problem, till exempel genom att inte avsĂ€tta en testmiljö. HĂ€r behövs just "auktoritet" â en respekterad person med stor erfarenhet som har förtjĂ€nat kollegers goda instĂ€llning. En anstĂ€llds auktoritet i teamet kommer att förenkla uppgiften och arbetet för det temporĂ€ra teamet. Folk kommer att tĂ€nka:
â Aha, den hĂ€r coola killen som vi alla kĂ€nner och Ă€lskar har skrivit sig in â uppenbarligen finns det nĂ„got i DevOps som Ă€r vĂ€rt att se nĂ€rmare pĂ„!
SÀtter mÄl
Vi har samlat folk, valt en tjĂ€nst, tittat pĂ„ begrĂ€nsningarna och definierat vilka mĂ€nniskor vi pĂ„verkar. Nu behöver vi sĂ€tta ett mĂ„l, och det mĂ„ste vara helt enligt SMART â allt, precis som vi gillar.
Specific â specifik.
Measurable â mĂ€tbar. Detta Ă€r en mycket viktig punkt i SMART. Om du inte kan mĂ€ta nĂ„got, kan du inte förĂ€ndra det eller förstĂ„ vad du har gjort bĂ€ttre eller sĂ€mre.
Achievable â uppnĂ„elig. Ta hĂ€nsyn till din specifika situation. Om du Ă€r ett storföretag med lĂ„ng historia och stora Ă„taganden, som slĂ€pper en version av produkten per Ă„r, kan du inte pĂ„ sex mĂ„nader nĂ„ att slĂ€ppa nya versioner av produkten varje timme. SĂ„ fungerar det inte. SĂ€tt dĂ€rför ett realistiskt mĂ„l som Ă€r uppnĂ„eligt inom en rimlig tidsram.
Relevant â relevant. Vi eliminerar endast det begrĂ€nsning som verkligen pĂ„verkar vĂ„ra nuvarande mĂ„l.
Time Limited â tidsbegrĂ€nsad. Utan deadlin Ă€r teamet benĂ€get att syssla med vad som helst: prova 15 teknologier istĂ€llet för 3, skriva stora rapporter, genomföra meningslösa undersökningar, polera sin implementation till perfektion nĂ€r mĂ„let redan har uppnĂ„tts.
MĂ„let formulera vi med hjĂ€lp av Value Stream Map â vi samlar Ă„terigen alla personer och ritar. Men den hĂ€r gĂ„ngen, baserat pĂ„ den tidigare Value Stream Map, ritar vi vad vi vill uppnĂ„.

Vi identifierar en begrĂ€nsning som vi ska eliminera just nu â det kommer teamet att syssla med. Till exempel har jag valt vĂ€ntan frĂ„n fĂ€rdig release till dess distribution i produktion â detta Ă€r den vanligaste begrĂ€nsningen som folk vĂ€nder sig till konsulter med.
Baserat pÄ detta formulerar vi en uppgift: vi vill att vÀntan mellan fÀrdig release och att gÄ live ska vara max en timme.
Exempel pÄ uppgifter.
- Minska ledtiden för testning frÄn 4 dagar till 1 timme.
- Minska den vÀrdefulla tiden för testning frÄn 2 dagar till 3 timmar.
- Minska ledtiden för distribution frÄn 5 timmar till 10 minuter.
- Ăka C/A frĂ„n 50% till 95%, det vill sĂ€ga öka antalet funktioner som accepteras av testarna, med andra ord, förbĂ€ttra kvaliteten pĂ„ utvecklarnas arbete.
Exemplen pĂ„ uppgifter Ă€r inte tagna ur luften â de baseras pĂ„ mĂ€tningar vi gjorde nĂ€r vi utvecklade Value Stream Map.
Formulera en liknande uppgift till vÄrt team och en begrÀnsning i tid. Beroende pÄ hur bra allt gÄr i ditt företag, sÀtter du olika tidsramar. I genomsnitt tar det, om mÀnniskor sysslar med detta för första gÄngen och inte vet vilka teknologier de ska anvÀnda och hur de specifikt kommer att lösa problemet, vanligtvis ett halvÄr.
Kortsiktigt planerande
SÄ, vÄrt team Àr bildat, det har ett mÄl, mÀnniskor börjar arbeta. En viktig punkt Àr den korta planeringen av arbetet: sprintar som varar en eller tvÄ veckoroch, inte mer, mÀtbara förbÀttringar varje vecka och kurskorrigering.
Till exempel anvÀnder vi ofta tillvÀgagÄngssÀttet moving-moving, nÀr hela teamet samlas i början av varje vecka, skisserar i en fil vad varje person ska göra. Efter en vecka noterar vi: vad som har gjorts och vad som inte har gjorts, om nÄgot inte har gjorts, varför, och tÀnker pÄ vad vi ska göra hÀrnÀst.
Sprintarna gör att vi i tid kan justera vÄr kurs.
Vi har provat nĂ„got i en eller tvĂ„ veckor: teknologier, metoder, arbetsformer, efter det mĂ€ter vi igen och ser â har det blivit bĂ€ttre eller sĂ€mre med detta tillvĂ€gagĂ„ngssĂ€tt? Ifall det har blivit sĂ€mre, sĂ„ gĂ„r vi inte i rĂ€tt riktning, vi mĂ„ste justera kursen: sĂ€tta en annan uppgift, anvĂ€nda en annan teknologi eller göra nĂ„got annat. Korta sprintar pĂ„ 1-2 veckor gör det möjligt att manövrera och snabbt bortse frĂ„n dĂ„liga beslut.
Vi delar med oss av framgÄngar
Teamet uppnĂ„r vissa framgĂ„ngar, smĂ„ eller stora â det spelar ingen roll, det finns alltid nĂ„got resultat. Alla bör veta om denna framgĂ„ng: bĂ„de de som Ă€r involverade i DevOps och de angrĂ€nsande avdelningarna. I en ideal vĂ€rld skulle det vara önskvĂ€rt att detta nĂ„dde alla i företaget.
Varför? Om vi vill att hela företaget ska transformeras, ta bort alla begrÀnsningar sÄ att företaget blir flexibelt, att koden snabbt nÄr kunden och ingenting gÄr sönder, mÄste alla vara lojala till DevOps-idén. Du kan inte tillÀmpa tillvÀgagÄngssÀttet pÄ tjÀnster och team som Àr kategoriskt emot.
För att lojalitet ska uppstĂ„, mĂ„ste vi berĂ€tta för alla vad vi har provat â vi har ett resultat, prova gĂ€rna ocksĂ„! Det kommer öka intresset och lojaliteten till vad vi gör, mĂ€nniskor kommer börja testa saker direkt. Som erfarenheten visar, nĂ€r vi berĂ€ttar vad vi har provat och vad vi har uppnĂ„tt, börjar andra team frĂ„ga hur och vad vi gjorde. De ser pĂ„ genomföranden, koden, dokumentationen, kommer med frĂ„gor och försöker förĂ€ndra nĂ„got i sina egna processer.
Att berĂ€tta om vad ni har lyckats Ă„stadkomma â Ă€r viktigt. PĂ„ sĂ„ sĂ€tt övertygar ni de konservativa att gĂ„ över till er sida, de som ville göra allt pĂ„ det gamla sĂ€ttet och förvandlar dem till innovatörer.
Sammanfattningsvis
Vi vĂ€ljer tjĂ€nsten, som utgĂ„ngspunkt â den plats dĂ€r vi börjar förĂ€ndringar i företaget. Vi identifierar alla som har nĂ„gon form av relation till tjĂ€nsten och tillsammans med dem bygger vi en Value Stream Map, mĂ€ter och ser var och vilka begrĂ€nsningar som finns.
Vi skapar ett nytt tillfĂ€lligt team, som ska lösa den uppsatta uppgiften. Baserat pĂ„ mĂ€tningarna och Value Stream Map ritar vi en ny karta, dĂ€r vi markerar den begrĂ€nsning vi kommer att fokusera pĂ„. Baserat pĂ„ denna begrĂ€nsning sĂ€tter vi en uppgift, som teamet ska arbeta med. Uppgiften mĂ„ste vara definitivt SMART â specifik, mĂ€tbar, relevant för de aktuella uppgifterna och tidsbegrĂ€nsad.
Vi upprepar processen, tills vi har transformerat alla vÄra tjÀnster till det önskade tillstÄndet och eliminerat alla begrÀnsningar.
Bonus. AnvÀndbara material
För de som har bestÀmt sig för att börja med DevOps pÄ egen hand.
Projektet "Phoenix"
Det ursprungliga namnet Àr "The Phoenix Project: A Novel about It, Devops, and Helping Your Business Win". Det Àr en roman om DevOps - en historia om hur en anstÀlld blev chef för en avdelning som alltid var i brand. Den nya chefen fick en uppgift:
â Du har nĂ„gra Ă„r pĂ„ dig att rĂ€tta till allt sĂ„ att vi Ă€ntligen kan leverera vĂ„r produkt snabbt och effektivt till vĂ„ra kunder.
"Projekt 'Phoenix'. En roman om hur DevOps förĂ€ndrar livet till det bĂ€ttre" â en bok för alla ledare, eftersom det just Ă€r dessa personer som fattar beslut om vad som hĂ€nder i företaget. Om du Ă€r ingenjör eller programmerare och vill fĂ„ fart pĂ„ transformationen i ditt företag â köp boken och ge den i present till ledningen. Denna roman förklarar allt och Ă€r lĂ€tt att lĂ€sa.
Guide till DevOps
En mer komplex bok. Den gavs ut för flera Ă„r sedan pĂ„ engelska under namnet "The DevOps Handbook How to create world-class agility, reliability, and security in Technology organizations", men finns nu Ă€ven pĂ„ ryska. Det Ă€r en riktig handbok â en praktisk guide: hur man genomför mĂ€tningar, vad en Value Stream Map Ă€r och varför den behövs, vilken vĂ€g man bör ta och i vilken ordning. Boken Ă€r just för dem som vill göra allt sjĂ€lva. Det viktigaste Ă€r att den innehĂ„ller exempel pĂ„ erfarenheter frĂ„n andra företag.
Till exempel beskriver det hur ett företag byggde en Value Stream Map och insÄg att begrÀnsningen inte lÄg i produkten, utan i att kassapersonalen gick frÄn butiken till det intilliggande kontoret för att anvÀnda produkten. IstÀllet för att lösa problemet med programmet köpte de surfplattor till sina sÀljare, och nu gÄr ingen nÄgonstans, utan alla aktiviteter utförs pÄ arbetsplatsen. Slutsats: Value Stream Map kan tillÀmpas inte bara pÄ programvara, utan Àven pÄ alla processer i organisationen.
Accelerera
Hela titeln Àr: "Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations". Detta Àr nÀsta nivÄ - hardcore. Boken slÀpptes förra Äret, hittills bara pÄ engelska och handlar om forskning. Författarna - Nicole Forsgren, Jez Humble och Gene Kim - har under mÄnga Är tillÀmpat olika metoder i olika företag och undersökt vilka metoder som pÄverkar och hur.
I det andra kapitlet, som handlar om mÀtningar, nÀmns Value Stream Map, de metriker jag tidigare nÀmnt och mÄnga andra, samt en detaljerad beskrivning av mÀtprocesserna. Författarna genomför mÀtningar med hjÀlp av enkÀter och sjÀlvövervakning av uppgifter. Det förklaras noggrant vilka metriker som bör mÀtas, vilka som inte bör göra det, samt mÀnskliga fel i mÀtningarna. Om du har problem med mÀtningar, titta pÄ det andra kapitlet i boken "Accelerate". Om ditt team har mÄnga metoder men det Àr oklart vilka metoder som ska tillÀmpas nu, vilka senare, vilka som verkligen fungerar och vilka som inte gör det - lÀs, boken förklarar allt.
Transformation Ă€r en frĂ„ga i skĂ€rningspunkten mellan DevOps och ledning. NĂ„gonstans i samma omrĂ„de av korsningen mellan utveckling, drift och testning finns Ă€mnen som vi försöker diskutera pĂ„ , samma integration behövs för att skapa en kvalitetsprodukt â huvudtemat för . Ledning pĂ„ festivalen presenteras â innebĂ€r att alla idĂ©er för transformation finns dĂ€r. GĂ„ med 27 och 28 maj, vi ska integrera och transformera.
KĂ€lla: habr.com
