{"id":34157,"date":"2019-10-31T21:56:43","date_gmt":"2019-10-31T18:56:43","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-nachat-devops-transformatsiyu\/"},"modified":"2019-10-31T21:56:43","modified_gmt":"2019-10-31T18:56:43","slug":"kak-nachat-devops-transformatsiyu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu","title":{"rendered":"Hur man p\u00e5b\u00f6rjar en DevOps-transformation","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Om du inte f\u00f6rst\u00e5r vad DevOps \u00e4r, h\u00e4r \u00e4r en kort sammanfattning. DevOps \u00e4r en upps\u00e4ttning metoder som <strong>minskar ingenj\u00f6rers r\u00e4dsla<\/strong> och minskar antalet driftst\u00f6rningar i mjukvaruproduktion. I regel <strong>f\u00f6rkortar de ocks\u00e5 tiden till marknaden<\/strong> \u2014 perioden fr\u00e5n id\u00e9 till leverans av den slutliga produkten till kunderna, vilket m\u00f6jligg\u00f6r snabba <strong>businessexperiment<\/strong>.<\/p>\n<p>Hur p\u00e5b\u00f6rjar man en DevOps-transformation? Kort sagt: vi v\u00e4ljer en tj\u00e4nst som vi b\u00f6rjar med, identifierar dem som \u00e4r relaterade till tj\u00e4nsten, skapar en Value Stream Map, s\u00e4tter ihop ett tillf\u00e4lligt team som kommer att hantera transformationen under en tid och ger dem en uppgift. Vi upprepar cykeln s\u00e5 m\u00e5nga g\u00e5nger som beh\u00f6vs.<\/p>\n<p><img decoding=\"async\" alt=\"Hur man p\u00e5b\u00f6rjar en DevOps-transformation\" src=\"\/wp-content\/uploads\/2019\/05\/aa9480b66c26c9a3035929ea5fbe6542.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>En detaljerad plan f\u00f6r DevOps-transformationen med exempel och instruktioner finns under l\u00e4nken <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/voAm67851JU\">presentationen<\/a><\/noindex> <b>Andrey Alexandrov<\/b> \u2014 ingenj\u00f6r vid f\u00f6retaget Express42, som ger r\u00e5d om DevOps-f\u00f6rb\u00e4ttringar och p\u00e5skyndar denna process eftersom de redan har kartlagt fallgroparna. Om du tror att en transformation inte \u00e4r n\u00f6dv\u00e4ndig f\u00f6r dig, eller om din specifik g\u00f6r att DevOps-praktiker inte passar, \u2014 anv\u00e4nd presentationen som en v\u00e4gledning f\u00f6r att identifiera och \u00e5tg\u00e4rda begr\u00e4nsningar. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nOm du oroar dig f\u00f6r fr\u00e5gan om DevOps-transformation, inneb\u00e4r det att du har ett stort f\u00f6retag och att du beh\u00f6ver skala denna process \u00f6ver hela strukturen steg f\u00f6r steg. S\u00e5 l\u00e4nge det finns ett behov av att transformera teamet eller \u00e5tg\u00e4rda n\u00e5gon begr\u00e4nsning kan algoritmen nedan upprepas.<\/p>\n<h2>Val av tj\u00e4nst<\/h2>\n<p>\nPlanen \u00e4r tydlig, l\u00e5t oss b\u00f6rja med f\u00f6rsta steget \u2014 val av tj\u00e4nst.<strong> Den f\u00f6rsta kriteriet \u00e4r livsl\u00e4ngd<\/strong>: det finns gamla tj\u00e4nster \u2014 legacy, och nya. Man kan b\u00f6rja med b\u00e5de och.<\/p>\n<p><strong>Att v\u00e4lja en ung tj\u00e4nst \u00e4r logiskt<\/strong>. Den \u00e4r ny, det finns \u00e4nnu ingen etablerad arbetsprocess i teamet som hanterar den. Det finns ingen enorm teknisk skuld runt den, och det kr\u00e4vs inte att den st\u00e4ndigt repareras. Vi kan g\u00f6ra vad vi vill med den.<\/p>\n<p>N\u00e4r det g\u00e4ller en gammal tj\u00e4nst finns det problem relaterade till <strong>att f\u00f6r\u00e4ndra \u00e4r alltid sv\u00e5rt<\/strong>. Det finns redan ett antal allvarliga begr\u00e4nsningar, men kanske hanteras de av m\u00e4nniskor som redan \u00e4r redo att g\u00f6ra en f\u00f6r\u00e4ndring \u2014 de \u00e4r tr\u00f6tta och vill g\u00f6ra n\u00e5got annorlunda f\u00f6r att det g\u00f6r ont.<\/p>\n<p><strong>Arbetet med en gammal tj\u00e4nst skapar en kraftfull prejudikat<\/strong> det finns alltid n\u00e5got som g\u00e5r att f\u00f6r\u00e4ndra i ert f\u00f6retag. Om ni har inf\u00f6rt en ny tj\u00e4nst som k\u00f6rs 100 g\u00e5nger i timmen utan problem kan folk i f\u00f6retaget s\u00e4ga:<\/p>\n<p><em> \u2014 Men det h\u00e4r \u00e4r ju en ny tj\u00e4nst! Det var ju s\u00e5 enkelt tidigare, prova att g\u00f6ra n\u00e5got med v\u00e5r trasiga gamla grej.<\/em><\/p>\n<p>Legacy-tj\u00e4nster \u00e4r v\u00e4rda att omvandla n\u00e4r ni g\u00f6r det tillsammans med n\u00e5gon, till exempel om ni har bjudit in en extern konsult. <strong>L\u00e5t oss vara \u00e4rliga, transformationen kommer att skaka om allt m\u00f6jligt.<\/strong>. Ni experimenterar och vet inte vart ni kommer att hamna, vilka teknologier ni ska anv\u00e4nda och vilka fallgropar som kan uppst\u00e5 i processerna. D\u00e4rf\u00f6r \u00e4r det l\u00e4ttare att byta ut det nya.<\/p>\n<blockquote><p>Om ni g\u00f6r allt sj\u00e4lva och f\u00f6retaget saknar seri\u00f6s kompetens \u2014 v\u00e4lj en ny tj\u00e4nst. Om ni k\u00e4nner en extern konsult och har resurser \u2014 v\u00e4lj den gamla.<\/p><\/blockquote>\n<p>\nDet finns tj\u00e4nster som bara \u00e4r ett gr\u00e4nssnitt f\u00f6r anv\u00e4ndarna, till exempel en enkel webbplats eller mobilapp. Men det finns ocks\u00e5 mer komplexa saker som fakturering. Om n\u00e5got g\u00e5r fel med faktureringen kan det bli sv\u00e5rt att reda upp. H\u00e4r har vi ocks\u00e5 ett val.<\/p>\n<p>Vi arbetar antingen <strong>med en kritisk tj\u00e4nst<\/strong>, men p\u00e5 grund av den lider vi redan, den skapar begr\u00e4nsningar, eller s\u00e5 arbetar vi <strong>med ett gr\u00e4nssnitt<\/strong>. Detta \u00e4r det andra urvalskriteriet. P\u00e5 liknande s\u00e4tt kan vi anlita en erfaren konsult \u2014 vi jobbar med den tunga varianten.<\/p>\n<p>Men \u00e4ven i det h\u00e4r fallet skulle jag inte rekommendera att g\u00f6ra s\u00e5, eftersom det, s\u00e5 l\u00e4nge det inte finns f\u00f6rst\u00e5else f\u00f6r vad man ska arbeta med och i vilken riktning man ska transformera, inte \u00e4r en bra id\u00e9 att ta n\u00e5got kritiskt och b\u00f6rja riva i det. D\u00e4rf\u00f6r f\u00f6redrar vi att arbeta med ett gr\u00e4nssnitt vars krossande inte \u00e4r kritiskt.<\/p>\n<p>L\u00e5t oss g\u00e5 vidare och titta p\u00e5 <b>serviceteamet<\/b>. Med dem som arbetar med denna tj\u00e4nst kommer vi att beh\u00f6va ha ett n\u00e4ra och kontinuerligt samarbete.<\/p>\n<p>M\u00e4nniskorna i teamet delas grovt in i tv\u00e5 kategorier: <strong>konservativa<\/strong> \u2014 de lever i den gamla v\u00e4rlden eller vet helt enkelt inget om DevOps, och <strong>innovativa<\/strong>, som drar med sig alla moderna metoder. De senare f\u00f6rst\u00e5r inte alltid \u00e4mnet, men de \u00e4r \u00e5tminstone \u00f6ppna f\u00f6r det.<\/p>\n<p>\u00c5 ena sidan \u00e4r konservativa personer erfarna: de har varit l\u00e4nge i f\u00f6retaget och f\u00f6rst\u00e5r det p\u00e5 djupet, men de k\u00e4nner inte alltid till de senaste metoderna. \u00c5 andra sidan har vi innovat\u00f6rer som kanske har h\u00f6rt talas om trender, men troligen \u00e4r relativt nya i f\u00f6retaget. Vem av dem \u00e4r det b\u00e4st att samarbeta med?<\/p>\n<p>Vi m\u00e5ste p\u00e5 n\u00e5got s\u00e4tt samarbeta med konservativa, eftersom det \u00e4r deras tj\u00e4nst. Vi m\u00e5ste kommunicera med dem, klarg\u00f6ra tj\u00e4nstens specifikationer, vad som kan g\u00f6ras och vad som inte kan g\u00f6ras. Vi \u00e4r beroende av deras r\u00e5d. Vi kommer s\u00e4kert att beh\u00f6va ge dem uppgifter, eftersom de k\u00e4nner sin tj\u00e4nst b\u00e4ttre. D\u00e4rf\u00f6r \u00e4r det viktigt vilken grupp vi slutligen kommer att ha kontakt med.<\/p>\n<blockquote><p>Det \u00e4r logiskt att v\u00e4lja innovat\u00f6rer i teamet, eftersom konservativa kan st\u00e4lla till med problem.\n<\/p><\/blockquote>\n<p>\nI praktiken h\u00e4nder det ofta att konservativa har mycket erfarenhet men saknar en f\u00f6rst\u00e5else f\u00f6r hur de ska g\u00e5 vidare. De \u00e4r helt enkelt r\u00e4dda f\u00f6r att bli avskedade efter transformationen och omstruktureringen av tj\u00e4nsten. Ibland, bara p\u00e5 grund av att de inte f\u00f6rst\u00e5r vad som h\u00e4nder, saboterar de arbetet.<\/p>\n<p>Jag har varit med om ett fall d\u00e4r en kille i teamet reparerade allt m\u00f6jligt, f\u00f6r att det tydligen var viktigare \u00e4n det vi gjorde just nu. Vi gav en uppgift: att implementera den h\u00e4r delen idag \u2014 nej, p\u00e5 andra sidan v\u00e4rlden brinner det, s\u00e5 vi g\u00e5r dit f\u00f6r att fixa det. Det \u00e4r sv\u00e5rt att arbeta med s\u00e5dana m\u00e4nniskor.<\/p>\n<p>Folk fr\u00e5n det konservativa teamet skjuter ofta upp uppgifter eller ignorerar dem helt. Och om, Gud f\u00f6rbjude, du har gjort ett misstag och inf\u00f6rt KPI:er f\u00f6r antal genomf\u00f6rda uppgifter, och en del av dem av n\u00e5gon anledning inte \u00e4r inkluderade i KPI:erna, s\u00e5 kommer de verkligen inte att g\u00f6ra n\u00e5got. De skulle i egentlig mening ha r\u00e4tt, eftersom de d\u00e5 f\u00f6rlorar sin bonus.<\/p>\n<p><strong>Det \u00e4r enklare att arbeta med innovat\u00f6rer \u2014 de \u00e4r mer lojala.<\/strong>De har redan h\u00f6rt n\u00e5got, de vill fram\u00e5t, s\u00e5 de kommer att hj\u00e4lpa till. Vi beh\u00f6ver m\u00e4nniskor som \u00e4r villiga att k\u00e4mpa inledningsvis: om tj\u00e4nsten f\u00f6r\u00e4ndras kommer alla motg\u00e5ngar och fallgropar att upplevas av innovat\u00f6rerna som pionj\u00e4rer. Innovat\u00f6rer vill ha det senaste och mest moderna, \u00e4ven om det inneb\u00e4r att de f\u00e5r lida.<\/p>\n<p>Konservativa kan senare omv\u00e4ndas till v\u00e5r tro. N\u00e4r ni visar att ni har f\u00f6r\u00e4ndrat en del och allt fungerar bra, kommer de sannolikt ocks\u00e5 vilja prova och anta den nya DevOps-religionen.<\/p>\n<p><img decoding=\"async\" alt=\"Hur man p\u00e5b\u00f6rjar en DevOps-transformation\" src=\"\/wp-content\/uploads\/2019\/05\/dcbbc0308e150f915cbe091451b6196f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Sammanfattningsvis, om vi genomf\u00f6r hela transformationen internt i v\u00e5rt f\u00f6retag v\u00e4ljer vi: en ny tj\u00e4nst, helst med ett enkelt gr\u00e4nssnitt f\u00f6r att undvika stora problem vid eventuella fel, samt ett team av innovat\u00f6rer.<\/p><\/blockquote>\n<p>\nOm det finns m\u00f6jlighet att anlita en extern konsult, ist\u00e4llet f\u00f6r en ny tj\u00e4nst \u2013 tar vi den gamla tj\u00e4nsten som vi redan har problem med. M\u00e4nniskor som har arbetat med transformationer under en l\u00e4ngre tid i olika f\u00f6retag har sett olika fall och f\u00f6rst\u00e5r hur man b\u00f6r g\u00f6ra r\u00e4tt, samt vilken v\u00e4g man b\u00f6r g\u00e5.<\/p>\n<h2>Vem \u00e4r inblandad?<\/h2>\n<p>\nVi beh\u00f6ver hitta alla som har n\u00e5gon koppling till tj\u00e4nsten: utvecklare, testare, administrat\u00f6rer, s\u00e4kerhetsexperter, chefer och eventuellt Product Owners. Trots att Product Owners inte \u00e4r tekniska specialister, har de en relation till tj\u00e4nsten: de fattar beslut och s\u00e4tter upp uppgifter.<\/p>\n<p><img decoding=\"async\" alt=\"Hur man p\u00e5b\u00f6rjar en DevOps-transformation\" src=\"\/wp-content\/uploads\/2019\/05\/5bf997d5931089cce8e35bcb36007a60.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Alla som fattar beslut och p\u00e5verkar vad som sker med tj\u00e4nsten beh\u00f6ver vi hitta, l\u00e4ra k\u00e4nna och prata med.<\/p><\/blockquote>\n<p>\nVad beh\u00f6ver vi dem till? <strong>F\u00f6r att veta vem vi ska f\u00f6rhandla med<\/strong>. Under transformationen, n\u00e4r det vanliga arbetss\u00e4ttet med tj\u00e4nsten f\u00f6r\u00e4ndras, kommer det att ske st\u00f6rningar. Under en tid kommer det att uppst\u00e5 problem \u00e4r vi testar nya tillv\u00e4gag\u00e5ngss\u00e4tt. M\u00e4nniskorna m\u00e5ste vara beredda p\u00e5 detta och vara \u00f6verens.<\/p>\n<p>D\u00e4refter m\u00e5ste vi bygga en Value Stream Map och utan dessa m\u00e4nniskor g\u00e5r det inte, eftersom endast de tillsammans vet hela bilden av vad som h\u00e4nder. Ingen individ har hela kollen p\u00e5 vad som sker med tj\u00e4nsten.<\/p>\n<p>De kommer att rekommendera m\u00e4nniskor till teamet. Vi kommer senare att diskutera varf\u00f6r ett separat team beh\u00f6vs. Det kommer att beh\u00f6vas personer fr\u00e5n nuvarande avdelningar. De som har kunskap om tj\u00e4nsten kan rekommendera kollegor som t\u00e4nker i v\u00e5r riktning och som kan hj\u00e4lpa oss och har den kompetens vi beh\u00f6ver.<\/p>\n<p>D\u00e4refter samlar vi alla dessa personer fr\u00e5n olika avdelningar i samma rum och b\u00f6rjar bygga en Value Stream Map.<\/p>\n<h2>Bygg Value Stream Map<\/h2>\n<p>\n<strong>Value Stream Map \u00e4r en schematisk representation som visar v\u00e4rdefl\u00f6det till kunden<\/strong>. Det \u00e4r hela processen fr\u00e5n id\u00e9 till implementering, inklusive alla mellanliggande steg och hur v\u00e4rdet slutligen n\u00e5r v\u00e5ra kunder.<\/p>\n<p>Value Stream Map beh\u00f6vs f\u00f6r att <strong>visualisera alla utvecklingssteg<\/strong>, lokalisera problem genom att m\u00e4ta som finns i den nuvarande processen och b\u00f6rja \u00e5tg\u00e4rda dessa problem, samt <strong>s\u00e4tta ett initialt m\u00e5l<\/strong>. Det h\u00e4r \u00e4r platsen d\u00e4r vi faktiskt b\u00f6rjar g\u00f6ra n\u00e5got.<\/p>\n<h3>M\u00e4tv\u00e4rden<\/h3>\n<p>\nI litteraturen om Value Stream Map beskrivs m\u00e5nga olika metoder, men f\u00f6r b\u00f6rjan r\u00e4cker det med tre.<\/p>\n<p><strong>Lead Time \u2014 f\u00f6rdr\u00f6jning\/v\u00e4ntan<\/strong> \u2014 den tid vi v\u00e4ntar p\u00e5 n\u00e5got. Till exempel v\u00e4ntar testaren p\u00e5 att en testmilj\u00f6 ska bli ledig, och under den tiden kan de inte g\u00f6ra n\u00e5got.<\/p>\n<p><strong>Value Added Time \u2014 tid f\u00f6r v\u00e4rdeskapande arbete<\/strong> \u2014 det som vi har lagt tid p\u00e5 i ett visst steg f\u00f6r att skapa slutligt v\u00e4rde f\u00f6r anv\u00e4ndaren. Till exempel har testaren k\u00f6rt sina tester och b\u00f6rjat kontrollera n\u00e5got. Det \u00e4r tiden f\u00f6r v\u00e4rdeskapande arbete, n\u00e4r vi faktiskt g\u00f6r n\u00e5got f\u00f6r produkten. Det \u00e4r det kunderna betalar f\u00f6r \u2014 kvalitetsprogramvara.<\/p>\n<p><strong>%C\/A \u2014 procent av godtagbart arbete. <\/strong>Vi har ett steg \u2014 utveckling, det andra steget \u2014 testning. Hur m\u00e5nga funktioner har testarna godtagit fr\u00e5n utvecklarna, och det finns denna procent.<\/p>\n<p>S\u00e5 h\u00e4r ser v\u00e5r karta ut.<\/p>\n<p><img decoding=\"async\" alt=\"Hur man p\u00e5b\u00f6rjar en DevOps-transformation\" src=\"\/wp-content\/uploads\/2019\/05\/724fcd9fa5b0c613674933dba9d82159.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDen kan se annorlunda ut beroende p\u00e5 organisationsstruktur, antal avdelningar och vad ni sysslar med. Men i allm\u00e4nhet kommer kartan att ha tv\u00e5 steg: <strong>id\u00e9 <\/strong>och<strong> analys<\/strong>. I detta steg f\u00f6rv\u00e4ntas data, till exempel Lead Time 2 veckor och Value Added Time 2 dagar.<\/p>\n<blockquote><p>Vi t\u00e4cker absolut alla steg med m\u00e4tv\u00e4rden.<\/p><\/blockquote>\n<p>\n<strong>Backlog<\/strong> \u2014 hur m\u00e5nga uppgifter som l\u00e5g efter att analytikerna kommit p\u00e5 dem.<\/p>\n<p><strong>Utveckling<\/strong> \u2014 hur m\u00e5nga veckor utvecklarna v\u00e4ntade p\u00e5 avklarande av uppgifter, milj\u00f6er eller utrustning \u2014 oavsett, men de v\u00e4ntar p\u00e5 n\u00e5got. Till exempel, 4 dagar implementerar de en funktion. H\u00e4r kommer m\u00e4tv\u00e4rdet %C\/A fram. Utvecklarna har tagit fr\u00e5n Backlog endast 80% av uppgifterna. De anser att de \u00e5terst\u00e5ende 20% har otydliga specifikationer och har skickat tillbaka dem f\u00f6r revidering.<\/p>\n<p><strong>Testning<\/strong>. P\u00e5 schemat \u00e4r LT angivet till 4 dagar. Till exempel v\u00e4ntade testarna p\u00e5 att testmilj\u00f6n skulle bli ledig, VA 2 dagar testade de verkligen n\u00e5got, och %C\/A = 40 %. \u2014 endast 40 % av koden eller funktionerna som skickades av utvecklarna ans\u00e5gs av testarna vara adekvata. Allt annat gillade de inte av n\u00e5gon anledning.<\/p>\n<p>Jag kommer inte att g\u00e5 in p\u00e5 detaljer om hur man m\u00e4ter detta; i slutet av artikeln kommer jag att rekommendera litteratur d\u00e4r man kan l\u00e4ra sig mer.<\/p>\n<p>Det enda jag rekommenderar \u2014 lita inte p\u00e5 personer som kommer att g\u00f6ra en Value Stream Map med dig. De uppskattar hur mycket tid olika processer tar, men dessa uppskattningar \u00e4r inte alltid korrekta, s\u00e5 det \u00e4r b\u00e4ttre att m\u00e4ta sj\u00e4lv.<\/p>\n<p>Vi hade ett fall d\u00e4r vi kom till Operations-avdelningen och fr\u00e5gade hur l\u00e5ng tid det tar att f\u00e5 en ny funktion till produktion. Vi fick svaret att det tar 10 minuter, och vi undrade varf\u00f6r vi ens kom till det h\u00e4r f\u00f6retaget. Det visade sig att 10 minuter \u00e4r tiden f\u00f6r ett skript som tar koden och levererar den till servern. Men innan det ligger releasen i tre dagar p\u00e5 servern och samlar damm \u2014 det finns en uppgift i Backlogen som beh\u00f6ver deployas. S\u00e5 det finns en v\u00e4ntesteg f\u00f6re sj\u00e4lva deploy-stadiet, n\u00e4r projektet bara ligger stilla. Om vi inte hade g\u00e5tt med v\u00e5rt anteckningsblock, inte fastnat med blicken p\u00e5 uppgiften i Jira och inte b\u00f6rjat f\u00f6lja den steg f\u00f6r steg, skulle vi trott att allt var utm\u00e4rkt och att det inte fanns n\u00e5gra problem.<\/p>\n<p>D\u00e4rf\u00f6r m\u00e5ste m\u00e4tningarna \u00e4nd\u00e5 g\u00f6ras av dig sj\u00e4lv, helst inte bara en g\u00e5ng, f\u00f6r att f\u00e5 en verklighetstrogen bild. Beroende p\u00e5 Value Stream Map kommer du att fatta beslut om var du ska b\u00f6rja och vad som ska \u00e5tg\u00e4rdas f\u00f6rst.<\/p>\n<h2>Tillf\u00e4llig team<\/h2>\n<p>\nM\u00e5nga f\u00f6retag som har beslutat sig f\u00f6r att inf\u00f6ra DevOps skapar ett team, men inte ett tillf\u00e4lligt utan ett som har funnits i flera \u00e5r. Om du kontaktar DevOps-tj\u00e4nsten f\u00f6r urs\u00e4kter, d\u00e4r olika m\u00f6nster f\u00f6r att bygga organisationsstrukturer inom DevOps beskrivs, kommer du att f\u00f6rst\u00e5 att detta \u00e4r ett antipattern.<\/p>\n<blockquote><p>N\u00e4r ett DevOps-team existerar konstant under flera \u00e5r \u2014 det \u00e4r ett stort misstag, eftersom DevOps handlar om kommunikation mellan avdelningar, om hastighet och effektivitet.<\/p><\/blockquote>\n<p>\nOm teamet finns mellan avdelningar bara f\u00f6r att g\u00f6ra n\u00e5got separat och har existerat l\u00e4nge, s\u00e5 skapar det en on\u00f6dig barri\u00e4r. Nu m\u00e5ste programmeraren ist\u00e4llet f\u00f6r att direkt g\u00e5 till administrat\u00f6ren f\u00f6r att l\u00f6sa ett problem, f\u00f6rst v\u00e4nda sig till DevOps-avdelningen, som sedan tar det vidare.<\/p>\n<p><strong>D\u00e4rf\u00f6r, f\u00f6r att b\u00f6rja, beh\u00f6ver vi skapa ett tillf\u00e4lligt team.<\/strong>. Den kommer att existera i cirka ett halvt \u00e5r, max ett \u00e5r, beroende p\u00e5 den uppgift vi har st\u00e4llt upp, bara f\u00f6r att l\u00f6sa en begr\u00e4nsning som vi har valt. Efter det kommer den att d\u00f6 ut. Om vi v\u00e4ljer n\u00e4sta punkt d\u00e4r vi har s\u00e4rskilt ont, och inser att vi ocks\u00e5 beh\u00f6ver ett separat team f\u00f6r det, d\u00e5 kommer vi att skapa det igen. Men p\u00e5 en \"permanent\" basis ska s\u00e5dana team inte existera - d\u00e5 st\u00f6r de bara kommunikationen och tar p\u00e5 sig helt orelaterade uppgifter, bara f\u00f6r att g\u00f6ra n\u00e5got. Dessa uppgifter beh\u00f6ver inte alls ha n\u00e5got att g\u00f6ra med DevOps och transformation. Varf\u00f6r skulle vi inte \u00f6verl\u00e5ta denna uppgift till befintliga avdelningar?<\/p>\n<h3>Varf\u00f6r beh\u00f6vs ett tempor\u00e4rt team<\/h3>\n<p>\n<strong>Konflikt med nuvarande processer<\/strong>. DevOps-transformation \u00e4r en f\u00f6r\u00e4ndring av inte bara teknologier och verktyg som vi anv\u00e4nder, utan \u00e4ven av arbetsprocessen, t\u00e4nkes\u00e4ttet och v\u00e4rderingarna. Om teamet arbetar som de alltid har gjort, kommer de inte att kunna prova andra tillv\u00e4gag\u00e5ngss\u00e4tt.<\/p>\n<p>Dessa m\u00e4nniskor m\u00e5ste leva enligt andra regler: ignorera alla KPI:er i f\u00f6retaget, eftersom de f\u00f6rs\u00f6ker arbeta p\u00e5 ett annat s\u00e4tt. Tempor\u00e4ra team kommer inte att fylla i beg\u00e4rningar f\u00f6r att f\u00e5 en server, utan kommer direkt att g\u00e5 till avdelningen som hanterar dem med krav p\u00e5 att f\u00e5 det de beh\u00f6ver som en f\u00f6rsta prioritet, eftersom det \u00e4r en prioriterad uppgift och eftersom de f\u00f6rs\u00f6ker leva annorlunda. Teamet har en fullst\u00e4ndig konflikt med alla nuvarande processer. F\u00f6r att existerande arbetsmetoder inte ska st\u00f6ra dem nu, och att de inte ska st\u00f6ra andra, isolerar vi dessa m\u00e4nniskor genom att bilda ett separat team.<\/p>\n<p><strong>Undvikande av byr\u00e5krati i experiment<\/strong>. I tempor\u00e4ra team finns det ingen byr\u00e5krati, de fyller inte i arbetsrapporter och rapporterar inte till chefer. Detta \u00e4r en helt separat v\u00e4rld d\u00e4r m\u00e4nniskor lever och t\u00e4nker annorlunda, och sysslar med helt andra saker. De beh\u00f6ver inte st\u00f6ras mer \u00e4n n\u00f6dv\u00e4ndigt.<\/p>\n<p><strong>Oavbrutet arbete med tj\u00e4nsten<\/strong>. I det f\u00f6rsta steget valde vi n\u00e5got som vi ska experimentera med. Experiment och s\u00f6kande efter b\u00e4ttre arbetsmetoder \u00e4r bra, men vi vill ocks\u00e5 g\u00f6ra funktioner. Om hela teamet ist\u00e4llet f\u00f6r funktioner sysslar med transformation kommer vi att b\u00f6rja f\u00f6rlora int\u00e4kter, buggar kommer att h\u00e4nga l\u00e4nge - det \u00e4r inget vi beh\u00f6ver. Att skapa ett tempor\u00e4rt team g\u00f6r det m\u00f6jligt att experimentera utan att stoppa arbetet med produkten.<\/p>\n<p><strong>Att spara tid p\u00e5 arbetsuppgifter<\/strong>. Det handlar \u00e5terigen om produkten. Det tar mycket tid f\u00f6r teamet att pr\u00f6va andra verktyg och liknande. Att f\u00e5 folk att beh\u00e4rska verktygen, b\u00f6rja implementera dem och anv\u00e4nda dem korrekt tar minst ett halv\u00e5r. Om de ocks\u00e5 ska h\u00e5lla p\u00e5 med produkten kommer det halv\u00e5ret att bli o\u00e4ndligt. Om folk sysslar med produkten, arbetar de \u00e5terigen med gamla processer \u2014 det beh\u00f6ver vi inte.<\/p>\n<p>D\u00e4rf\u00f6r avs\u00e4tter vi personer fr\u00e5n olika avdelningar till ett eget team som ska arbeta med transformeringen av tj\u00e4nsten. Resultatet blir att tj\u00e4nsten fungerar, forts\u00e4tter att utvecklas och samtidigt genomf\u00f6r vi n\u00e5gra experiment.<\/p>\n<blockquote><p>Det tempor\u00e4ra teamet sysslar bara med DevOps-transformeringen \u2014 att ta bort de begr\u00e4nsningar vi har uppt\u00e4ckt, och inget annat.<\/p><\/blockquote>\n<p>\n<strong>Teamet best\u00e5r av m\u00e5ngsidiga personer<\/strong>. Det betyder att vi har tagit inte bara utvecklare. Vi kom inte till tj\u00e4nsten och tog d\u00e4rifr\u00e5n halva teamet \u2014 nej, vi tog <strong>personer fr\u00e5n olika avdelningar<\/strong>. F\u00f6r n\u00e5gra punkter sedan fann vi olika avdelningar och olika anst\u00e4llda som har en relation till den tj\u00e4nst som transformeras. Fr\u00e5n dem bygger vi ett team, eftersom det m\u00e5ste vara m\u00e5ngsidigt \u2014 vi kommer att \u00e4ndra b\u00e5de testprocessen, utvecklingsprocessen och tj\u00e4nsteunderh\u00e5llsprocessen. Olika kompetenser beh\u00f6vs.<\/p>\n<p>Normalt sett tar vi i princip en utvecklare, en testare och en ingenj\u00f6r \u2014 varje av dem en, och tillsammans med dem hittar vi en l\u00f6sning som g\u00f6r det m\u00f6jligt att leva annorlunda.<\/p>\n<p><strong>Det \u00e4r \u00f6nskv\u00e4rt att dessa personer har auktoritet i organisationen<\/strong>. Kanske beh\u00f6vs en konservativ, \u00e4ven om vi helst vill undvika det. Om vi har ett stort f\u00f6retag kommer l\u00e5ngt ifr\u00e5n alla att tro p\u00e5 v\u00e5rt projekt, och n\u00e5gon kan st\u00e4lla till problem, till exempel genom att inte avs\u00e4tta en testmilj\u00f6. H\u00e4r beh\u00f6vs just \"auktoritet\" \u2014 en respekterad person med stor erfarenhet som har f\u00f6rtj\u00e4nat kollegers goda inst\u00e4llning. En anst\u00e4llds auktoritet i teamet kommer att f\u00f6renkla uppgiften och arbetet f\u00f6r det tempor\u00e4ra teamet. Folk kommer att t\u00e4nka:<\/p>\n<p><em> \u2014 Aha, den h\u00e4r coola killen som vi alla k\u00e4nner och \u00e4lskar har skrivit sig in \u2014 uppenbarligen finns det n\u00e5got i DevOps som \u00e4r v\u00e4rt att se n\u00e4rmare p\u00e5!<\/em><\/p>\n<h2>S\u00e4tter m\u00e5l<\/h2>\n<p>\nVi har samlat folk, valt en tj\u00e4nst, tittat p\u00e5 begr\u00e4nsningarna och definierat vilka m\u00e4nniskor vi p\u00e5verkar. Nu beh\u00f6ver vi s\u00e4tta ett m\u00e5l, och det m\u00e5ste vara helt <strong>enligt SMART<\/strong> \u2014 allt, precis som vi gillar.<\/p>\n<p><strong>Specific \u2014 specifik<\/strong>.<\/p>\n<p><strong>Measurable \u2014 m\u00e4tbar<\/strong>. Detta \u00e4r en mycket viktig punkt i SMART. Om du inte kan m\u00e4ta n\u00e5got, kan du inte f\u00f6r\u00e4ndra det eller f\u00f6rst\u00e5 vad du har gjort b\u00e4ttre eller s\u00e4mre.<\/p>\n<p><strong>Achievable \u2014 uppn\u00e5elig<\/strong>. Ta h\u00e4nsyn till din specifika situation. Om du \u00e4r ett storf\u00f6retag med l\u00e5ng historia och stora \u00e5taganden, som sl\u00e4pper en version av produkten per \u00e5r, kan du inte p\u00e5 sex m\u00e5nader n\u00e5 att sl\u00e4ppa nya versioner av produkten varje timme. S\u00e5 fungerar det inte. S\u00e4tt d\u00e4rf\u00f6r ett realistiskt m\u00e5l som \u00e4r uppn\u00e5eligt inom en rimlig tidsram.<\/p>\n<p><strong>Relevant \u2014 relevant. <\/strong>Vi eliminerar endast det begr\u00e4nsning som verkligen p\u00e5verkar v\u00e5ra nuvarande m\u00e5l.<\/p>\n<p><strong>Time Limited \u2014 tidsbegr\u00e4nsad<\/strong>. Utan deadlin \u00e4r teamet ben\u00e4get att syssla med vad som helst: prova 15 teknologier ist\u00e4llet f\u00f6r 3, skriva stora rapporter, genomf\u00f6ra meningsl\u00f6sa unders\u00f6kningar, polera sin implementation till perfektion n\u00e4r m\u00e5let redan har uppn\u00e5tts.<\/p>\n<p>M\u00e5let formulera vi med hj\u00e4lp av Value Stream Map \u2014 vi samlar \u00e5terigen alla personer och ritar. Men den h\u00e4r g\u00e5ngen, baserat p\u00e5 den tidigare Value Stream Map, ritar vi vad vi vill uppn\u00e5.<\/p>\n<p><img decoding=\"async\" alt=\"Hur man p\u00e5b\u00f6rjar en DevOps-transformation\" src=\"\/wp-content\/uploads\/2019\/05\/5deb75c71d7c2499f13b20f85c5559dd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVi identifierar en begr\u00e4nsning som vi ska eliminera just nu \u2014 det kommer teamet att syssla med. Till exempel har jag valt v\u00e4ntan fr\u00e5n f\u00e4rdig release till dess distribution i produktion \u2014 detta \u00e4r den vanligaste begr\u00e4nsningen som folk v\u00e4nder sig till konsulter med.<\/p>\n<p>Baserat p\u00e5 detta formulerar vi en uppgift: vi vill att v\u00e4ntan mellan f\u00e4rdig release och att g\u00e5 live ska vara max en timme.<\/p>\n<p>Exempel p\u00e5 uppgifter.<\/p>\n<ul>\n<li>Minska ledtiden f\u00f6r testning fr\u00e5n 4 dagar till 1 timme.<\/li>\n<li>Minska den v\u00e4rdefulla tiden f\u00f6r testning fr\u00e5n 2 dagar till 3 timmar.<\/li>\n<li>Minska ledtiden f\u00f6r distribution fr\u00e5n 5 timmar till 10 minuter.<\/li>\n<li>\u00d6ka C\/A fr\u00e5n 50% till 95%, det vill s\u00e4ga \u00f6ka antalet funktioner som accepteras av testarna, med andra ord, f\u00f6rb\u00e4ttra kvaliteten p\u00e5 utvecklarnas arbete.<\/li>\n<\/ul>\n<p>Exemplen p\u00e5 uppgifter \u00e4r inte tagna ur luften \u2014 de baseras p\u00e5 m\u00e4tningar vi gjorde n\u00e4r vi utvecklade Value Stream Map.<\/p>\n<p>Formulera en liknande uppgift till v\u00e5rt team och en begr\u00e4nsning i tid. Beroende p\u00e5 hur bra allt g\u00e5r i ditt f\u00f6retag, s\u00e4tter du olika tidsramar. I genomsnitt tar det, om m\u00e4nniskor sysslar med detta f\u00f6r f\u00f6rsta g\u00e5ngen och inte vet vilka teknologier de ska anv\u00e4nda och hur de specifikt kommer att l\u00f6sa problemet, vanligtvis ett halv\u00e5r.<\/p>\n<h3>Kortsiktigt planerande<\/h3>\n<p>\nS\u00e5, v\u00e5rt team \u00e4r bildat, det har ett m\u00e5l, m\u00e4nniskor b\u00f6rjar arbeta. En viktig punkt \u00e4r den korta planeringen av arbetet: <strong>sprintar som varar en eller tv\u00e5 veckor<\/strong>och, inte mer, <strong>m\u00e4tbara f\u00f6rb\u00e4ttringar<\/strong> varje vecka och <strong>kurskorrigering<\/strong>.<\/p>\n<p>Till exempel anv\u00e4nder vi ofta tillv\u00e4gag\u00e5ngss\u00e4ttet <strong>moving-moving<\/strong>, n\u00e4r hela teamet samlas i b\u00f6rjan av varje vecka, skisserar i en fil vad varje person ska g\u00f6ra. Efter en vecka noterar vi: vad som har gjorts och vad som inte har gjorts, om n\u00e5got inte har gjorts, varf\u00f6r, och t\u00e4nker p\u00e5 vad vi ska g\u00f6ra h\u00e4rn\u00e4st.<\/p>\n<blockquote><p>Sprintarna g\u00f6r att vi i tid kan justera v\u00e5r kurs.<\/p><\/blockquote>\n<p>\nVi har provat n\u00e5got i en eller tv\u00e5 veckor: teknologier, metoder, arbetsformer, efter det m\u00e4ter vi igen och ser \u2013 har det blivit b\u00e4ttre eller s\u00e4mre med detta tillv\u00e4gag\u00e5ngss\u00e4tt? Ifall det har blivit s\u00e4mre, s\u00e5 g\u00e5r vi inte i r\u00e4tt riktning, vi m\u00e5ste justera kursen: s\u00e4tta en annan uppgift, anv\u00e4nda en annan teknologi eller g\u00f6ra n\u00e5got annat. Korta sprintar p\u00e5 1-2 veckor g\u00f6r det m\u00f6jligt att man\u00f6vrera och snabbt bortse fr\u00e5n d\u00e5liga beslut.<\/p>\n<h3>Vi delar med oss av framg\u00e5ngar<\/h3>\n<p>\nTeamet uppn\u00e5r vissa framg\u00e5ngar, sm\u00e5 eller stora \u2013 det spelar ingen roll, det finns alltid n\u00e5got resultat. Alla b\u00f6r veta om denna framg\u00e5ng: b\u00e5de de som \u00e4r involverade i DevOps och de angr\u00e4nsande avdelningarna. I en ideal v\u00e4rld skulle det vara \u00f6nskv\u00e4rt att detta n\u00e5dde alla <strong>i f\u00f6retaget<\/strong>.<\/p>\n<p>Varf\u00f6r? Om vi vill att hela f\u00f6retaget ska transformeras, ta bort alla begr\u00e4nsningar s\u00e5 att f\u00f6retaget blir flexibelt, att koden snabbt n\u00e5r kunden och ingenting g\u00e5r s\u00f6nder, m\u00e5ste alla vara lojala till DevOps-id\u00e9n. Du kan inte till\u00e4mpa tillv\u00e4gag\u00e5ngss\u00e4ttet p\u00e5 tj\u00e4nster och team som \u00e4r kategoriskt emot.<\/p>\n<p>F\u00f6r att lojalitet ska uppst\u00e5, m\u00e5ste vi ber\u00e4tta f\u00f6r alla vad vi har provat \u2013 vi har ett resultat, prova g\u00e4rna ocks\u00e5! Det kommer \u00f6ka intresset och lojaliteten till vad vi g\u00f6r, m\u00e4nniskor kommer b\u00f6rja testa saker direkt. Som erfarenheten visar, n\u00e4r vi ber\u00e4ttar vad vi har provat och vad vi har uppn\u00e5tt, b\u00f6rjar andra team fr\u00e5ga hur och vad vi gjorde. De ser p\u00e5 genomf\u00f6randen, koden, dokumentationen, kommer med fr\u00e5gor och f\u00f6rs\u00f6ker f\u00f6r\u00e4ndra n\u00e5got i sina egna processer.<\/p>\n<blockquote><p>Att ber\u00e4tta om vad ni har lyckats \u00e5stadkomma \u2013 \u00e4r viktigt. P\u00e5 s\u00e5 s\u00e4tt \u00f6vertygar ni de konservativa att g\u00e5 \u00f6ver till er sida, de som ville g\u00f6ra allt p\u00e5 det gamla s\u00e4ttet och f\u00f6rvandlar dem till innovat\u00f6rer.<\/p><\/blockquote>\n<p><\/p>\n<h2>Sammanfattningsvis<\/h2>\n<p>\n<strong>Vi v\u00e4ljer tj\u00e4nsten<\/strong>, som utg\u00e5ngspunkt \u2013 den plats d\u00e4r vi b\u00f6rjar f\u00f6r\u00e4ndringar i f\u00f6retaget. <strong>Vi identifierar alla som har n\u00e5gon form av relation till tj\u00e4nsten<\/strong> och tillsammans med dem <strong>bygger vi en Value Stream Map<\/strong>, m\u00e4ter och ser var och vilka begr\u00e4nsningar som finns.<\/p>\n<p><strong>Vi skapar ett nytt tillf\u00e4lligt team<\/strong>, som ska l\u00f6sa den uppsatta uppgiften. Baserat p\u00e5 m\u00e4tningarna och Value Stream Map <strong>ritar vi en ny karta, d\u00e4r vi markerar den begr\u00e4nsning vi kommer att fokusera p\u00e5<\/strong>. Baserat p\u00e5 denna begr\u00e4nsning <strong>s\u00e4tter vi en uppgift<\/strong>, som teamet ska arbeta med. Uppgiften m\u00e5ste vara <strong>definitivt SMART<\/strong> \u2014 specifik, m\u00e4tbar, relevant f\u00f6r de aktuella uppgifterna och tidsbegr\u00e4nsad.<\/p>\n<p><strong>Vi upprepar processen<\/strong>, tills vi har transformerat alla v\u00e5ra tj\u00e4nster till det \u00f6nskade tillst\u00e5ndet och eliminerat alla begr\u00e4nsningar.<\/p>\n<h2>Bonus. Anv\u00e4ndbara material<\/h2>\n<p>\nF\u00f6r de som har best\u00e4mt sig f\u00f6r att b\u00f6rja med DevOps p\u00e5 egen hand.<\/p>\n<h4>Projektet \"Phoenix\"<\/h4>\n<p>\nDet ursprungliga namnet \u00e4r \"The Phoenix Project: A Novel about It, Devops, and Helping Your Business Win\". Det \u00e4r en roman om DevOps - en historia om hur en anst\u00e4lld blev chef f\u00f6r en avdelning som alltid var i brand. Den nya chefen fick en uppgift:<\/p>\n<p><i> \u2014 Du har n\u00e5gra \u00e5r p\u00e5 dig att r\u00e4tta till allt s\u00e5 att vi \u00e4ntligen kan leverera v\u00e5r produkt snabbt och effektivt till v\u00e5ra kunder.<\/i><\/p>\n<p>\"Projekt 'Phoenix'. En roman om hur DevOps f\u00f6r\u00e4ndrar livet till det b\u00e4ttre\" \u2014 en bok f\u00f6r alla ledare, eftersom det just \u00e4r dessa personer som fattar beslut om vad som h\u00e4nder i f\u00f6retaget. Om du \u00e4r ingenj\u00f6r eller programmerare och vill f\u00e5 fart p\u00e5 transformationen i ditt f\u00f6retag \u2014 k\u00f6p boken och ge den i present till ledningen. Denna roman f\u00f6rklarar allt och \u00e4r l\u00e4tt att l\u00e4sa.<\/p>\n<h4>Guide till DevOps<\/h4>\n<p>\nEn mer komplex bok. Den gavs ut f\u00f6r flera \u00e5r sedan p\u00e5 engelska under namnet \"The DevOps Handbook How to create world-class agility, reliability, and security in Technology organizations\", men finns nu \u00e4ven p\u00e5 ryska. Det \u00e4r en riktig <strong>handbok \u2014 en praktisk guide<\/strong>: hur man genomf\u00f6r m\u00e4tningar, vad en Value Stream Map \u00e4r och varf\u00f6r den beh\u00f6vs, vilken v\u00e4g man b\u00f6r ta och i vilken ordning. Boken \u00e4r just f\u00f6r dem som vill g\u00f6ra allt sj\u00e4lva. Det viktigaste \u00e4r att den inneh\u00e5ller exempel p\u00e5 erfarenheter fr\u00e5n andra f\u00f6retag.<\/p>\n<p>Till exempel beskriver det hur ett f\u00f6retag byggde en Value Stream Map och ins\u00e5g att begr\u00e4nsningen inte l\u00e5g i produkten, utan i att kassapersonalen gick fr\u00e5n butiken till det intilliggande kontoret f\u00f6r att anv\u00e4nda produkten. Ist\u00e4llet f\u00f6r att l\u00f6sa problemet med programmet k\u00f6pte de surfplattor till sina s\u00e4ljare, och nu g\u00e5r ingen n\u00e5gonstans, utan alla aktiviteter utf\u00f6rs p\u00e5 arbetsplatsen. Slutsats: Value Stream Map kan till\u00e4mpas inte bara p\u00e5 programvara, utan \u00e4ven p\u00e5 alla processer i organisationen.<\/p>\n<h4>Accelerera<\/h4>\n<p>\nHela titeln \u00e4r: \"Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations\". Detta \u00e4r n\u00e4sta niv\u00e5 - hardcore. Boken sl\u00e4pptes f\u00f6rra \u00e5ret, hittills bara p\u00e5 engelska och handlar om forskning. F\u00f6rfattarna - Nicole Forsgren, Jez Humble och Gene Kim - har under m\u00e5nga \u00e5r till\u00e4mpat olika metoder i olika f\u00f6retag och unders\u00f6kt vilka metoder som p\u00e5verkar och hur.<\/p>\n<p>I det andra kapitlet, som handlar om m\u00e4tningar, n\u00e4mns Value Stream Map, de metriker jag tidigare n\u00e4mnt och m\u00e5nga andra, samt en detaljerad beskrivning av m\u00e4tprocesserna. F\u00f6rfattarna genomf\u00f6r m\u00e4tningar med hj\u00e4lp av enk\u00e4ter och sj\u00e4lv\u00f6vervakning av uppgifter. Det f\u00f6rklaras noggrant vilka metriker som b\u00f6r m\u00e4tas, vilka som inte b\u00f6r g\u00f6ra det, samt m\u00e4nskliga fel i m\u00e4tningarna. Om du har problem med m\u00e4tningar, titta p\u00e5 det andra kapitlet i boken \"Accelerate\". Om ditt team har m\u00e5nga metoder men det \u00e4r oklart vilka metoder som ska till\u00e4mpas nu, vilka senare, vilka som verkligen fungerar och vilka som inte g\u00f6r det - l\u00e4s, boken f\u00f6rklarar allt.<\/p>\n<blockquote><p>Transformation \u00e4r en fr\u00e5ga i sk\u00e4rningspunkten mellan DevOps och ledning. N\u00e5gonstans i samma omr\u00e5de av korsningen mellan utveckling, drift och testning finns \u00e4mnen som vi f\u00f6rs\u00f6ker diskutera p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf<\/a><\/noindex>, samma integration beh\u00f6vs f\u00f6r att skapa en kvalitetsprodukt \u2013 huvudtemat f\u00f6r <noindex><a rel=\"nofollow\" href=\"http:\/\/qualityconf.ru\/2019\">QualityConf<\/a><\/noindex>. Ledning p\u00e5 festivalen <noindex><a rel=\"nofollow\" href=\"https:\/\/ritfest.ru\/2019\">RIT++<\/a><\/noindex> presenteras <noindex><a rel=\"nofollow\" href=\"https:\/\/whalerider.ru\/moscow-rit\/2019\">Whale Rider<\/a><\/noindex> \u2013 inneb\u00e4r att alla id\u00e9er f\u00f6r transformation finns d\u00e4r. G\u00e5 med 27 och 28 maj, vi ska integrera och transformera.<\/p><\/blockquote>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/448490\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps, \u0442\u043e \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430. DevOps \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u043a\u0442\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442 \u0441\u0442\u0440\u0430\u0445\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0431\u043e\u0435\u0432 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u041f\u041e. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043e\u043d\u0438 \u0436\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0445\u043e\u0434\u0430 \u043d\u0430 \u0440\u044b\u043d\u043e\u043a \u2014 \u043f\u0435\u0440\u0438\u043e\u0434 \u043e\u0442 \u0438\u0434\u0435\u0438 \u0434\u043e \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0434\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441-\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b. \u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c DevOps \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e? [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25773,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34157","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps, \u0442\u043e \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430. DevOps \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u043a\u0442\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442 \u0441\u0442\u0440\u0430\u0445\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0431\u043e\u0435\u0432 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u041f\u041e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c DevOps \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps, \u0442\u043e \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430. DevOps \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u043a\u0442\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442 \u0441\u0442\u0440\u0430\u0445\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0431\u043e\u0435\u0432 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u041f\u041e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:56:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:56:43+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Hur man p\u00e5b\u00f6rjar DevOps-transformation | ProHoster","description":"Om du inte f\u00f6rst\u00e5r vad DevOps \u00e4r, h\u00e4r \u00e4r en kort sammanfattning. DevOps \u00e4r en upps\u00e4ttning metoder som minskar ingenj\u00f6rers r\u00e4dslor och minskar antalet st\u00f6rningar i mjukvaruproduktionen.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c DevOps \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e | ProHoster","og:description":"\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps, \u0442\u043e \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430. DevOps \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0430\u043a\u0442\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043c\u0435\u043d\u044c\u0448\u0430\u044e\u0442 \u0441\u0442\u0440\u0430\u0445\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0438 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u044e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0431\u043e\u0435\u0432 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u041f\u041e.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kak-nachat-devops-transformatsiyu","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:56:43+00:00","article:modified_time":"2019-10-31T18:56:43+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34157","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 18:08:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:27:29","updated":"2026-01-21 18:08:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/34157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=34157"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/34157\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/25773"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=34157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=34157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=34157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}