John Allspaw, co-fondator, laboratoare de capacitate adaptativă

Modul în care sistemele dvs. continuă să funcționeze zi de zi

În primul rând, puțin despre John Allspaw, co-fondator al Laboratoarelor de capacitate adaptativă și fost ofițer șef de tehnologie din Etsy.

În calitate de lider în domeniul ingineriei și cercetător cu peste 20 de ani de experiență în construcții și echipe de conducere angajate în software și sisteme de inginerie, Allspaw a petrecut în ultimul deceniu informații de la Human Factors, Cognitive Systems Engineering și Resilience Engineering la domeniul ingineriei software și operațiuni.

De asemenea, autorul a două cărți, „Art of Capacity Planning: Scaling Web Resources” și „Web Operations” (O´Reilly Media), Allspaw continuă să contribuie la comunitățile IT și DevOps prin vorbirea și colaborarea în cercetarea nouă și interesantă.

Am avut norocul să-l găzduim pe John la Summit-ul DevOps Enterprise din San Francisco, unde a urcat pe scenă pentru a vorbi despre „Cum sistemele continuă să funcționeze zi de zi”. Mai jos, am transcris cheile de prezentare și principalele momente ale prezentării sale. .

John Allspaw la DOES17 San Francisco

John Allspaw

Modul în care sistemele dvs. continuă să funcționeze zi de zi

Despre ce vreau să vorbesc este nou. Este diferit și mă simt foarte, foarte puternic în acest sens.

Pentru a ajuta la pregătirea scenei, teza mea pentru diploma în Factorii Umani și Securitatea Sistemului a fost „Compromisuri sub presiune: Euristică și observații ale echipelor care rezolvă întreruperile serviciilor pe Internet.”

Este posibil ca unii dintre voi să fi auzit despre acest lucru, ceea ce se numește raportul Stella.

La un nivel înalt, acest raport este rezultatul unui proiect de un an al unui consorțiu de parteneri din industrie. IBM, Etsy și IEX, companie comercială, o tranzacție comercială în Manhattan. Pe parcursul acestui an, oameni de la Ohio State University Cognitive Systems Engineering Lab, David Woods, Richard Cook și o serie de alți oameni au analizat profund un incident în fiecare dintre aceste organizații.

Au găsit aceste șase teme și au fost comune pentru toate.

Cu siguranță rezultatele sunt destul de importante. Așa cum s-au făcut acele cercetări, vreau să vă uitați cu toții.

Iată care sunt principalele mele oportunități de transport din raport:

  1. Trebuie să începem să ne luăm în serios performanța umană în această industrie. Dacă nu, vom continua să vedem sisteme fragile cu impacturi tot mai mari asupra afacerilor noastre și asupra societății.
  2. Putem face acest lucru analizând incidente care depășesc ceea ce facem în prezent în postmortemuri sau recenzii post-incident sau recenzii post-acțiune.
  3. Există metode și abordări din studiul rezistenței în alte domenii, dar necesită un angajament real de a urmări. A face acest lucru este atât necesar, cât și dificil, dar se va dovedi a fi un avantaj competitiv pentru întreprinderile care o fac bine.

În primul rând, vreau să încep cu un pic de referință, un vocabular care va fi important, pe măsură ce vă voi conduce prin asta. Voi descrie un fel de imagine, o reprezentare, precum un model mental al organizațiilor dvs. și va avea o regiune de peste linie și o regiune sub linie.

Dacă vă imaginați ce am descris aici, acesta este produsul, serviciul dvs., API-ul dvs. sau orice altceva din afacerea dvs. derivă valoare și oferă clienților. Bine? În interior, ceea ce vezi este codul tău. Îți vezi tehnologia stivă. Puteți vedea datele și câteva modalități de livrare, nu? Probabil pe internet sau în alt fel. Dar dacă rămânem aici, nimeni nu mă va crede că așa se numește sistemul, pentru că este în regulă, dar nu este complet complet.

Ceea ce este într-adevăr conectat și ce vorbesc o mulțime de oameni aici în comunitatea DevOps Enterprise Summit sunt toate lucrurile pe care le facem pentru a manipula ceea ce se întâmplă acolo și, prin urmare, avem instrumente de testare. Avem instrumente de monitorizare. Avem instrumente de implementare și toate elementele care sunt tipuri de cablu. Acestea sunt lucrurile pe care le folosim. Ați putea spune că acesta este sistemul, pentru că mulți dintre noi ne petrecem timpul concentrat asupra acelor lucruri care nu sunt în interiorul micii bule de acolo, ci toate lucrurile care se află în jurul lui, dar dacă ar fi să rămânem doar cu asta, noi nu va putea vedea unde se întâmplă munca reală.

Ceea ce vom face aici este, vom desena o linie pe care o numim linia reprezentării, apoi vom săpa un pic mai adânc. Ce vedem aici ești tu. Toți oamenii care se pregătesc să adauge la sistem, să schimbe sistemul. Realizați încadrarea arhitecturală. Efectuați monitorizare. Urmăriți ce face, cum o face și ce se întâmplă cu ei.

Acum, veți observa că fiecare dintre acești oameni are un fel de reprezentare mentală despre ceea ce este acel sistem. Dacă îl priviți puțin mai îndeaproape, veți vedea că niciunul dintre ei nu este același. Apropo, aceasta este foarte caracteristică pentru aceste tipuri de roluri. Nimeni nu are aceeași reprezentare a ceea ce este sub linie.

Pentru a rezuma, acesta este modelul nostru de lume și include nu doar lucrurile care se desfășoară acolo, ci toți, tipurile de activități pe care le efectuați, munca cognitivă pe care o faceți pentru a menține acea lume funcțională. . Dacă ne jucăm cu asta un pic mai mult, terminăm cu acest tip de model. Acest model are o linie de reprezentare care trece prin mijloc și interacționezi cu lumea de sub linie printr-un set de reprezentări.

Interacțiunile tale nu sunt niciodată cu lucrurile în sine. Nu schimbați de fapt sistemele.

Ce faceți este că interacționați cu reprezentarea și că reprezentarea este ceva despre ceea ce se întâmplă mai jos. Puteți gândi aceste lucruri verzi ca ecranele pe care le uitați în timpul zilei, dar singurele informații pe care le aveți despre sistem provin din aceste reprezentări. Sunt doar o mică gaură de cheie. Dreapta?

Ceea ce este semnificativ în acest sens este faptul că toate activitățile pe care le desfășurați, toate observarea, deducerea, anticiparea, planificarea, corectarea, tot felul de chestii trebuie făcute prin intermediul acestor reprezentări, deci există o lume deasupra liniei și o lume. sub linie și, deși noi și noi vorbim mai ales despre lumea de sub linie ca și cum ar fi foarte reală, de parcă ar fi foarte concretă, ca și cum ar fi ceva care este lucrul acesta, iată surpriza.

Aici este marele lucru - nu ajungi să-l vezi niciodată.

Nu există. Într-un sens real, nu există sub linia pe care să o atingeți de fapt. Niciodată, nu vezi vreodată rularea codului. Nu vezi niciodată că sistemul funcționează vreodată. Nu atingeți niciodată aceste lucruri.

Ce faceți este că manipulați o lume pe care nu o puteți vedea printr-un set de reprezentări și, de aceea, trebuie să construiți acele modele mentale, acele concepții, acele înțelegeri despre ceea ce se întâmplă. Acestea sunt lucrurile care conduc la această manipulare. Nu este lumea de sub linia care o face. Este capacitatea dvs. conceptuală de a înțelege lucrurile care s-au întâmplat în trecut, lucrurile pe care le faceți acum și de ce faceți aceste lucruri, ce contează și de ce contează de fapt.

Odată ce adoptați această perspectivă, odată ce renunțați la ideea că sub linia respectivă este ceea ce aveți de-a face și înțelegeți că lucrați cu adevărat peste linie, se schimbă tot felul de lucruri.

Ceea ce vedeți în Raportul Stella și proiectul respectiv și alte proiecte cu care ne-am angajat este să luăm această viziune și să înțelegem ce înseamnă cu adevărat să luăm în serios lumea de mai sus. Aceasta este o mare îndepărtare de mult din ceea ce ați văzut în trecut, dar cred că este o direcție fructuoasă pe care trebuie să o luăm.

Cu alte cuvinte, aceste activități cognitive (vezi mai jos), atât la indivizi, cât și colectiv în echipe în sus și în jos, în cadrul organizației, sunt ceea ce face ca activitatea să funcționeze efectiv. Acum, studiez acest lucru în detaliu de ceva vreme aici și vă pot spune acest lucru. Nu funcționează așa cum credem noi.

În cele din urmă, pentru a configura acest cadru, cea mai importantă parte a acestei idei este că toate acestea se schimbă în timp. Este un proces dinamic continuu. Aceasta este unitatea de analiză. După ce luăm acest cadru, putem pune câteva întrebări. Putem pune câteva întrebări despre această linie.

„Cum funcționează cu adevărat software-ul nostru, în raport cu modul în care este descris în wiki și în documentație și în diagrame? Știm că acestea nu sunt cuprinzătoare, nu sunt exacte. ”

„Cum se întrerupe software-ul nostru, în comparație cu modul în care am crezut că se va sparge atunci când am proiectat protecții și întreruptoare și balustrade?”

„Ce facem pentru ca totul să funcționeze?”

Întrebare: imaginați-vă organizația. Ce s-ar întâmpla dacă astăzi la ora șase toate companiile dvs. ar lua mâinile de pe tastatură? Nu răspund la nicio pagină. Nu se uită la niciun fel de alerte. Nu atinge nicio parte a acestuia, codul sau rețelele aplicației sau oricare dintre acestea. Sunteți sigur că serviciul dvs. va fi funcțional și după o zi?

Întrebarea de atunci este cum să descoperi ce se întâmplă deasupra liniei. Ei bine, există câteva lucruri. Putem învăța din studiul altor domenii cu timp mare, cu consecințe mari și, dacă o facem, putem vedea că putem studia incidente. (Notă: când spun „incidente”, mă refer la întreruperi, degradări, încălcări, accidente, neajunsuri și neplăceri - practic evenimente neașteptate sau neașteptate).

Ce face interesantele incidente? Ei bine, cel evident este pierderea veniturilor și reputația are impact asupra unei anumite afaceri. Vreau să afirm câteva alte motive pentru care incidentele sunt interesante. Unul este că incidentele modelează proiectarea de noi subsisteme și arhitecturi componente. Cu alte cuvinte, incidentele de ieri informează arhitecturile de mâine. Adică incidentele ne ajută să ne alimentăm imaginațiile despre cum să ne îmbunătățim sistemele și, prin urmare, ceea ce vreau să spun este că incidentele de sub linia se schimbă deasupra liniei.

Acesta este lucrul. Acest lucru poate costa bani reali. Incidentele pot avea uneori efecte aproape tacite sau invizibile, alteori semnificative. În prezent, o mulțime de oameni împart un monolit în micro-servicii. Mulți oameni fac asta pentru că oferă o anumită cantitate de robustete pe care nu o aveți. De unde obții asta?

În urma incidentelor, sunteți informat.

Un alt motiv pentru a analiza incidentele este că acestea tind să dea naștere unor noi forme de reglementări, politici, norme, conformitate, audit, constrângeri etc. Un alt mod de a spune acest lucru este că incidentele de ieri informează regulile de mâine, care influențează personalul , bugetele, planificarea, foile de parcurs și multe altele. Permiteți-mi să vă dau un exemplu: în tranzacțiile financiare, SEC a pus în aplicare Regulamentul SCI. SCI, este probabil cea mai cuprinzătoare și mai detaliată piesă de conformitate din era software-ului modern. SEC a plecat și a fost foarte explicit. Avem acest lucru ca reacție la prăbușirea flash din 2010 la Knight Capital, BATO IPO, Facebook IPO. Este o reacție la incidente.

Chiar dacă vă întoarceți un pic mai departe, se menționează adesea faptul că PCI DSS a apărut atunci când MasterCard și Visa au comparat notele, au realizat că au pierdut aproximativ 750 de milioane de dolari în 10 ani, astfel încât incidentele au un impact semnificativ și, apropo, pot, ca fost CTO al unei companii publice, vă pot asigura că aceasta este o albatrosă foarte scumpă, care distrage atenția și, inevitabil, o povară pentru toate organizațiile dvs. Incidentele sunt semnificative și în acest fel, dar dacă ne gândim la incidente ca la oportunități, dacă ne gândim la incidente ca la mesaje, la mesajele codificate care se transmit deasupra liniei, deasupra liniei, iar munca ta este să le decodăm, dacă te gândești la incidente. ca lucruri care încearcă în mod activ să vă atragă atenția asupra unor părți ale sistemului despre care ați crezut că aveți o înțelegere suficientă, dar pe care nu le-ați făcut, acestea sunt memento-uri care trebuie să vă reconsiderați continuu cât de sigur sunteți despre cum funcționează totul.

Acum, dacă luați această părere, se deschid o grămadă de lucruri. Există o oportunitate de formare nouă, instrumente noi, noi structuri organizatorice, noi dinamici de finanțare și posibilele perspective pe care concurenții dvs. nu le au.

Incidentele ne ajută să măsurăm delta între modul în care funcționează sistemul dvs. și modul în care credem că funcționează sistemul dvs., iar această deltă este aproape întotdeauna mai mare decât ne imaginăm. Vreau să afirm poate o abordare diferită cu care v-ați putea obișnui și acesta este. Incidentele sunt investiții neplanificate în întreprindere, în supraviețuirea companiei tale. Ele sunt oportunități extrem de valoroase pentru a înțelege cum funcționează sistemul dvs., ce vulnerabilități există în atenție și ce avantaje competitive nu urmăriți.

Dacă vă gândiți la incidente, acestea arde bani, timp, reputație, personal, etc. Acestea sunt costuri inevitabile scufundate. Totuși, este ceva interesant cu privire la acest tip de investiții. Nu controlați dimensiunea investiției, de aceea rămâne întrebarea, cum veți maximiza rentabilitatea investiției?

Când ne uităm la incidente, acestea sunt tipul de întrebări pe care le auzim și este în concordanță cu ceea ce găsesc cercetătorii în alte sisteme complexe, domenii. Ce face? De ce face asta? Ce va face în continuare? Cum a ajuns în această stare? Ce se întâmplă? Dacă facem Y, ne va ajuta să ne dăm seama ce să facem? Se înrăutățește? Se pare că este fix, dar nu? Dacă facem X, îl va împiedica să se înrăutățească sau îl va înrăutăți? Pe cine altcineva trebuie să apelăm care ne poate ajuta? Este problema noastră sau suntem atacați? Acest lucru este în concordanță cu multe alte domenii. Aviație, controlul traficului aerian, în special în domeniile bogate în automatizări.

Un alt lucru notabil este faptul că începutul oricărui incident, de multe ori este incert sau ambiguu dacă este sau nu cel care ne scufunde. La începutul unui incident, pur și simplu nu știm, mai ales dacă acesta conține cantități imense de incertitudine și cantități uriașe de ambiguitate. Dacă este incert și ambiguu, înseamnă că ne-am epuizat modelele mentale. Nu se potrivesc cu ceea ce vedem și apar aceste întrebări. Doar retrospectiva ne va spune dacă acesta a fost evenimentul care a dus compania jos sau dacă a fost o marți după-amiază grea.

Incidentele oferă o calibrare a modului în care sunt focalizate deciziile, despre modul în care este concentrată atenția, despre modul în care coordonarea este focalizată, despre cum este concentrată escaladarea. Impactul presiunii în timp, impactul incertitudinii, impactul ambiguității și consecințele consecințelor. Cercetarea validează aceste oportunități.

„Ar trebui să analizăm adânc incidentele ca„ evenimente provocatoare care nu sunt de rutină, deoarece aceste cazuri dificile au cel mai mare potențial de a descoperi elemente de expertiză și fenomene cognitive conexe. ”
- Gary Klein, inițiatorul cercetării naturaliste în luarea deciziilor.

Există o familie de metode, abordări și tehnici bine purtate. Analiza sarcinilor cognitive. Urmărirea proceselor. Analiza conversațională. Metoda deciziei critice. Cum credem că postmortemurile au valoare arată cam așa:

Se întâmplă un incident. Poate cineva va alcătui o cronologie. Avem un pic de întâlnire. Poate aveți un șablon și completați asta, apoi cineva ar putea să facă un raport sau nu, iar apoi veți avea, da, elemente de acțiune, în cele din urmă. Credem că cea mai mare valoare, poate cea mai veche valoare, este aceea în care vă aflați într-o dezbatere și oamenii parcurg linia de timp și vă place, „O, Dumnezeule. Știm toate acestea. ”

Aceasta nu este ceea ce cercetarea are loc. Cercetarea arată că dacă adunăm date subiective și obiective din mai multe locuri, date comportamentale, ce au spus oamenii, ce au făcut oamenii, unde au privit, ce căi de diagnostic au urmat și nu am avut roade? Exploatările bine facilitate îi determină pe oameni să contrasteze și să își compare modelele mentale care sunt neapărat defecte. Puteți produce rezultate diferite, inclusiv lucruri precum bootcamp, materiale la bord, noi instruiri de angajare. Puteți avea feedback de facilitare dacă construiți un program pentru instruirea facilitatorilor. S-ar putea să faceți modificări ale foii de parcurs, schimbări cu adevărat semnificative în funcție de ceea ce învățați.

Vă pot spune asta dintr-o experiență. Nu este nimic mai interesant pentru un nou inginer sau un inginer abia începând în cariera lor decât să se afle într-o cameră cu un inginer veteran care cunoaște toate ungherele și rudele care explică lucruri despre care poate nu au spus vreodată cu voce tare. Au cunoștințe. Este posibil să deseneze imagini și diagrame pe care nu le-au desenat niciodată, deoarece cred că toată lumea știe asta. Ghici ce? Ei nu Cea mai mare valoare este de fapt aici, deoarece calitatea acestor rezultate depinde de calitatea acesteia, de recalibrare. Aceasta este o deschidere pentru recalibrarea modelelor mentale.

Din raportul Stella, „informează și recalibrează modelele oamenilor despre modul în care funcționează sistemul, înțelegerea modului în care este vulnerabil și ce oportunități sunt disponibile pentru explorare”.

În multe cercetări, în toate cercetările conținute în Raportul Stella și se potrivesc și experienței mele la Etsy, una dintre cele mai puternice reflecții din partea oamenilor care fac acest lucru într-un mod facilitat de a face acest lucru comparativ și contrastante. „Nu știam că a funcționat așa.” Apoi există întotdeauna alte, „Cum a funcționat vreodată?” Ceea ce este amuzant până când îți dai seama că este grav. Ceea ce înseamnă asta este, felul în care nu numai că am crezut că a funcționat altfel. Acum, nici nu-mi imaginez, nici măcar nu pot să-mi trag o imagine despre cum ar fi putut funcționa. Asta ar trebui să fie mai neliniștitor. Apropo, vreau să spun că nu este aliniere. Așa cum am spus, prin intermediul reprezentărilor, avem neapărat modele mentale incomplete. Ideea este să nu avem aceleași modele mentale, pentru că sunt întotdeauna incomplete, pentru că lucrurile se schimbă mereu și pentru că vor fi defecte. Nu dorim ca toată lumea să aibă același model mental deoarece toată lumea are aceleași puncte orb.

Blameless - revenind la postarea pe blog pe care am scris-o în 2012

„Blameless” este miza de masă. Este necesar, dar nu este suficient. Ați putea construi un mediu, o cultură, o îmbrățișare, un fel de organizație primitoare, care susține și permite oamenilor să spună povești în toate detaliile dezordonate, uneori detalii jenante, fără frică de retribuire, astfel încât să puteți progresa cu adevărat și înțelegând ce se întâmplă, puteți configura această condiție și încă nu puteți învăța foarte multe. Nu este suficient. Este necesar, dar nu suficient. Despre ce vorbesc este mult mai mult efort decât recenziile tipice după incident. Dreapta? Acesta este locul în care un analist, un facilitator poate pregăti, colecta, organiza, analiza date comportamentale. Ce spun oamenii, ce fac oamenii. Există o serie de date pe care le pot analiza pentru a pregăti debriefing-uri, debriefing în grup sau debringing one-one, care depășește ... Postmortems sugerează bogăția incidentelor. Urmărirea acestui lucru necesită multă muncă.

Apropo, toată lumea este în general atât de epuizată după o întrerupere, un incident sau un eveniment stresant, încât uneori totul devine clar. Aceasta este puterea de retrospectivă și, deoarece pare atât de limpede, nu pare productiv să aibă o debriefing, deoarece credeți că deja știți totul. Cealaltă problemă este aceea că informările postmortem sunt restricționate în timp. Aveți sala de conferințe doar pentru o oră sau două. Toată lumea este cu adevărat ocupată, iar ceasul bifează, așa că aceasta este o provocare pentru a face acest lucru într-adevăr bine, chiar și având în vedere aceste metode de cercetare.

Cealaltă problemă, mai ales dacă construiți un program de formare în facilitarea debriefing-ului, așa cum am făcut-o la Etsy, există încă provocări care apar. Ceea ce îmi place să o numesc este „Fiecare are propriul său mister de rezolvat”, sau „Nu-mi pierde timpul cu detaliile pe care le știu deja.” Într-un mod desenat, poți să te gândești la așa ceva:

Deoarece este posibil să aveți doar o oră, trebuie să extrageți cât mai multe învățări. Toate lucrările sunt contextuale. Treaba ta pentru a maximiza rentabilitatea investiției este de a descoperi, explora și reconstrui contextul în care se desfășoară munca într-un incident, cum funcționează și cum au gândit oamenii deasupra liniei.

Evaluările sunt compromisuri, iar acestea sunt contextuale.

În încheiere, toate incidentele pot fi mai grave. O viziune superficială este să vă întrebați: „Ce a mers prost? Cum s-a rupt? Ce rezolvăm? ”Acestea sunt întrebări foarte rezonabile. Dacă ar fi să atingem un nivel mai profund și am putea să ne întrebăm: „Care sunt lucrurile care au făcut ca acesta să nu fie atât de rău cum ar fi putut fi?” Pentru că nu acordăm atenție acestor lucruri și nu identificăm aceste lucruri, am putea înceta să susținem aceste lucruri.

Poate motivul pentru care nu s-a înrăutățit este faptul că cineva a numit-o pe Lisa și Lisa știe lucrurile ei. Ceva din cercetări este că experții pot vedea ce nu există. Dacă nu o sprijiniți pe Lisa și nici nu identificați că motivul pentru care nu s-a agravat este pentru că Lisa a fost acolo. Uitați de elementele de acțiune pentru a remedia ceva pentru un moment. Imaginează-ți o lume în care Lisa merge la un nou loc de muncă.

Este utilă la nivel strategic este o întrebare mai bună. „Cum putem susține, încuraja, pleda și finanța procesul continuu de înțelegere în sistemele noastre? Și într-adevăr să luați „deasupra liniei” într-un mod susținut?

Unde mergem de aici? Am câteva provocări pentru tine:

  1. Circulați raportul Stella în compania dvs. și începeți un dialog. Chiar dacă sunteți prea ocupat sau nu sunteți în măsură să îl citiți singur, dați-le oamenilor care fac acest lucru. Întrebați-i ce rezonează. Întrebați-i ce nu are sens. Întrebați-i, începeți un dialog.
  2. Priviți profund cum gestionați recenziile post-eveniment. Cel mai important, mergeți să găsiți cei care sunt cei mai familiarizați cu detaliile dezordonate ale modului în care se realizează munca și întrebați-i acest lucru: „Ce valoare credeți că au cu adevărat recenziile noastre post-incidente?
  3. Asumați-vă responsabilitatea de a afla mai multe și mai rapid din incidente decât concurenții dvs. Creați o organizație de învățare sau pierdeți pentru unul care este.
  4. Trebuie să ne luăm în serios performanța umană. Această discuție se întâmplă. Se întâmplă în energia nucleară. Se întâmplă în medicină. Se întâmplă în domeniul aviației, al controlului traficului aerian, la stingerea incendiilor.

Semnificația crescândă a sistemelor noastre, potențialul tot mai mare de daune economice, politice și umane atunci când nu funcționează corect, precum și proliferarea dependențelor și a incertitudinii asociate mă îngrijorează foarte mult. Dacă te uiți la propriul sistem și la problemele sale, cred că ești de acord că trebuie să facem mult mai mult decât să recunoaștem această problemă. Trebuie să o îmbrățișăm. Cu ce ​​mă puteți ajuta, vă rugăm să răspândiți aceste informații, aceste idei și prezentarea mea din DevOps Enterprise Summit San Francisco 2017.

Vreau sa aud de la tine. Ce a rezonat cu tine despre asta? Ce nu a făcut? Ce provocări te confrunți în orgul tău de-a lungul acestor linii? Vino spune-mi. Sunt pe Twitter.

Publicat inițial la itrevolution.com pe 30 aprilie 2018.