Articles

Lucrul este muncă

În care randamentele scad.

12 ian 2020

De fiecare dată când am scris sau am vorbit despre designul organizațional, am regretat-o. Este ceva în legătură cu stabilirea unei poziții care reușește să-mi demonstreze că m-am înșelat câțiva ani mai târziu. Dar m-am gândit din nou îndelung la asta și iată ce am obținut. Puneți-vă centura de siguranță.

La un moment dat, fiecare organizație își dă seama că încetinește. Caracteristicile durează mai mult pentru a fi livrate, oamenii petrec din ce în ce mai mult timp în ședințe și toată lumea intră în panică în ceea ce privește estimarea și planificarea. Dacă am internalizat rahaturi esențialiste despre „jucătorii B care angajează jucători C”, poate că devenim nervoși în legătură cu The Bar și cu angajările. Dacă suntem neliniștiți și nesiguri, s-ar putea să devenimreligioși în legătură cu Agile sau Scrum sau orice altceva. Dacă suntem predispuși la zboruri moderniste de fantezie, am putea decide să ne cheltuim jetoanele de inovație încercând să perturbăm industria veche de 200.000 de ani de a face oamenii să lucreze împreună. Dacă suntem genul de oameni care își fac cei opt și se lovesc de poartă, considerăm că acesta este prețul succesului.

Aceste abordări rareori dau rezultate.

Somnul nostru dogmatic

Majoritatea explicațiilor privind succesul sau eșecul organizațional sunt niște prostii. Relatările emice – de exemplu, cele din interiorul organizației – sunt limitate la acele concepte și narațiuni care există în cadrul organizației. Ele pot servi structural ca narațiuni de sine și pot favoriza un sentiment de identitate și scop în cadrul grupului, dar pentru că provin din echivalentul epistemologic al unui puț de gravitație, puterea lor explicativă în afara organizației respective este de obicei teribilă.

Dacă adoptăm perspectiva etică – adică din afara organizației – putem vedea că explicațiile emice pentru succesul sau eșecul unei organizații au contrafactuale ușor disponibile în alte organizații. Dacă organizațiile agile, organizațiile plate, revizuirile de cod, monoregistrările, birourile deschise, sistemele de tipărire fanteziste etc. ar fi de fapt factorii cauzali pe care se pretinde că sunt, atunci de ce atât de multeorganizații adoptă aceste practici fără succes? De ce există alte organizații de succes care nu au aceste practici? Cum putem face diferența între poveștile cum hoc, ergo prompter hocjust așa și factorii cauzali reali?

Mai important, putem determina superveniența unui anumit set de factori asupra performanței organizaționale, nu doar într-un anumit context, ci în toate organizațiile posibile? Adică, există adevăruri necesare, a priori, ale performanței organizaționale?

Cum se întâmplă, există.

Dacă strângi bine ochii, o organizație care își desfășoară activitatea este doar un proces incredibil de complex, dinamic, distribuit și paralel. Dispunem de instrumente foarte bune pentru a înțelege în linii mari cum funcționează acestea, datând cel puțin de la comentariul lui Manabrea din 1842 către Babbage cu privire la mașina sa analitică. Acum, nu voi pretinde că am dezvoltat psihoistoria și, având în vedere cât de dificil este să prezici comportamentul chiar și al unor sisteme dinamice simple, un model complet predictiv al succesului organizațional pare cu siguranță imposibil.

Dar, la fel ca și Kant încercând să deducă precondițiile necesare ale experienței subiective în Critica rațiunii pure, putem schița limitele a ceea ce o organizație este capabilă să facă și dinamica acesteia pe măsură ce crește. În același mod în care cunoașterea a priori că zece lire sterline cântărește mai mult decât cinci lire sterline informează cât de mult rahat ne putem aștepta să încapă într-o geantă,modelarea organizațiilor ca procese paralele poate informa modul în care le proiectăm.

Ceea ce se întâmplă în interiorul acestor limite este o chestiune de execuție și efort; ceea ce se întâmplă în afara acestor limite este imposibil.

Teciul este scăzut

Capacitatea de muncă a unei organizații se mărește, cel mult, liniar pe măsură ce se adaugă noi membri.Fiecare membru nou într-o organizație adaugă un număr constant de ore de muncă posibile la numărul total de ore de muncă posibile ale angajaților existenți ai companiei. Legea lui Amdahl afirmă că, dată fiind o sarcină fixă, o soluție paralelă care utilizează NNN procesoare va funcționa mai repede decât o soluție secvențială cu cel mult un factor de NNN.

Cum se adaugă resurse paralele, timpul total petrecut în partea paralelizabilă a sarcinii se reduce la zero; în schimb, timpul total petrecut în partea secvențială a sarcinii nu scade niciodată sub o valoare minimă. Acest lucru este la fel de adevărat pentru un grup de oameni care încearcă să scrie software ca și pentru un grup de procesoare care încearcă să modeleze comportamentul stelelor din galaxie. Intuiția noastră ne spune că organizațiile mai mari prezintă comportamente superlineare, dar acest lucru nu poate fi literalmente cazul dacăangajarea este singura variabilă din ecuație. Prin urmare, singura noastră speranță pentru o productivitate superliniară constă în schimbarea sarcinii care este executată. Din fericire, capacitatea de muncă nu este același lucru cu productivitatea.

Pe măsură ce o organizație angajează mai mulți angajați, munca pentru îmbunătățirea productivității trebuie să fie o prioritate constantă. Instrumentarul intern, formarea și serviciile trebuie să fie dezvoltate și puse în aplicare pentru a se asigura că toți membrii sunt capabili să lucreze la probleme cu un impact în continuă creștere. Urmărirea neîncetată a multiplicatorilor de forță de muncă este singura cale posibilă către îmbunătățiri superlineare ale productivității pe măsură ce o organizație crește.

În cele din urmă, trebuie subliniat faptul că această limită liniară a capacității de muncă este un plafon, nu un minim.Nu se poate face mai bine decât liniar, dar cu siguranță se poate face mai rău. Există mulți alți factori care acționează ca o piedică asupra capacității de muncă, iar îmbunătățirile productivității la nivelul organizației sunt esențiale pentru a le diminua.

The Floor Is Lava

Costurile de contractare cresc superlinear pe măsură ce se adaugă noi membri. Soluțiile paralele la sarcini sunt rareori perfect concurente (și, într-adevăr, astfel de sarcini sunt pe bună dreptate numite „jenant de paralele”) și adesea necesită unele secțiuni critice secvențiale. Șirul deCPU sau de persoane care așteaptă să intre într-o secțiune critică poate fi modelat ca o coadă de așteptare, ceea ce ne permite să folosim teoria cozilor de așteptare pentru a înțelege modul în care timpul de ciclu al cozii de așteptare se modifică pe măsură ce dimensiunea acesteia crește. Dacă modelăm coada pentru o secțiune secvențială ca o coadă G/G/G/1G/G/1G/G/1G/G/1, adică fără a face nici o afirmație cu privire la procesul de sosire sau la distribuția timpului de servire, dar presupunând un singur server de coadă (de ex. o singură unitate centrală de procesare sau o singură persoană poate deține blocajul), se ajunge la formula lui Kingman pentru timpul mediu de așteptare: E(Wq)≈(ρ1-ρ)(ca2+cs22)τ\mathbb E(W_q) \approx \left( \frac{\rho}{1-\rho} \right) \left( \frac{c_a^2+c_s^2}{2}\2}\right) \tauE(Wq)≈(1-ρρ)(2ca2+cs2)τ

În mod evident, timpul de așteptare al unei cozi de așteptare crește neliniar în raport cu ρ\rhoρ (utilizarea) și în mod pătratic în raport cu cac_aca (coeficientul de variație pentru sosiri) și csc_scs (coeficientul de variație pentru timpii de servire). (Aceasta este forma cuantificată a intuiției conform căreia cozile de așteptare sunt fie goale, fie supraaglomerate.)

Nu-liniaritatea acestui lucru ar trebui să ne dea de gândit, deoarece creșterea numărului de persoane care concurează pentru o resursă partajată este același lucru cu creșterea lui ρ\rhoρ. În cazul în care disputa pe aceste resurse nu este gestionată, creșterea organizațională poate duce la creșteri catastrofale ale timpului de așteptare. La un moment dat, adăugarea de noi membri poate face ca productivitatea globală a organizației să scadă în loc să crească, deoarece creșterea timpului de așteptare din cauza conflictului este mai mare decât creșterea capacității de lucru. (Aceasta este versiunea organizațională a vârfurilor de latență pe care le observăm atunci când serverele devin supraîncărcate.)

Aceste resurse partajate nu sunt neapărat lucruri fizice, cum ar fi băile sau imprimantele; ele pot fi digitale, cum ar fi fișierele dintr-un depozit de cod sursă sau biletele dintr-un sistem de urmărire a erorilor, sau organizaționale, cum ar fi revizuirile de coduri sau sarcinile de lucru. Ca și în cazul scrierii de aplicații cu un grad ridicat de continuitate, construirea unor organizații cu performanțe ridicate necesită o căutare atentă și continuă a resurselor partajate și dezvoltarea unor strategii explicite de atenuare a impactului acestora asupra performanței.

O strategie aplicată în mod obișnuit, dar rareori reușită, este utilizarea resurselor externe – de exemplu, consultanți, agenții, mărirea personalului – ca o soluție pentru a evita conflictul asupra resurselor interne. În timp ce consultanții pot într-adevăr să se miște rapid într-un mediu cu grad scăzut de contestare, integrarea produsului muncii lor înapoi în resursele contestate are adesea efectul de a umfla csc_scs (variația timpilor de serviciu, sau cât timp este reținută o secțiune critică). Acest lucru produce o creștere cvadratică a timpilor de așteptare, ceea ce crește gradul de utilizare, care la rândul său produce o creștere superliniară a timpilor de așteptare (teoria cozilor de așteptare este o amantă dură), adăugarea de băi pe măsură ce se adaugă angajați)și dezvoltarea de euristici fără stare pentru coordonarea accesului la resursele partajate (de exemplu, gruparea angajaților în echipe).

Ca și în cazul aplicațiilor puternic stratificate, cu cât este mai mare distanța dintre cei care proiectează organizația și activitatea care se desfășoară, cu atât mai mare este riscul de apariție a unor puncte de dispută negestionate. Metodele de organizare de sus în jos pot duce la subdiviziuni care par a fi eforturi paralele atunci când sunt enumerate pe o diapozitivă, dar care, în realitate, sunt foarte interdependente și interconectate. Angajarea de personal pentru eforturi foarte secvențiale ca și cum ar fi în întregime paralele duce la catastrofă.

Hell Is Other People

Costurile de coerență cresc cvadrat pe măsură ce se adaugă noi membri.Lucrul la sarcini complexe folosind resurse paralele (sau cu un grup de persoane) necesităcomunicare. Un grup de 333 persoane are 333 de diade; un grup de 444 are 666; un grup de 555 are101010; un grup de NNN persoane are N2-N2\frac{N^2-N}{2}2N2N2-N de diade posibile. Comunicarea punct-la-punct (adică vorbind unii cu alții) poate fi modelată ca activarea unui subset al acestor diade.

În timp ce unele organizații sunt mai vorbărețe decât altele, această comunicare este esențială pentru schimbul de informații și coordonarea acțiunilor. Dar nu este gratuită. Comunicarea necesită timp. Dacă procentajullativ de persoane care trebuie să vorbească între ele pentru a face ceva rămâne constant pe măsură ce organizația crește (adică x%x\%x% din toate diadele), timpul total petrecut comunicând va crește în mod pătratic, pe măsură ce capacitatea de lucru a organizației crește liniar.

Potem lua în considerare întâlnirile de grup ca o strategie de grupare pentru a reduce numărul de entități implicate în comunicări punct-la-punct, dar eficiența acestei strategii depinde foarte mult de suprapunerealativă a grupurilor și de structurile grupurilor. Gradul de suprapunere a grupurilor este, în esență, același factor ca și procentul de diade necesare pentru comunicare. În cazul în care dimensiunea grupurilor este limitată, creșterea costurilor de coerență va fi redusă cu un factor constant, dar va crește în continuare în mod pătratic. Ar putea fi tentant să încerci să mizezi pe coerență și să mergi doar pe o situație murdară, dar chiar și formele subtile de incoerență au costuri comerciale masive. Singura strategie scalabilă pentru limitarea costurilor de coerență este limitarea la un factor constant a numărului de persoane cu care un individ trebuie să vorbească pentru a-și face treaba.

În ceea ce privește designul organizațional, acest lucru înseamnă limitarea atât a tipurilor cât și a numerelor deconsultanți consultați în procesul organizației. Fiecare persoană sau grup suplimentar într-o matrice de alocare a responsabilităților crește geometric suprafața matricei respective. Fiecare alocare suplimentară de responsabilitate în acea matrice crește geometric costul coerenței organizaționale.

De asemenea, merită remarcat faptul că aceste comunicări în perechi nu trebuie să fie formale, planificate sau chiar bine cunoscute pentru a avea costuri. Nici manualul angajaților și nici calendarul nu sunt reprezentări precise ale modului în care se desfășoară activitatea în organizație. Cu excepția cazului în care organizația dvs. este dotată cuzombi, membrii organizației vor submina în mod constant procedura standard de operare pentru a face munca efectivă. Chiar și furnicile improvizează. O contabilizare precisă a acestor costuri ascunse poate fi dezvoltată în mod normal printr-o analiză onestă, ireproșabilă și continuă, de la un capăt la altul, a muncii pe măsură ce aceasta se desfășoară.

Principii de dincolo de spațiu și timp

Mențineți munca paralelă, grupurile mici și resursele locale.

Când ne confruntăm cu un set de probleme care devin superlinear de dificil de rezolvat pe măsură ce NNN crește, cel mai bun pariu este să menținem NNN mic. Dacă intenția organizației este de a crește livrarea de valoare prinangajarea mai multor persoane, eforturile de lucru trebuie să fie cât mai independente posibil. Liderii ar trebui să dezvolte practici și procese pentru a se asigura că eforturile de lucru pe care strategiile lor le consideră paralele sunt de fapt paralele. Resursele partajate ar trebui să fie gestionate în permanență pentru a evita conflictele și, atunci când este posibil, resursele de care un grup are nevoie ar trebui să fie repartizate în cadrul grupului respectiv (de exemplu, dacă activitatea implică multă proiectare, ar trebui să se angajeze un proiectant în cadrul grupului respectiv). Doctrina armelor combinate nu este doar pentru soldați.

Prioritizați dezvoltarea de multiplicatori de forță.

Dacă o organizație lucrează în mare parte la aceleași tipuri de probleme ca și în anii precedenți, este un motiv de îngrijorare. Echipele dedicate instrumentării interne ar trebui să fie dotate cu personal și să primească direcția explicită de a construi instrumente și de a optimiza procesele pentru a ajuta la creșterea productivității colegilor lor. Dacă procentul din organizație dedicat îmbunătățirii modului de lucru al organizației începe să scadă, întrebați-vă – am atins un maxim global sau local? Mergeți mult pe instrumente cu efect de pârghie ridicat, dar rămâneți cu picioarele pe pământ pentru a vedea dacă acestea ajută cu adevărat.

Dacă este posibil, factorizați produsele de lucru în module independente; dacă nu, creșteți încet și optimizați.

Dacă produsul dvs. de lucru – de exemplu, baza de cod, documente etc. – poate fi factorizat în module independente, faceți-o. Cuvântul cheie aici este independent. Împărțirea rahatului dvs. într-o sută de microservicii nu vă va ajuta dacă toată lumea trebuie să schimbe zece dintre ele pentru a face ceva. Unele probleme nu se pretează în mod deosebit la împărțire; acestea sunt, de asemenea, probleme care nu beneficiază prea mult de lucrători suplimentari. În cazul în care problema este un punct fix, căutați modalități de optimizare a părții secvențiale a muncii. Să știți că aruncarea de corpuri la acea problemă va produce un clusterfuck.

Eforturile organizaționale de scară pe un portofoliu de produse sinergice.

Majoritatea afacerilor inteligente încep cu un singur produs. Ele merg pe termen lung pe ipoteza produsului lor, își pun ouăle într-un singur coș și se dau în vânt pentru garduri. Dacă sunt suficient de norocoase pentru a obține tracțiune,se dublează pe acest lucru. Terminat. Și iar și iar. Și iar și iar. La un moment dat, au mai multe batalioane de oameni care se învârt în jurul lor, toți încercând să-și dea seama cui aparține interfața de utilizator a turboencablatorului și dacă noile avioane de marșarier vor fi sau nu complet antigravitaționale până la marea campanie de marketing din toamnă.

Pentru a evita acest lucru, liderii organizației ar trebui să mențină dezvoltarea unui portofoliu de produse ca obiectiv explicit. Ideile de caracteristici sau de produse care sunt complementare strategiei generale de afaceri a organizației, dar care nu coexistă în mod natural cu produsul principal, pot fi dezvoltate ca produse separate de către echipe independente. Avem dovezi că programele de dezvoltare de software pot fi scurtate cu cel mult 25%; ar trebui să fie ușor de ales între un singur produs în 18 săptămâni sau două produse în 24 de săptămâni.

Produsele noi de succes pot fi integrate în mod incremental cu produsele existente acolo unde acest lucru are sens, iar uneltele, bibliotecile și cadrele pot fi dezvoltate de echipe de multiplicatori de forță pentru a reduce atât timpul de lansare pe piață a noilor produse, cât și costurile de întreținere a produselor existente. Noile produse nereușite pot fi scoase cu grație de pe piață la un cost mult mai mic decât caracteristicile de complexitate similară. La urma urmei, eliminarea unei caracteristici dintr-un produs implică aceleași costuri de contencios și coerență ca și adăugarea unei caracteristici. Este rar ca o caracteristică să prezinte un cost de transport mai mare decât costul eliminării sale, de unde și prevalența caracteristicilor de tip Flying Dutchman.

Ca exemplu concret al virtuții unui portofoliu de produse, imaginați-vă Amazon Web Services ca pe un singur produs, dotat cu o sută de mii de suflete osândite și având în față o interfață cu o interfață de utilizator care este doar o serie de butoane care vă permit să provizionați și să operați mașini virtuale, baze de date, lacuri de date, aplicații robotice, aplicații de realitate augmentată, dinguri IoT și multe altele. O astfel de creatură ar face implozie sub propria greutate.

În schimb, Amazon Web Services este un portofoliu de produse sinergice. EC2 are propriul său set independent de caracteristici, dezvoltat și operat de un set independent de angajați. Atunci când nevoile sale pot fiasigurate de un alt produs AWS (de exemplu, stocarea imaginilor de mașini virtuale pe S3 sau trimiterea de măsurători cătreCloudWatch), se introduce o integrare între produse. Această structură de produse permite o structură organizatorică extrem de actuală care permite companiei Amazon să lanseze un număr fulminant de produse noi în fiecare an, continuând în același timp să susțină și să dezvolte produsele existente. Serviciile nereușite pot fi eliminate sau reduse fără a perturba restul organizației.

Păstrați matricile de atribuire a responsabilităților mici, rare și locale.

Pe măsură ce o organizație se maturizează, rolurile ad-hoc sunt adesea transformate în echipe complete. Această specializare este adeseori critică pentru a construi economii interne de scară, dar formalizarea de noi circumscripțiitrebuie ținută sub control. Fiecare coloană din matricea de atribuire a responsabilităților extinde în mod geometric setul posibil de interacțiuni necesare; fiecare atribuire din matrice este un punct de coordonare care necesită așteptare. În cazul în care o matrice indică o relație de mare atingere între două grupuri (de exemplu, un grup de ingineri care lucrează la o caracteristică și avocații care încearcă să asigure conformitatea juridică a acelei caracteristici), ar trebui să se facă eforturi pentru a reduce costul acestei interacțiuni prin colocarea membrilor lor (de ex, încorporarea unui avocat alături de ingineri).

Prioritizează distribuția asincronă a informațiilor în detrimentul celei sincrone.

O sursă semnificativă de eșec a cererii de întâlniri și actualizări de stare este dorința liderilor organizaționali de a fi la curent cu cine face ce. Această conștientizare a situației este într-adevărimportantă, dar încercarea de a o menține prin convocarea de întâlniri, trimiterea de mesaje oamenilor pe Slack și prinderea oamenilor pe holuri este o piedică sistemică semnificativă asupra productivității organizaționale.

Un model mai bun pentru a rămâne la curent cu evoluțiile pe măsură ce organizația se extinde este ca grupurile săpublice actualizări de stare ca parte a cadenței regulate a activității lor. Liderii pot citi în mod asincron aceste actualizări și, dacă este nevoie, pot iniția conversații suplimentare, sincrone, pentru a pune întrebări, a oferi feedback etc.

Reuniunile sincrone ar trebui să fie rezervate pentru colaborarea cu latență redusă în probleme complexe; la fel, colaborarea ar trebui să fie rezervată pentru întâlnirile sincrone.

Ce se întâmplă în interiorul granițelor este important.

Că cunoaștem unele dintre granițele performanței organizaționale și dinamica lor nu ne scuză să ne folosim empatia pentru a construi organizații umane. Companiile sunt grupuri de oameni care suntcompensați pentru că sunt nevoiți să își petreacă o parte din viața lor finită fără a fi alături de partenerii lor, de copii, de animalele de companie sau de hobby-uri super ciudate. Aceștia merită să fie membri ai unor organizații care onorează acest timp, asigurându-se că munca lor are valoare și sens. Nu există un model matematic care să ne ghideze spre acest obiectiv.

Mulțumim diverșilor Fiascani pentru revizuirea acestei postări. Orice greșeli din acest articol sunt ale mele, nu ale lor.

.