Cena človeške neberljivosti sistemov
Zvezek ob zaslonu
Najpomembnejša dokumentacija v prostoru ni bila v sistemu. Bil je spiralni zvezek ob drugem zaslonu, ki sta ga držali skupaj lepilni trak in avtoriteta dolgotrajnega trpljenja. Ekipa ga je uporabljala med vsako večerno izmeno. Prva stran je pojasnjevala, kateri status v orodju za primere dejansko pomeni čakanje na finance. Četrta stran je navajala imena treh polj, ki so bila videti neobvezna, a niso bila. Sedma stran je opozarjala, da gumba za izvoz ne smete pritisniti po 17. uri, ker bi nočna obdelava datoteko razumela kot nov sprejem in bi se vsi zbudili v čakalno vrsto, ki se je namnožila kot administrativno izročilo.
Uradni opis postopka je bil čistejši. Imel je polja, puščice in datum v nogi. Bil pa je napačen natanko na tistih mestih, ki so bila pomembna. Programska oprema se je spremenila. Dobavitelj se je spremenil. Izjema od pravilnika je postala običajna praksa. Ena integracija je tako pogosto odpovedovala, da so si zaposleni izmislili ritual preverjanja. Zvezek ni bil očarljiva lokalna navada. Bil je človeški popravek na sistemu, ki sam sebe ni mogel več pojasniti.
Nepregledni sistemi se redko napovedo z enim samim spektakularnim izpadom. Povzročajo majhne davke. Delavec okleva pred klikom, ker je ime statusa dvoumno. Medicinska sestra pokliče sodelavca, ker številka na nadzorni plošči nima izvora. Planer kopira podatke v zasebno preglednico, ker uradnemu poročilu ni mogoče zaupati. Razvijalec se izogiba spreminjanju funkcije, ker nihče ne ve, kdo je od nje odvisen. Vodja prosi za posnetek zaslona, ker je revizijska sled tehnično prisotna, a praktično neuporabna. Vsak trenutek je preživetja vreden. Skupaj postanejo delovno okolje.
Strošek ni samo čas. So pozornost, samozavest, odgovornost in na koncu dostojanstvo. Ljudje postanejo prevajalci za sisteme, ki bi morali biti razumljivi. Skrito znanje nosijo v zvezkih, zgodovinah klepetov, stranskih preglednicah in navadah. Potem se vodje sprašujejo, zakaj so spremembe počasne. Organizacija ni počasna zato, ker ljudje sovražijo izboljšave. Počasna je zato, ker morajo izboljšave najprej prečkati močvirje stvari, ki jih nihče ne more varno prebrati.
Nepregledno ni isto kot zapleteno
Nekateri sistemi so zapleteni, ker je zapleteno delo. Zdravstvo, logistika, socialni prejemki, raziskovalna administracija, proizvodnja in energetska omrežja ne postanejo preprosti zato, ker narišemo čistejši diagram. Zapletenost ni sovražnik. Nepreglednost je. Pregleden zapleten sistem prikazuje svoje dele, poimenuje svoje predpostavke, razkriva svoje prehode, beleži svoje razloge in operaterjem daje dovolj okoliščin za ukrepanje. Nepregleden preprost sistem skriva svoj pomen za oznakami, stranskimi učinki in srečnim časovnim razporedom. Uganite, kateri povzroča daljše sestanke.
Inženirji včasih zmanjšajo berljivost na slog kode. Koda je pomembna, a je le ena plast. Sistem ima lahko urejeno kodo in neberljivo vedenje. Ima lahko elegantne razrede in zmedena stanja. Ima lahko popolno poimenovanje v repozitoriju in uporabniški vmesnik, ki ljudi sili, da si zapomnijo neuradne pomene. Ima lahko dnevnike, ki zajamejo vsak dogodek, pa vseeno ne odgovorijo, zakaj je bila sprejeta odločitev. Ima lahko diagrame, ki so bili videti aktualni, ko je bil projekt financiran, zdaj pa delujejo predvsem kot zgodovinska fikcija.
Berljivi sistemi usklajujejo več površin. Vmesnik opisuje stanje z besedami, ki jih ljudje lahko uporabljajo. Podatkovni model ohranja pomen, namesto da bi ga prezgodaj sploščil. Delovni tok poimenuje prehode in lastnike. Koda ima teste okoli poslovnih pravil, ne le okoli srečnih poti. Dnevniki povezujejo dejanje z vzrokom. Dokumentacija odraža živi sistem. Nadzor operaterju pove, kaj se je spremenilo, ne le, da je rdeča postala bolj navdušena.
Ta uskladitev je težavna, ker ima berljivost veliko bralcev. Razvijalec bere kodo. Delavec na primeru bere zaslon. Vodja bere čakalno vrsto. Revizor bere sled. Uporabnik bere sporočilo. Podporni inženir bere dnevnik. Regulator bere pojasnilo. Novi sodelavec bere vse to s tihim strahom nekoga, ki je pravkar podedoval predal poln kablov. Če je sistem berljiv le enemu od teh bralcev, ni dovolj berljiv.
Človeški davek ugibanja
Ugibanje je delo. Ne izgleda kot delo, ker je pogosto tiho. Človek se ustavi, si zapomni vzorec, vpraša drugo osebo, primerja dva zaslona, pogleda včerajšnji izvoz, preveri, ali velja izjema, in nato nadaljuje. Nič od tega se ne pojavi v metrikah pretočnosti. Primer je trajal sedem minut, pravi nadzorna plošča. Nadzorna plošča ne ve, da so bile tri od teh minut porabljene za ugibanje, ali polje z imenom verified pomeni, da ga je potrdil uporabnik, sistem, finance ali nekdo z imenom Vera, ki je odšel leta 2022.
Tovrstno ugibanje povzroča utrujenost, ker se delavec ne more sprostiti v proces. Vsak korak lahko skriva pomen. Sistem postane prostor, kjer so nalepke na stikalih napisali ljudje, ki so domnevali, da bodo vedno v bližini. Operaterji to kompenzirajo s previdnostjo, nato pa jih obtožijo, da so odporni. Niso odporni. So racionalni. Naučili so se, da vmesnik včasih laže z opustitvijo.
Ugibanje tudi koncentrira moč na napačnih mestih. Oseba, ki pozna pravi pomen sistema, postane nepogrešljiva. To je lahko videti laskavo, dokler oseba ne želi dopusta, zamenja službo, zboli ali preprosto neha uživati v vlogi neuradnega prevajalca institucionalnega spomina. Neberljiv sistem spremeni strokovnost v taljenje po naključju. Nihče tega ni načrtoval. Načrti niso potrebni, da slabe spodbude postanejo arhitektura.
Breme najbolj občutijo novejši zaposleni in ljudje z manj organizacijske moči. Višji zaposleni vedo, koga vprašati. Novi zaposleni ne vedo. Zunanji izvajalci dobijo delčke. Podporni delavci dobijo navodilo, naj sledijo postopku, nato pa odkrijejo, da je postopek zemljevid mesta, ki je lansko zimo spremenilo svoje ulice. Uporabniki občutijo rezultat kot zamudo, nedoslednost ali nepojasnjeno zavrnitev. Sistem je lahko notranje pameten. Navzven od ljudi zahteva, da prevzamejo njegovo dvoumnost.
Dnevniki, ki ne pripovedujejo zgodbe
Številni neberljivi sistemi ponosno vodijo dnevnike. To je dobro, a ni dovolj. Vrstica dnevnika je lahko natančna in vseeno neuporabna. Uporabnik je posodobil status ob 14:03 je dejstvo. Ne pove, zakaj se je status spremenil, katero pravilo je to dovolilo, kateri dokazi so bili prisotni, ali je bil prehod normalen, kdo je lastnik pravila, katera različica delovnega toka je bila aktivna ali ali je nadrejeni sistem spremembo sprejel. Kup dejstev še ni zgodba. Je le kup s časovnimi žigi.
Operativni dokazi morajo biti oblikovani okoli vprašanj, ki jih bodo ljudje dejansko zastavili. Zakaj se je ta zadeva premaknila. Zakaj se je ta zapis ustavil. Zakaj je ta odgovor modela vstopil v delovni tok. Zakaj je izvoz vseboval te vrstice. Zakaj se dva poročila nista ujemala. Zakaj je ta uporabnik lahko videl te podatke. Zakaj je sistem poskušal šest ur in nato obupal ravno v trenutku, ko so vsi odšli domov. Dnevnik ne bi smel zahtevati arheološkega izkopavanja za vsako običajno vprašanje.
Dobri dokazi niso razkošje za revizorje. So prijaznost do operaterjev. Med incidentom morajo ljudje zožiti iskanje. Vedeti morajo, katero stanje se je spremenilo, kateri vnos je prispel, katero pravilo se je sprožilo, katera odvisnost je odpovedala, katero obnovitveno dejanje se je zgodilo in kaj ostaja negotovega. Če sistem ne more odgovoriti na ta vprašanja, ljudi pod pritiskom rekrutira za forenzične analitike. To je razburljivo v kriminalnih zgodbah in manj privlačno pri obračunu plač.
Sistemi, ki močno temeljijo na umetni inteligenci, dvigujejo standard. Če izhod modela vpliva na delovni tok, mora sistem po potrebi ohraniti vir, poziv ali kontekst pridobivanja, različico modela, predstavitev zaupanja ali negotovosti, politična vrata, status človeškega pregleda in končno dejanje. Bistvo ni, da bi bila vsaka interakcija roman. Bistvo je ohraniti dovolj konteksta, da lahko poznejši bralec rekonstruira, zakaj se je sistem obnašal tako, kot se je. Sicer tekočnost modela postane še ena neberljiva plast.
Vmesniki lahko skrivajo politiko
Neberljiv vmesnik je pogosto problem politike, oblečen v piksle. Gumb se pojavi le v nekaterih primerih, a nihče ne ve, katero pravilo ga nadzoruje. Opozorilo je za eno ekipo rumeno in za drugo rdeče, ker je bila konfiguracija spremenjena med pilotom. Polje sprejema prosto besedilo, ker je bilo prave kategorije politično neprijetno opredeliti. Čakalna vrsta je razvrščena po prioriteti, a prioriteta je formula, ki je nihče ne more najti. Vmesnik deluje operativno. V ozadju se nerešene odločitve prenašajo na uporabnike klik za klikom.
To je pomembno, ker ljudje stanja programske opreme obravnavajo kot institucionalno resnico. Če zaslon prikazuje dokončano, osebje domneva, da organizacija misli dokončano. Če zaslon prikazuje upravičeno, lahko nekdo deluje na podlagi upravičenosti. Če zaslon prikazuje nizko tveganje, se pozornost premakne drugam. Resnejši kot je delovni tok, nevarnejši postane nejasen jezik vmesnika. Oznaka ni okras. Je majhna pogodba med sistemom in osebo, ki mu mora zaupati.
Berljivi sistemi naredijo politike vidne na mestu, kjer se uporabljajo. Pokažejo, zakaj je polje obvezno, kaj pomeni status, kateri dokazi podpirajo odločitev, kaj se zgodi naprej in kako izpodbijati rezultat. Izogibajo se statusom, ki zvenijo kot osebnostne lastnosti. Razlikujejo med oddanim in prejetim, preverjenim in sprejetim, blokiranim in zavrnjenim, pregledanim in odobrenim. Te razlike so dolgočasne le do trenutka, ko je od njih odvisen resničen primer. Takrat vsi postanejo zelo zainteresirani za samostalnike.
Vmesnik mora negotovost razkrivati tudi pošteno. Če je vrednost sklepana, to povejte. Če je model predlagal klasifikacijo, jo označite kot predlagano, dokler ni sprejeta. Če so podatki zastareli, pokažite njihovo starost. Če je odvisnost zamujena, naj zaslon ne ustvarja vtisa, da je tišina uspeh. Ljudje prenesejo negotovost bolje, kot sistemi pogosto predvidevajo. Česar ne morejo varno prenesti, je negotovost, prikazana kot gotovost, ker si je nekdo želel čist zaslon.
Dokumentacija je del površine izdelka
Z dokumentacijo se pogosto ravna kot z ločeno moralno dolžnostjo, kot z nitkanjem zobne nitke. Vsi se strinjajo, da je pomembna. Nato se izdaja premakne, dokument zgnije in naslednja ekipa ga bere z izrazom, ki je običajno namenjen pretečenemu mleku. Napaka ni v tem, da so ljudje leni. Napaka je v tem, da dokumentacija ni bila dovolj močno povezana s sistemom, da bi preživela spremembe.
Berljivi sistemi naredijo dokumentacijo operativno. Definicije statusov živijo blizu poteka dela. Podatkovni slovarji so ustvarjeni ali preverjeni glede na sheme. Poslovna pravila imajo lastnike in različice. Priročniki za izvajanje se preizkušajo med vajami. Sporočila o napakah se povezujejo s trenutnimi potmi za odpravo težav. Arhitekturne odločitve pojasnjujejo kompromise, ki jih bodo prihodnje ekipe sicer znova odkrivale skozi trpljenje. Gradivo za usposabljanje uporablja resnična stanja in resnične izjeme. Dokumentacija postane zemljevid, po katerem se hodi, ne muzejski eksponat.
To ni argument za enciklopedično dokumentacijo. Preveč dokumentacije je lahko še en neberljiv sistem, le z boljšimi naslovi. Uporabno vprašanje je, kateri bralci potrebujejo kakšen kontekst v trenutku dejanja. Delavec za obravnavo primera potrebuje drugačne podrobnosti kot razvijalec. Revizor potrebuje drugačne dokaze kot uporabnik. Inženir za podporo potrebuje pot do obnovitve, ne filozofije porazdeljenih sistemov, dostavljene ob 02:00. Dobra dokumentacija spoštuje delo bralca.
Vzdrževanje je ključna beseda. Če dokumentacija nima lastnika, sprožilca pregleda, povezave s spremembami in preizkusa v resnični uporabi, ni dokumentacija. Je optimizem v odstavkih. Beležnica ob zaslonu je dokazala, da bodo ljudje dokumentirali tisto, kar morajo razumeti. Naloga je prenesti to znanje iz zasebnih orodij za preživetje v skupne, upravljane, žive površine.
Umetna inteligenca dodaja novo vrsto neberljivosti
Umetna inteligenca lahko neberljivost podraži, ker dodaja tekoče vedenje že tako nejasnim delovnim procesom. Model lahko povzema, razvršča, klasificira in priporoča. Če okoliški sistem ne more prikazati, kateri vir je bil uporabljen, katera politika je omejila odgovor, kakšna negotovost ostaja in kdo je sprejel rezultat, postane tekočnost modela kamuflaža. Stavek se bere lepo. Institucija še vedno ne more pojasniti dejanja.
Posebna nevarnost je v rezultatih modela, ki delujejo natančno, ne da bi bili operativno utemeljeni. Ocena tveganja, odstotek zaupanja ali povzetek lahko delujejo kot jasnost. Toda jasnost za koga. Če ocena ni povezana z odločitveno mejo, dokazi, zgodovino umerjanja, postopkom pregleda in posledico, postane okrasna številka. Okrasne številke so priljubljene, ker naredijo nadzorne plošče videti pomembnejše. Manj priljubljene postanejo, ko so resnično osebo usmerile v napačno čakalno vrsto.
Berljivo delovanje umetne inteligence zahteva enake stare vrline, le z manj potrpežljivosti za mahanje z rokami. Poimenujte nabor virov. Zabeležite različici modela in poziva, kjer je to pomembno. Ohranite sledi pridobivanja v ustreznih mejah. Ločite predlog od dejanja. Pokažite, kdaj je človek sprejel, spremenil ali zavrnil rezultat. Spremljajte odmik. Ohranite poti za pritožbo. Naredite zavrnitev vidno. Umetna inteligenca ne odpravlja potrebe po berljivosti. Povečuje ceno njenega pomanjkanja.
Cilj ni razkriti vsako notranjo utež ali zasuti osebje s tehničnimi izpušnimi plini. Cilj je narediti operativno verigo razumljivo. Delavec bi moral vedeti, zakaj je sistem predlagal ta primer, katere dokaze je uporabil, kaj predlog sme storiti in kako ga je mogoče izpodbijati. Revizor bi moral lahko ponovno predvajati dovolj konteksta za oceno odločitve. Uporabnik ne bi smel biti ujet za lepim odgovorom, ki ga nihče ne lasti.
Neberljivost postane kultura
Čez čas neberljiv sistem spremeni način razmišljanja organizacije. Ljudje nehajo spraševati zakaj, ker je zakaj predrago. Vprašajo, kdo ve. Nehajo predlagati izboljšave, ker bi vsaka sprememba lahko zmotila nevidno odvisnost. Ustvarijo neuradne procese, ker uradnim ni mogoče zaupati. Zaščitijo se s posnetki zaslona. Načrtujejo sestanke za uskladitev poročil, ki bi se morala ujemati že na začetku. Sistem jih je izuril, da znižajo svoja pričakovanja.
To kulturo je od zgoraj težko videti. Vodstvo lahko vidi stabilne rezultate in domneva, da sistem deluje. Rezultati so stabilni, ker ljudje absorbirajo nestabilnost. Prevajajo, preverjajo, popravljajo, si zapomnijo in se opravičujejo. Če so ta prizadevanja nevidna, so sčasoma optimizirana stran, kar je eleganten način za pretvorbo usposobljenosti v zaostanek incidentov. Organizacija se nato nauči, da sistem navsezadnje ni bil stabilen. Držali so ga skupaj ljudje, za katere so trdili, da so neučinkoviti.
Berljivi sistemi imajo drugačen kulturni učinek. Ljudem omogočajo, da se ne strinjajo s sistemom, ker lahko vidijo njegove trditve. Usposabljanje naredijo manj odvisno od folklore. Zmanjšajo strah pred spremembami, ker so odvisnosti poimenovane. Ustvarijo boljše pogovore med politiko, operacijo in inženiringom. Podpornemu osebju omogočijo, da odgovarja uporabnikom brez izmišljevanja teologije o statusnih kodah. Napake je lažje priznati, ker vzrok ni skrit v labirintu.
Tu obstaja moralna razsežnost, vendar ni abstraktna. Če sistem delavca naredi odgovornega za rezultate, hkrati pa mu odreče dovolj konteksta za razumevanje sistema, je to nepošteno. Če sistem uporabnika podvrže odločitvi, ki je nihče ne more pojasniti, je to nepošteno. Če sistem ekipi naloži nedokumentirano tveganje, dokler se kaj ne pokvari, je to nepošteno. Berljivost ni kozmetična prijaznost. Je del odgovornega prenašanja pooblastil.
Graditi za bralce
Berljiv sistem je zgrajen z mislijo na bralce. To se sliši samoumevno, dokler ne preštejete, koliko sistemov je zgrajenih za pisce, prodajalce, ogrodja ali kompromise odborov. Bralec je oseba, ki mora sistem razumeti v trenutku dejanja. Včasih je ta oseba razvijalec. Včasih delavec v klicnem centru. Včasih revizor. Včasih uporabnik, ki prejme zavrnitev. Včasih vodja, ki se odloča, ali je čakalna vrsta varna. Berljivost se začne s tem, da te bralce poimenujemo in opredelimo vprašanja, na katera morajo dobiti odgovor.
Za vsako pomembno stanje bi moral sistem znati povedati, kaj pomeni, kako je bilo doseženo, kdo je njegov lastnik, kateri dokazi ga podpirajo, kaj sledi in kako ga je mogoče popraviti. Za vsak pomemben prehod bi moral ohraniti vzrok, akterja, pravilo, različico in posledico. Za vsako avtomatizacijo bi moral razlikovati priporočilo od odločitve. Za vsako poročilo bi moral prikazati izvor podatkov. Za vsako izjemo bi moral poimenovati pristojni organ. Nič od tega ni glamurozno. To je osnovni pogoj za to, da delo zaupamo stroju, ne da bi pri tem zapustili ljudi okoli njega.
Obstajajo kompromisi. Več vidnih podrobnosti lahko preobremeni. Več strukture lahko upočasni zgodnjo dostavo. Več dokazov lahko sproži vprašanja o shranjevanju in zasebnosti. Natančnejši jezik lahko razkrije nesoglasja, ki so bila prej skrita. To so resnični stroški. A so boljši stroški kot skrito delo večnega razvozlavanja neberljivega sistema. Odgovor ni prikazati vsega povsod. Odgovor je ohraniti pomen dostopen na ravni, kjer se sprejemajo odločitve.
Zvezka s spiralo ne gre romantizirati. Bil je znak skrbi, a tudi simptom neuspeha. Ljudje so storili, kar storijo dobri delavci: zaščitili so delo. Sistem je storil, kar storijo neberljivi sistemi: to zaščito je naredil zasebno, krhko in nepošteno porazdeljeno. Človeški sistem bi se iz zvezka kaj naučil in njegovo znanje pripeljal domov.
Obljuba berljivosti
Obljuba berljivosti je skromna. Ne naredi vsakega procesa preprostega. Ne odstrani presoje. Ne prepreči vsake napake. Organizacij ne reši nesoglasij, saj še nobena programska oprema ni premagala odbora kot življenjske oblike. Kar naredi, je, da ljudem omogoči pravičnejši odnos s sistemi, ki jih upravljajo. Omogoči jim, da vidijo stanja, razloge, dokaze, lastništvo in naslednje korake.
Ta pravičnost ima praktično vrednost. Uvajanje je hitrejše. Incidenti so ožji. Revizije so manj teatralne. Spremembe so manj strašljive. Uporabniki prejmejo jasnejše razlage. Inženirji lahko spreminjajo kodo z boljšim poznavanjem posledic. Vodje vidijo, kje je delo blokirano, namesto kje je nadzorna plošča izumila mir. Sistem postane manj odvisen od zasebnega spomina in bolj odvisen od skupne resnice.
Človeška cena neberljivih sistemov se plačuje v minutah, napakah, previdnosti, stresu in tihi cinizmu. Plačujejo jo ljudje, ki se naučijo skritih pomenov, in ljudje, ki se jih ne. Plačujejo jo uporabniki, ki čakajo, medtem ko osebje razvozlava stroj. Plačujejo jo organizacije, ki izgubijo sposobnost spreminjanja, ker nihče ne more prebrati tega, kar so zgradile.
Berljivi sistemi niso mehkejši sistemi. So sistemi, ki spoštujejo dejstvo, da tehnologijo upravljajo ljudje z omejeno pozornostjo in resnično odgovornostjo. Sistem, ki se lahko pojasni, je lažje zaupati, lažje ga je izpodbijati in lažje popraviti. To ni okras. To je del dela.