De sju arketyperna av DevOps-transformation

FrÄgan "hur man implementerar devops" har funnits i flera Är, men det finns inte mÄnga bra material. Ibland blir man offer för annonser frÄn inte sÄ smarta konsulter som behöver sÀlja sin tid, oavsett hur. Ibland Àr det vaga, extremt allmÀnna ord om hur megaföretagens skepp plöjer universums vidder. FrÄgan uppstÄr: vad betyder detta för oss? KÀra författare, kan du tydligt formulera dina idéer i en lista?

Allt detta hÀrrör frÄn det faktum att inte mycket verklig praxis och förstÄelse för resultatet av omvandlingar av företagets kultur har ackumulerats. FörÀndringar i kulturen Àr lÄngsiktiga saker, vars resultat inte kommer att visas pÄ en vecka eller en mÄnad. Vi behöver nÄgon gammal nog att ha sett hur företag har byggts och misslyckats genom Ären.

De sju arketyperna av DevOps-transformation

John Willis - en av fÀderna till DevOps. John har decennier av erfarenhet av att arbeta med ett stort antal företag. Nyligen började John lÀgga mÀrke till specifika mönster som uppstÄr nÀr man arbetar med var och en av dem. Med hjÀlp av dessa arketyper vÀgleder John företag pÄ den sanna vÀgen för DevOps-transformation. LÀs mer om dessa arketyper i översÀttningen av hans rapport frÄn DevOops 2018-konferensen.

Om talaren:

Mer Àn 35 Är inom IT-ledning, deltog i skapandet av föregÄngaren till OpenCloud pÄ Canonical, deltog i 10 startups, varav tvÄ sÄldes till Dell och Docker. För nÀrvarande Àr han Vice President för DevOps och Digital Practices pÄ SJ Technologies.

NÀsta Àr historien frÄn Johns synvinkel.

Jag heter John Willis och det enklaste stÀllet att hitta mig Àr pÄ Twitter, @botchagalupe. Jag har samma alias pÄ Gmail och GitHub. A genom den hÀr lÀnken du kan hitta videoinspelningar av mina rapporter och presentationer för dem.

Jag har mÄnga möten med CIO:er pÄ olika stora företag. De klagar vÀldigt ofta över att de inte förstÄr vad DevOps Àr, och alla som försöker förklara det för dem pratar om nÄgot annat. Ett annat vanligt klagomÄl Àr att DevOps inte fungerar, Àven om det verkar som att regissörerna gör allt som förklarat för dem. Vi pratar om stora företag som Àr mer Àn hundra Är gamla. Efter att ha pratat med dem kom jag fram till att för mÄnga problem Àr det inte högteknologi som lÀmpar sig bÀst, utan snarare relativt lÄgteknologiska lösningar. I veckor har jag bara pratat med folk frÄn olika avdelningar. Det ni ser pÄ den allra första bilden i inlÀgget Àr mitt sista projekt, sÄ hÀr sÄg rummet ut efter tre dagars jobb.

Vad Àr DevOps?

Faktum Àr att om du frÄgar 10 olika personer kommer de att ge 10 olika svar. Men hÀr Àr det intressanta: alla tio av dessa svar kommer att vara korrekta. Det finns inget fel svar hÀr. Jag var ganska djupt in i DevOps, i ungefÀr 10 Är, och var den första amerikanen pÄ den första DevOpsDay. Jag kommer inte sÀga att jag Àr smartare Àn alla inblandade i DevOps, men det finns knappast nÄgon som har lagt ner sÄ mycket anstrÀngning pÄ det. Jag tror att DevOps uppstÄr nÀr humankapital och teknologi möts. Vi glömmer ofta bort den mÀnskliga dimensionen, Àven om vi pratar mycket om alla sorters kulturer.

De sju arketyperna av DevOps-transformation

Nu har vi mycket data, fem Ärs akademisk forskning, testning av teorier i industriell skala. Vad dessa studier sÀger oss Àr att om du kombinerar vissa beteendemönster i en organisationskultur kan du uppnÄ en 2000 5000 gÄnger snabbare hastighet. Denna acceleration matchas av en lika förbÀttring av stabiliteten. Detta Àr ett kvantitativt mÄtt pÄ fördelen som DevOps kan ge alla företag. För ett par Är sedan pratade jag om DevOps till VD:n för ett Fortune 5-företag. NÀr jag förberedde presentationen var jag vÀldigt nervös eftersom jag var tvungen att sammanfatta mina Är av erfarenhet pÄ XNUMX minuter.

Till slut gav jag följande Definition av DevOps: Det Àr en uppsÀttning metoder och mönster som möjliggör omvandling av humankapital till högpresterande organisatoriskt kapital. Ett exempel Àr hur Toyota har fungerat de senaste 50 eller 60 Ären.

De sju arketyperna av DevOps-transformation

(Nedan tillhandahÄlls sÄdana diagram inte som referensmaterial, utan som illustrationer. Deras innehÄll kommer att skilja sig Ät för varje nytt företag. Bilden kan dock ses separat och förstoras pÄ denna lÀnk.)

En av de mest framgÄngsrika sÄdana metoderna Àr vÀrdeflödesanalys. Det har skrivits flera bra böcker om detta, de mest framgÄngsrika Àr av Karen Martin. Men under det senaste Äret har jag kommit fram till att Àven detta tillvÀgagÄngssÀtt Àr för högteknologiskt. Det har sÀkert mÄnga fördelar och jag har anvÀnt det mycket. Men nÀr VD:n frÄgar dig varför hans företag inte kan byta till nya rÀls Àr det för tidigt att prata om vÀrdeströmskartlÀggning. Det finns mÄnga mycket mer grundlÀggande frÄgor som först mÄste besvaras.

Jag tror att misstaget mĂ„nga av mina kollegor gör Ă€r att de helt enkelt ger företaget en fempunktsguide och sedan kommer tillbaka ett halvĂ„r senare och se vad som hĂ€nde. Även ett bra system som vĂ€rdeströmskartlĂ€ggning har, lĂ„t oss sĂ€ga, blinda flĂ€ckar. Efter hundratals intervjuer med direktörer i olika företag har jag utvecklat ett visst mönster som gör att vi kan bryta ner problemet i dess komponenter, och nu ska vi diskutera var och en av dessa komponenter i ordning. Innan jag applicerar nĂ„gra tekniska lösningar anvĂ€nder jag det hĂ€r mönstret, och som ett resultat Ă€r alla mina vĂ€ggar tĂ€ckta med diagram. Nyligen arbetade jag med en vĂ€rdepappersfond och jag slutade med 100-150 sĂ„dana system.

DÄlig kultur Àter bra tillvÀgagÄngssÀtt till frukost

Huvudtanken Àr denna: ingen mÀngd Lean, Agile, SAFE och DevOps kommer att hjÀlpa om organisationens kultur i sig Àr dÄlig. Det Àr som att dyka till djup utan dykutrustning eller arbeta utan röntgen. Med andra ord, för att parafrasera Drucker och Deming: en dÄlig organisationskultur kommer att svÀlja upp alla bra system utan att kvÀvas av det.

För att lösa detta huvudproblem mÄste du ta följande steg:

  1. Gör allt arbete synligt: du mÄste göra allt arbete synligt. Inte i den meningen att det nödvÀndigtvis mÄste visas pÄ nÄgon skÀrm, utan i den meningen att det mÄste vara observerbart.
  2. Konsoliderade arbetsledningssystem: ledningssystem mÄste konsolideras. I problemet med "stamkunskaper" och institutionell kunskap Àr flaskhalsen i 9 fall av 10 mÀnniskor. I boken "Phoenix Project" problemet var med en enda person, Brent, som gjorde att projektet lÄg tre Är efter schemat. Och jag stöter pÄ dessa "Brents" överallt. För att lösa dessa flaskhalsar anvÀnder jag de följande tvÄ punkterna pÄ vÄr lista.
  3. Theory of Constraints Metodologi: Teorin om begrÀnsningar.
  4. Samarbetshack: samarbetshack.
  5. Toyota Kata (Coaching Kata): Jag ska inte prata mycket om Toyota Kata. Om du Àr intresserad, pÄ min github det finns presentationer om nÀstan alla dessa Àmnen.
  6. Marknadsorienterad organisation: marknadsorienterad organisation.
  7. VĂ€nsterskifte revisorer: revision i tidiga skeden av cykeln.

De sju arketyperna av DevOps-transformation

Jag börjar jobba med en organisation vÀldigt enkelt: jag gÄr till företaget och pratar med de anstÀllda. Som du kan se, ingen högteknologi. Allt du behöver Àr nÄgot att skriva pÄ. Jag samlar flera team i ett rum och analyserar vad de berÀttar för mig utifrÄn mina 7 arketyper. Och sÄ ger jag dem sjÀlva en markör och ber dem skriva ner pÄ tavlan allt som de har sagt högt hittills. Vanligtvis i den hÀr typen av möten Àr det en person som skriver ner allt, och i bÀsta fall kan han skriva ner 10% av diskussionen. Med min metod kan denna siffra höjas till ca 40%.

De sju arketyperna av DevOps-transformation

(Denna illustration kan ses separat se lÀnk)

Mitt tillvÀgagÄngssÀtt Àr baserat pÄ William Schneiders arbete. Reengineering Alternativet). TillvÀgagÄngssÀttet bygger pÄ tanken att vilken organisation som helst kan delas in i fyra rutor. Detta schema för mig Àr vanligtvis resultatet av att arbeta med de hundratals andra scheman som uppstÄr nÀr man analyserar en organisation. Anta att vi har en organisation med hög kontroll, men med lÄg kompetens. Det hÀr Àr ett extremt oönskat alternativ: nÀr alla gÄr pÄ grÀnsen, men ingen vet vad de ska göra.

Ett nÄgot bÀttre alternativ Àr ett med hög nivÄ av bÄde kontroll och kompetens. Om ett sÄdant företag Àr lönsamt behöver det kanske inte DevOps. Det Àr mest intressant att arbeta med ett företag som har hög kontroll, lÄg kompetens och samarbete men samtidigt hög kultur (odling). Det gör att företaget har mÄnga som gillar att jobba dÀr och arbetsomsÀttningen Àr lÄg.

De sju arketyperna av DevOps-transformation

(Denna illustration kan ses separat se lÀnk)

Det verkar för mig att metoder med stela riktlinjer hamnar i vÀgen för att uppnÄ sanningen. SÀrskilt inom vÀrdeströmskartlÀggning finns det mÄnga regler för hur information ska struktureras. I de tidiga stadierna av arbetet, som jag pratar om nu, behöver ingen dessa regler. Om en person med en markör i hÀnderna beskriver den verkliga situationen i företaget i styrelsen, Àr detta det bÀsta sÀttet att förstÄ lÀget. SÄdan information nÄr inte direktörerna. I det hÀr ögonblicket Àr det dumt att avbryta personen och sÀga att han ritade nÄgon typ av pil felaktigt. I detta skede Àr det bÀttre att anvÀnda enkla regler, till exempel: abstraktion pÄ flera nivÄer kan skapas helt enkelt genom att anvÀnda flerfÀrgade markörer.

Jag upprepar, ingen högteknologi. Den svarta markören skildrar den objektiva verkligheten av hur allting fungerar. Med en röd markör markerar mÀnniskor vad de inte gillar med det aktuella lÀget. Det Àr viktigt att de skriver detta, inte jag. NÀr jag gÄr till CIO efter ett möte erbjuder jag inte en lista pÄ 10 saker som mÄste fixas. Jag strÀvar efter att hitta kopplingar mellan vad mÀnniskor i företaget sÀger och befintliga beprövade mönster. Slutligen föreslÄr en blÄ markör möjliga lösningar pÄ problemet.

De sju arketyperna av DevOps-transformation

(Denna illustration kan ses separat se lÀnk)

Ett exempel pÄ detta tillvÀgagÄngssÀtt visas nu ovan. I början av detta Är arbetade jag med en bank. SÀkerhetsfolket dÀr var övertygade om att de inte borde komma till design- och kravgenomgÄngar.

De sju arketyperna av DevOps-transformation

(Denna illustration kan ses separat se lÀnk)

Och sedan pratade vi med folk frĂ„n andra avdelningar och det visade sig att för cirka 8 Ă„r sedan sparkade mjukvaruutvecklare sĂ€kerhetsarbetare för att de saktade ner arbetet. Och sĂ„ blev det ett förbud, vilket togs för givet. Även om det i verkligheten inte fanns nĂ„got förbud.

VÄrt möte fortgick pÄ ett extremt förvirrande sÀtt: under cirka tre timmar kunde fem olika team inte förklara för mig vad som hÀnde mellan koden och sammansÀttningen. Och detta verkar vara det enklaste. De flesta DevOps-konsulter antar pÄ förhand att alla redan vet detta.

DÄ vaknade plötsligt den IT-ansvarige, som varit tyst i fyra timmar, till liv nÀr vi kom till hans Àmne och sysselsatte oss vÀldigt lÀnge. I slutet frÄgade jag honom vad han tyckte om mötet, och jag kommer aldrig att glömma hans svar. Han sa: "Jag trodde att vÄr bank bara hade tvÄ sÀtt att leverera mjukvara, men nu vet jag att det finns fem av dem, och jag visste inte ens om tre."

De sju arketyperna av DevOps-transformation

(Denna illustration kan ses separat se lÀnk)

Det sista mötet pÄ den hÀr banken var med teamet för investeringsprogramvara. Det var hos henne som det visade sig att det Àr bÀttre att skriva diagram med en markör pÄ ett pappersark Àn pÄ en tavla, och till och med bÀttre Àn pÄ en smartboard.

De sju arketyperna av DevOps-transformation

Bilderna du ser Àr hur hotellets konferensrum sÄg ut den fjÀrde dagen av vÄrt möte. Och vi anvÀnde dessa scheman för att söka efter mönster, det vill sÀga arketyper.

SÄ jag stÀller frÄgor till arbetarna, de skriver ner svaren med markörer i tre fÀrger (svart, röd och blÄ). Jag analyserar deras svar för arketyper. LÄt oss nu diskutera alla arketyperna i ordning.

1. Gör allt arbete synligt: ​​Gör arbetet synligt

De flesta företag jag jobbar med har en mycket hög andel okÀnt arbete. Det Àr till exempel nÀr en anstÀlld kommer till en annan och bara ber om att fÄ göra nÄgot. I stora organisationer kan det förekomma 60 % oplanerat arbete. Och upp till 40 % av arbetet Àr inte dokumenterat pÄ nÄgot sÀtt. Om det var Boeing skulle jag aldrig gÄ ombord pÄ deras plan igen i mitt liv. Om endast hÀlften av arbetet Àr dokumenterat Àr det inte kÀnt om detta arbete utförs korrekt eller inte. Alla andra metoder visar sig vara vÀrdelösa - det Àr ingen idé att försöka automatisera nÄgonting, eftersom de kÀnda 50% kan vara den mest sammanhÀngande och tydliga delen av arbetet, vars automatisering inte kommer att ge bra resultat, och allt det vÀrsta saker Àr i den osynliga halvan. I avsaknad av dokumentation Àr det omöjligt att hitta alla typer av hacks och dolt arbete, inte att hitta flaskhalsar, just de dÀr "Brents" som jag redan pratat om. Det finns en underbar bok av Dominica DeGrandis "Göra arbetet synligt". Hon avslöjar fem olika "tidslÀckor" (tidstjuvar):

  • För mycket arbete pĂ„gĂ„r (WIP)
  • OkĂ€nda beroenden
  • Oplanerat arbete
  • Motstridiga prioriteringar
  • Försummat arbete

Detta Àr en mycket vÀrdefull analys och boken Àr fantastisk, men alla dessa rÄd Àr vÀrdelösa om bara 50 % av data Àr synliga. De metoder som Dominica föreslagit kan anvÀndas om en noggrannhet pÄ över 90 % uppnÄs. Jag pratar om situationer dÀr en chef ger en underordnad en 15-minutersuppgift, men det tar honom tre dagar; men chefen vet inte riktigt att denna underordnade Àr beroende av fyra eller fem andra personer.

De sju arketyperna av DevOps-transformation

The Phoenix Project Àr en underbar berÀttelse om ett projekt som var tre Är för sent. En av karaktÀrerna möter uppsÀgning pÄ grund av detta, och han möter en annan karaktÀr som framstÀlls som en sorts Sokrates. Han hjÀlper till att ta reda pÄ vad som gick fel. Det visar sig att företaget har en systemadministratör, som heter Brent, och allt arbete gÄr pÄ nÄgot sÀtt genom honom. PÄ ett av mötena fÄr en av de underordnade frÄgan: varför tar varje halvtimmesuppgift en vecka? Svaret Àr en mycket förenklad presentation av köteori och Littles lag och i denna presentation visar det sig att vid 90 % belÀggning tar varje arbetstimme 9 timmar. Varje uppgift mÄste skickas till sju andra personer, sÄ den timmen blir 63 timmar, 7 gÄnger 9. Vad jag sÀger Àr att för att kunna anvÀnda Little's Law eller nÄgon komplex köteori mÄste du Ätminstone ha data.

SÄ nÀr jag pratar om synlighet menar jag inte att allt Àr pÄ skÀrmen utan att man Ätminstone har data. NÀr de gör det visar det sig ofta att det Àr vÀldigt mycket oplanerat arbete som pÄ nÄgot sÀtt skickas till Brent nÀr det inte behövs. Och Brent Àr en fantastisk kille, han kommer aldrig att sÀga nej, men han berÀttar inte för nÄgon hur han gör sitt jobb.

De sju arketyperna av DevOps-transformation

NÀr verket Àr synligt kan data prydligt klassificeras (det Àr vad Dominika gör pÄ bilden), abstraktionen av de fem tidslÀckorna kan tillÀmpas och automatisering kan tillÀmpas.

2. Konsolidera arbetsledningssystem: Task Management

De arketyper jag pratar om Àr en sorts pyramid. Om den första görs korrekt Àr den andra redan ett slags tillÀgg. MÄnga av dessa fungerar inte för startups, de mÄste hÄllas i Ätanke för större företag som Fortune 5000. Det senaste företaget jag arbetade för hade 10 biljettsystem. Ett team hade Remedy, ett annat skrev nÄgot slags eget system, ett tredje anvÀnde Jira och nÄgra klarade sig med e-post. Samma problem uppstÄr om företaget har 30 olika pipelines, men jag har inte tid att diskutera alla sÄdana fall.

Jag diskuterar med mÀnniskor exakt hur biljetter skapas, vad som hÀnder med dem hÀrnÀst och hur de kringgÄs. Det mest intressanta Àr att mÀnniskor pÄ vÄra möten talar ganska uppriktigt. Jag frÄgade hur mÄnga som sÀtter "minor / no impact" pÄ biljetter som egentligen borde ges "stor pÄverkan". Det visade sig att nÀstan alla gör detta. Jag Àgnar mig inte Ät fördömande och försöker pÄ alla möjliga sÀtt att inte identifiera personer. NÀr de uppriktigt erkÀnner nÄgot för mig, ger jag inte bort personen. Men nÀr nÀstan alla gÄr förbi systemet betyder det att all sÀkerhet i huvudsak Àr fönsterputsning. DÀrför kan inga slutsatser dras frÄn data frÄn detta system.

För att lösa biljettproblemet mÄste du vÀlja ett huvudsystem. Om du anvÀnder Jira, behÄll det Jira. Om det finns nÄgot alternativ, lÄt det vara det enda. Summan av kardemumman Àr att biljetter ska ses som ytterligare ett steg i utvecklingsprocessen. Varje ÄtgÀrd mÄste ha en biljett, som mÄste flyta genom utvecklingsarbetsflödet. Biljetter skickas till teamet som lÀgger upp dem pÄ storyboarden och sedan tar ansvar för dem.

Detta gÀller alla avdelningar, inklusive infrastruktur och verksamhet. I det hÀr fallet Àr det möjligt att bilda sig Ätminstone en rimlig uppfattning om tillstÄndet. NÀr denna process vÀl Àr etablerad blir det plötsligt lÀtt att identifiera vem som Àr ansvarig för varje ansökan. För nu fÄr vi inte 50 %, utan 98 % av nya tjÀnster. Om denna kÀrnprocess fungerar, förbÀttras noggrannheten i hela systemet.

TjÀnster pipeline

Detta gÀller Äterigen bara stora företag. Om du Àr ett nytt företag inom ett nytt omrÄde, kavla upp Àrmarna och arbeta med din Travis CI eller CircleCI. NÀr det gÀller Fortune 5000-företag, ett exempel som hÀnde pÄ banken dÀr jag arbetade. Google kom till dem och de visades diagram över gamla IBM-system. Killarna frÄn Google frÄgade förvirrat - var finns kÀllkoden för detta? Men det finns ingen kÀllkod, inte ens ett GUI. Detta Àr verkligheten som stora organisationer mÄste hantera: 40-Äriga bankregister pÄ en urÄldrig stordator. En av mina kunder anvÀnder Kubernetes-behÄllare med Circuit Breaker-mönster, plus Chaos Monkey, allt för KeyBank-applikationen. Men dessa behÄllare ansluter i slutÀndan till en COBOL-applikation.

Killarna frÄn Google var helt övertygade om att de skulle lösa alla min klients problem, och sedan började de stÀlla frÄgor: vad Àr IBM datapipe? De fÄr höra: det hÀr Àr en kontakt. Vad ansluter den till? Till Sperry-systemet. Och vad Àr det? Och sÄ vidare. Vid första anblicken verkar det: vilken typ av DevOps kan det finnas? Men i sjÀlva verket Àr det möjligt. Det finns leveranssystem som lÄter dig lÀmna över arbetsflödet till leveransteamen.

3. Theory of Constraints: Theory of Constraints

LĂ„t oss gĂ„ vidare till den tredje arketypen: institutionell/”stam” kunskap. Som regel finns det i vilken organisation som helst flera personer som vet allt och hanterar allt. Det Ă€r de som har varit i organisationen lĂ€ngst och som kan alla lösningar.

De sju arketyperna av DevOps-transformation

NÀr detta kommer upp pÄ diagrammet ringar jag specifikt in sÄdana personer med en markör: till exempel visar det sig att en viss Lou Àr nÀrvarande vid alla möten. Och det Àr klart för mig: det hÀr Àr lokala Brent. NÀr CIO vÀljer mellan mig i T-shirt och sneakers och killen frÄn IBM i kostym blir jag utvald för att jag kan berÀtta saker för regissören som den andra killen inte kommer att berÀtta och som regissören kanske inte gillar att höra . Jag berÀttar att flaskhalsen i deras företag Àr nÄgon som heter Fred och nÄgon som heter Lou. Den hÀr flaskhalsen mÄste lösas, deras kunskap mÄste hÀmtas frÄn dem pÄ ett eller annat sÀtt.

För att lösa den hÀr typen av problem kan jag till exempel tipsa om att anvÀnda Slack. En smart regissör kommer att frÄga - varför? Vanligtvis, i sÄdana fall, svarar DevOps-konsulter: eftersom alla gör det. Om regissören Àr riktigt smart kommer han att sÀga: sÄ vad. Och det Àr hÀr dialogen slutar. Och mitt svar pÄ detta Àr: eftersom det finns fyra flaskhalsar i företaget, Fred, Lou, Susie och Jane. För att institutionalisera sin kunskap mÄste man först introducera Slack. Alla dina wikis Àr fullstÀndigt nonsens eftersom ingen vet om deras existens. Om ingenjörsteamet Àr involverat i front-end- och back-end-utveckling och alla behöver veta att de kan kontakta front-end-utvecklingsteamet eller infrastrukturteamet med frÄgor. Det Àr dÄ Lou eller Fred förmodligen kommer att hinna gÄ med i wikin. Och sedan i Slack kanske nÄgon frÄgar varför, till exempel, steg 5 inte fungerar. Och dÄ kommer Lou eller Fred att korrigera instruktionerna pÄ wikin. Om du etablerar denna process kommer mÄnga saker att falla pÄ plats av sig sjÀlva.

Det hÀr Àr min huvudsakliga poÀng: för att rekommendera nÄgon högteknologi mÄste du först sÀtta grunden för dem i ordning, och detta kan göras med de lÄgteknologiska lösningarna som just beskrivits. Om du börjar med högteknologier och inte förklarar varför de behövs, sÄ slutar detta som regel inte bra. En av vÄra kunder anvÀnder Azure ML, en mycket billig och enkel lösning. Cirka 30 % av deras frÄgor besvarades av den sjÀlvlÀrande maskinen. Och den hÀr saken skrevs av operatörer som inte var inblandade i datavetenskap, statistik eller matematik. Detta Àr betydelsefullt. Kostnaden för en sÄdan lösning Àr minimal.

4. Samarbetshack: Samarbetshack

Den fjÀrde arketypen Àr behovet av att bekÀmpa isolering. De flesta vet redan detta: isolering föder fientlighet. Om varje avdelning Àr pÄ sin egen vÄning, och mÀnniskor inte korsar varandra pÄ nÄgot sÀtt, förutom i hissen, uppstÄr fientlighet mellan dem mycket lÀtt. Men om mÀnniskor tvÀrtom befinner sig i samma rum med varandra gÄr hon genast ivÀg. NÀr nÄgon slÀnger ur sig nÄgon allmÀn anklagelse, till exempel fungerar ett sÄdant och ett sÄdant grÀnssnitt aldrig, det finns inget lÀttare att dekonstruera en sÄdan anklagelse. Programmerarna som skrev grÀnssnittet behöver bara börja stÀlla specifika frÄgor, och det kommer snart att stÄ klart att till exempel anvÀndaren helt enkelt anvÀnde verktyget felaktigt.

Det finns mÄnga sÀtt att övervinna isolering. Jag blev en gÄng ombedd att konsultera för en bank i Australien, men jag vÀgrade att göra det eftersom jag har tvÄ barn och en fru. Allt jag kunde göra för att hjÀlpa dem var att rekommendera grafiskt berÀttande. Detta Àr nÄgot som bevisligen fungerar. Ett annat intressant sÀtt Àr magra kaffemöten. I en stor organisation Àr detta ett utmÀrkt alternativ för att sprida kunskap. Dessutom kan du genomföra interna devopsdays, hackathons och sÄ vidare.

5. Coaching Kata

Som jag varnade i början, kommer jag inte att prata om detta idag. Om du Àr intresserad kan du ta en titt nÄgra av mina presentationer.

Det finns ocksÄ ett bra föredrag om detta Àmne frÄn Mike Rother:

6. Marknadsorienterad: marknadsorienterad organisation

Det finns olika problem hÀr. Till exempel "I"-personer, "T"-personer och "E"-personer. "Jag" mÀnniskor Àr de som bara gör en sak. Vanligtvis finns de i organisationer med isolerade avdelningar. "T" Àr nÀr en person Àr bra pÄ en sak men ocksÄ bra pÄ vissa andra saker. "E" eller till och med "kam" Àr nÀr en person har mÄnga fÀrdigheter.

De sju arketyperna av DevOps-transformation

Conways lag fungerar hÀr (Conways lag), vilket i den mest förenklade formen kan uttryckas enligt följande: om tre team arbetar pÄ kompilatorn, sÄ blir resultatet en kompilator av tre delar. DÀrför, om det finns en hög nivÄ av isolering inom en organisation, sÄ kommer Àven Kubernetes, Circuit breaker, API-utvidgning och andra tjusiga saker i denna organisation att ordnas pÄ samma sÀtt som organisationen sjÀlv. Strikt enligt Conway och trots alla er unga nördar.

Lösningen pÄ detta problem har beskrivits mÄnga gÄnger. Det finns till exempel organisatoriska arketyper beskrivna av Fernando Fernandez. Den dÀr problematiska arkitekturen som jag just pratade om, med isolering, Àr en funktionsorienterad arkitektur. Den andra typen Àr den vÀrsta, matrisarkitektur, en röra av de andra tvÄ. Den tredje Àr vad man ser i de flesta startups, och stora företag försöker ocksÄ matcha denna typ. Det Àr en marknadsorienterad organisation. HÀr optimerar vi för att uppnÄ snabbast svar pÄ kundförfrÄgningar. Detta kallas ibland för en platt organisation.

MĂ„nga beskriver den hĂ€r strukturen pĂ„ olika sĂ€tt, jag gillar formuleringen bygga/köra lag, pĂ„ Amazon kallar de det tvĂ„ pizzalag. I den hĂ€r strukturen Ă€r alla typ "I"-personer grupperade runt en tjĂ€nst, och gradvis kommer de nĂ€rmare typ "T", och om rĂ€tt ledning finns pĂ„ plats kan de till och med bli "E". Det första motargumentet hĂ€r Ă€r att en sĂ„dan struktur innehĂ„ller onödiga element. Varför behöver man en testare pĂ„ varje avdelning om man kan ha en speciell avdelning med testare? Till vilket jag svarar: extrakostnaderna i det hĂ€r fallet Ă€r priset för att hela organisationen ska bli typ “E” i framtiden. I denna struktur lĂ€r sig testaren gradvis om nĂ€tverk, arkitektur, design etc. Som ett resultat Ă€r varje deltagare i organisationen fullt medveten om allt som hĂ€nder i organisationen. Om du vill veta hur detta system fungerar i industrin, lĂ€s Mike Rother, Toyota Kata.

7. VĂ€nsterskifte-revisorer: revision tidigt i cykeln. ÖverensstĂ€mmelse med sĂ€kerhetsregler pĂ„ displayen

Det Àr nÀr dina handlingar inte klarar lukttestet sÄ att sÀga. De som arbetar för dig Àr inte dumma. Om de, som i exemplet ovan, satte mindre/ingen pÄverkan överallt, detta varade i tre Är, och ingen mÀrkte nÄgot, dÄ vet alla mycket vÀl att systemet inte fungerar. Eller ett annat exempel - en förÀndringsrÄdgivning, dÀr rapporter mÄste lÀmnas in varje, till exempel, onsdag. Det Àr en grupp mÀnniskor som arbetar dÀr (förresten inte sÀrskilt vÀlbetalda) som i teorin borde veta hur systemet som helhet fungerar. Och under de senaste fem Ären har du sÀkert mÀrkt att vÄra system Àr otroligt komplexa. Och fem eller sex personer mÄste fatta ett beslut om en förÀndring som de inte har gjort och som de inte vet nÄgot om.

Naturligtvis fungerar inte detta tillvÀgagÄngssÀtt. Jag mÄste bli av med sÄdana saker eftersom dessa mÀnniskor inte skyddar systemet. Beslutet mÄste fattas av laget sjÀlvt, eftersom laget mÄste ansvara för det. Annars uppstÄr en paradoxal situation nÀr en chef som aldrig skrivit kod i sitt liv berÀttar för programmeraren hur lÄng tid det ska ta att skriva kod. Ett företag jag arbetade med hade 7 olika styrelser som granskade varje förÀndring, inklusive en arkitekturtavla, en produkttavla, etc. Det fanns till och med en obligatorisk vÀntetid, Àven om en anstÀlld berÀttade för mig att under tio Ärs arbete hade ingen nÄgonsin förkastat en förÀndring som denna person gjorde under denna obligatoriska period.

Revisorer mÄste bjudas in till oss och inte bli av med dem. BerÀtta för dem att du skriver oförÀnderliga binÀra behÄllare som, om de klarar alla tester, förblir oförÀnderliga för alltid. BerÀtta för dem att du har en pipeline som kod och förklara vad det betyder. Visa dem följande schema: en oförÀnderlig skrivskyddad binÀr i en behÄllare som klarar alla sÄrbarhetstester; och dÄ inte bara att ingen rör det, de rör inte ens systemet som skapar pipelinen, eftersom det ocksÄ skapas dynamiskt. Jag har kunder, Capital One, som anvÀnder Vault för att skapa nÄgot som liknar en blockchain. Revisorn behöver inte visa "recept" frÄn Chef, det rÀcker med att visa blockkedjan, frÄn vilken det framgÄr vad som hÀnde med Jira-biljetten i produktion och vem som Àr ansvarig för den.

De sju arketyperna av DevOps-transformation

Enligt Rapportera, skapad 2018 av Sonatype, fanns det 2017 miljarder OSS-nedladdningsförfrÄgningar under 87.

De sju arketyperna av DevOps-transformation

De förluster som uppstÄr pÄ grund av sÄrbarheter Àr oöverkomliga. Dessutom inkluderar siffrorna som du nu ser ovan inte alternativkostnader. Vad Àr DevSecOps i ett nötskal? LÄt mig sÀga direkt att jag inte Àr intresserad av att prata om hur framgÄngsrikt detta namn Àr. PoÀngen Àr att eftersom DevOps har varit sÄ framgÄngsrikt bör vi försöka lÀgga till sÀkerhet till den pipelinen.

Ett exempel pÄ denna sekvens:
De sju arketyperna av DevOps-transformation

Detta Àr ingen rekommendation för specifika produkter, Àven om jag gillar dem alla. Jag nÀmnde dem som ett exempel för att visa att DevOps, som frÄn början baserades pÄ det organisatoriska paradigmet i industrin, lÄter dig automatisera varje steg i arbetet med en produkt.

De sju arketyperna av DevOps-transformation

Och det finns ingen anledning till varför vi inte skulle kunna ta samma instÀllning till sÀkerhet.

Totalt

Som avslutning kommer jag att ge nĂ„gra tips för DevSecOps. Du mĂ„ste inkludera revisorer i processen att skapa dina system och lĂ€gga tid pĂ„ att utbilda dem. Du mĂ„ste samarbeta med revisorer. DĂ€refter mĂ„ste du föra en absolut hĂ€nsynslös kamp mot falska positiva resultat. Även med det dyraste verktyget för sĂ„rbarhetsskanning kan du skapa extremt dĂ„liga vanor bland dina utvecklare om du inte vet vad ditt signal-brusförhĂ„llande Ă€r. Utvecklare kommer att bli övervĂ€ldigade av hĂ€ndelser och kommer helt enkelt att ta bort dem. Om du hörde talas om Equifax-historien sĂ„ Ă€r det i stort sett vad som hĂ€nde dĂ€r, dĂ€r den högsta varningsnivĂ„n ignorerades. Dessutom mĂ„ste sĂ„rbarheter förklaras pĂ„ ett sĂ€tt som gör det tydligt hur de pĂ„verkar verksamheten. Till exempel kan man sĂ€ga att detta Ă€r samma sĂ„rbarhet som i Equifax-berĂ€ttelsen. SĂ€kerhetssĂ„rbarheter bör behandlas pĂ„ samma sĂ€tt som andra programvaruproblem, det vill sĂ€ga de bör inkluderas i den övergripande DevOps-processen. Du mĂ„ste arbeta med dem genom Jira, Kanban, etc. Utvecklare ska inte tro att nĂ„gon annan kommer att göra detta – tvĂ€rtom, alla ska göra det hĂ€r. Slutligen mĂ„ste du lĂ€gga energi pĂ„ att trĂ€na mĂ€nniskor.

AnvÀndbara lÀnkar

HÀr Àr nÄgra föredrag frÄn DevOops-konferensen som du kan ha nytta av:

Kolla upp programmet DevOops 2020 Moskva — Det finns ocksĂ„ mycket intressant dĂ€r.

KĂ€lla: will.com

LĂ€gg en kommentar