1.10

View in English

1.10 Teknisk effektivitet och utvecklarproduktivitet

Översikt och motivation

Varje ledare i en stor programvaruorganisation ställer förr eller senare en variant av samma fråga: blir vi bättre på att bygga programvara, och hur skulle vi veta det? Det här kapitlet handlar om att besvara den ärligt. Teknisk effektivitet är hur väl din organisation förvandlar utvecklingsinsats till värdefull, pålitlig programvara. Utvecklarproduktivitet är den individuella och teambaserade sidan av det: hur mycket användbart resultat en utvecklare kan åstadkomma, och hur mycket av sin tid och uppmärksamhet arbetsmiljön ger tillbaka i stället för att ta ifrån dem.

Trubbeln börjar i samma stund någon försöker reducera detta till ett enda tal. Räkna kodrader och människor skriver mer kod. Räkna berättelsepoäng och uppskattningar inflateras. Räkna commits, pull requests eller timmar vid skrivbordet, och du belönar rörelse i stället för framsteg. Produktivitet för en kunskapsarbetare är inte ett antal tillverkade enheter. En utvecklare som tar bort tio tusen rader död kod, eller som spenderar en dag på parprogrammering så att en kollega undviker ett produktionsavbrott, har gjort ett utmärkt arbete som inget naivt mått fångar. Det ärliga svaret på “hur produktiva är vi?” är flerdimensionellt, och det behandlar utvecklarens upplevelse av arbetet som en verklig signal snarare än en mjuk.

Detta spelar större roll, inte mindre, när du skalar. I ett företag med dussintals team multipliceras små mängder friktion (ett långsamt bygge, en opålitlig testsvit, två dagars väntan på en miljö) över hundratals ingenjörer till enorm förlorad kapacitet. I offentlig sektor, där det inte finns något marknadspris på resultat, är risken “resultatteater”: att mäta producerade dokument eller stängda ärenden medan det offentliga värdet förblir omätt. Målet med det här kapitlet är att hjälpa dig mäta och förbättra den tekniska organisationens effektivitet och utvecklarnas dagliga upplevelse, utan manipulation, övervakning eller rangordning av människor mot varandra.

Nyckelprinciper

  • Produktivitet är flerdimensionell. Inget enskilt tal fångar den. Varje mått som erbjuds som måttet är fel.
  • Mät för att ta bort friktion, inte för att rangordna människor. Det som mäts är systemet, inte individen.
  • Triangulera. Kombinera hur utvecklare säger att arbetet känns med vad systemen faktiskt registrerar.
  • Utvecklarens upplevelse är data. Återkopplingsslingor, kognitiv belastning och flöde är mätbara och värda att förbättra.
  • Utgå från att varje mått kommer att manipuleras. Utforma mot Goodharts lag med flera dimensioner och ärlig avsikt.
  • Koppla till resultat, försiktigt. Effektivitet bör ansluta till affärsvärde utan att bli ett mål som korrumperar.

Rekommendationer

Avvisa fällan med ett enda mått

Den första disciplinen är att vägra utse ett tal till produktivitet. Kodrader, antal commits, velocity i berättelsepoäng och loggade timmar delar alla ett ödesdigert fel: de mäter aktivitet, inte värde, och aktivitet är trivial att blåsa upp. Det är Goodharts lag i praktiken, principen att när ett mått blir ett mål slutar det vara ett bra mått. Velocity uppfanns som ett teams eget prognoshjälpmedel. I samma stund en chef jämför ett teams poäng med ett annats skalar teamen i det tysta om sina uppskattningar och talet blir meningslöst. När någon kräver en enda produktivitets-KPI, behandla det som en begäran du måste omforma, inte uppfylla. Erbjud i stället en liten balanserad uppsättning och förklara varför ett enda tal skulle vilseleda dem.

Använd SPACE för att strukturera vad du mäter

SPACE-ramverket ger de fem dimensioner som är värda att hålla samman: Satisfaction and well-being (tillfredsställelse och välmående), Performance (prestation), Activity (aktivitet), Communication and collaboration (kommunikation och samarbete) och Efficiency and flow (effektivitet och flöde). Poängen med SPACE är att du bör välja minst några dimensioner, aldrig bara en och aldrig alla från samma kategori. Aktivitetsmått (commits, driftsättningar) är förföriska eftersom de är lätta att samla in, men ensamma förvränger de. Para dem med en tillfredsställelsesignal och en prestationssignal så att ingen enskild dimension kan manipuleras utan att de andra avslöjar det. Ett team som levererar fler driftsättningar medan tillfredsställelsen rasar och andelen misslyckade ändringar stiger är inte mer produktivt, och en balanserad uppsättning visar dig det direkt.

Behandla utvecklarupplevelse som återkopplingsslingor, kognitiv belastning och flöde

Utvecklarupplevelse (DevEx) är hur det känns att göra tekniskt arbete här, och den är mer konkret än den låter. Den vilar på tre saker du kan mäta och förbättra. Återkopplingsslingor är hur länge en utvecklare väntar på att få veta om något fungerade: lokal byggtid, testsvitens varaktighet, granskningens svarstid, driftsättningstid. Långsamma slingor tvingar fram kontextbyten och tomt väntande. Kognitiv belastning, den totala mentala ansträngning en uppgift kräver, växer när en utvecklare måste jonglera för många verktyg, odokumenterade system och trasslade beroenden för att göra en enkel ändring. Flöde är tillståndet av fokuserad, produktiv fördjupning som fragmenterade kalendrar och ständiga avbrott förstör. När du förkortar en återkopplingsslinga, tar bort ett begrepp en utvecklare behövde hålla i huvudet eller skyddar ett block av fokustid har du förbättrat produktiviteten på ett sätt som inget aktivitetsmått registrerar. Det är samma DevEx-angelägenhet som plattformsutveckling tjänar genom upptrampade stigar och självbetjäning (kapitel 8.4).

Triangulera uppfattningar med systemmått

Ingen enskild datakälla är pålitlig ensam, så kombinera två slag. Perceptionsdata kommer från utvecklarna själva genom en utvecklarupplevelseenkät: ett regelbundet, mestadels anonymt frågeformulär som frågar hur säkra de känner sig när de levererar, var de förlorar tid och vad som frustrerar dem. Systemdata kommer från dina verktyg: pipelinetider, granskningsfördröjning, incidentfrekvens. Var och en korrigerar den andra. Enkäter fångar smärta som instrument missar, som en demoraliserande jourrotation eller en fruktad äldre tjänst. Systemmått fångar problem människor har normaliserat och slutat rapportera. När en enkät säger att bygget är smärtsamt och din pipelinedata bekräftar ett medianbygge på femton minuter har du en prioriterad, försvarbar investering. Kör enkäten i jämn takt, håll den kort och slut alltid slingan genom att visa vad som ändrades på grund av den.

Använd DORA som en leveranssignal, inte en resultattavla

De fyra DevOps Research and Assessment (DORA)-måtten (driftsättningsfrekvens, ledtid för ändringar, andel misslyckade ändringar och tid till återställning av tjänst) är en stark, forskningsbaserad bild av din leveransförmåga, som parar hastighet med stabilitet så att ingen offras för den andra. Kapitel 11.5 äger djupet i dessa, och kapitel 11.2 behandlar leveranspipelinen de mäter. Använd dem där. Här handlar vägledningen om hur du håller dem. Behandla DORA som en hälsosignal på teamnivå som visar om ditt leveranssystem förbättras, inte som en resultattavla för att rangordna team eller individer. I samma ögonblick DORA-talen dyker upp i någons prestationsbedömning börjar team dela upp driftsättningar för att fylla ut frekvensen och dölja incidenter för att skydda sin felfrekvens, och signalen dör.

Mät systemet, övervaka aldrig individen

Det här är gränsen du inte får passera. Aggregera mått till team- och organisationsnivå och använd dem för att hitta och ta bort friktion. Bygg inte instrumentpaneler som rangordnar utvecklare efter commits, timmar eller “produktivitetspoäng”, och låt inte individuell telemetri mata lön eller befordran. Övervakning förstör den psykologiska trygghet och det förtroende effektiv utveckling är beroende av, och den lär människor att optimera måttet i stället för arbetet. Individuell utveckling och bedömning hör hemma i de separata, mänskliga mekanismerna karriärstegar och chefssamtal (kapitel 1.3). Effektivitetsmätning frågar “vad bromsar våra team?” Den frågar aldrig “vem är vår långsammaste ingenjör?”

Angrip slit och friktion direkt

När du kan se var tid läcker, spendera tillbaka den. Mycket av det som begränsar effektiviteten är slit (toil), det manuella, repetitiva, automatiserbara arbete som skalar med tillväxten och inte levererar något bestående värde (kapitel 9.1). Långsamma granskningar är också friktion, så att effektivisera kodgranskning (kapitel 2.5) med mindre ändringar och tydliga förväntningar förkortar en central återkopplingsslinga. Upptrampade stigar och självbetjäningsplattformar (kapitel 8.4) tar bort hela kategorier av väntan och kognitiv belastning på en gång. Budgetera också mot teknisk skuld, den ackumulerade kostnaden för tidigare genvägar som beskattar varje framtida ändring, eftersom en kodbas ingen säkert kan ändra är den djupaste produktivitetsfällan av alla.

Avvägningar: för- och nackdelar

TillvägagångssättFördelarNackdelar
Ett enda produktivitetsmått (kodrader, velocity, commits)Billigt, enkelt, ett tal för ledareManipuleras omedelbart. Mäter aktivitet, inte värde. Nöter på förtroendet
Balanserad SPACE-liknande uppsättningMotstår manipulation. Speglar verklighetenMer arbete att samla in. Svårare att sammanfatta i en siffra
DevEx-enkät (perceptuell)Fångar upplevd smärta som instrument missarSubjektiv. Behöver förtroende och uppföljning för att förbli ärlig
Systemmått (DORA, pipelinetider)Objektiva, kontinuerliga, svåra att förfalska i aggregatBlinda för moral och sammanhang. Farliga om de tillämpas på individer
Triangulering av bådaVarje källa korrigerar den andra. RobustKräver investering i verktyg och enkätdisciplin

Den centrala spänningen är stringens mot ärlighet. Ett enda tal är lätt att rapportera och lätt att korrumpera. En rik, flerdimensionell bild är ärlig men svårare att förmedla till en upptagen chef. Lös det genom att välja en liten balanserad uppsättning (några SPACE-dimensioner plus en enkät plus DORA som leveransavläsning), rapportera trender snarare än ögonblicksbilder och vara tydlig med att talen finns för att förbättra systemet, inte för att poängsätta människor. När ledningen vill ha “ett diagram”, ge dem en trend av några kompletterande signaler och stå emot frestelsen att slå ihop dem till en falsk sammansatt siffra.

Frågor att diskutera med ditt team

  1. Om en ledare krävde ett enda produktivitetstal i morgon, vad skulle ni ge dem? Den här frågan avslöjar om er organisation förstår fällan. Det ärliga svaret är att inget enskilt tal är säkert, och ert jobb är att omforma begäran till en liten balanserad uppsättning som motstår manipulation. Ta med de mått ni redan rapporterar och fråga för vart och ett: “hur skulle ett smart, cyniskt team blåsa upp detta utan att göra ett bättre arbete?” Om svaret är lätt är måttet farligt i samma stund som det blir ett mål. Diskutera vad ni skulle erbjuda i stället, och hur ni skulle förklara för ledningen varför ett enda tal skulle vilseleda dem att optimera fel sak. Kvaliteten på det samtalet förutsäger om mätning kommer att hjälpa er eller korrumpera er.

  2. Vilken är er långsammaste återkopplingsslinga, och vad kostar den er varje dag? Återkopplingsslingor är där produktivitet i det tysta läcker: ett bygge på femton minuter, två dagars väntan på granskning, en opålitlig testsvit som urholkar tilliten till varje grön markering. Ta med verkliga siffror från en utvecklarupplevelseenkät och från era pipelineinstrument, och se om den upplevda smärtan och den uppmätta fördröjningen stämmer överens. Uppskatta den dagliga kostnaden genom att multiplicera väntan med hur många utvecklare som drabbas hur ofta, så brukar argumentet för investering tala för sig självt. Besluta vilken slinga ni ska förkorta först och vem som äger åtgärden. Ett team som inte kan namnge sin långsammaste slinga har ännu inte börjat mäta det som spelar störst roll.

  3. Var riskerar er mätning att kännas som övervakning, och hur förhindrar ni det? Skillnaden mellan att mäta systemet och att bevaka människor är skillnaden mellan förtroende och rädsla, och den är lätt att passera utan att märka det. Gå igenom varje instrumentpanel och rapport och fråga om någon av dem skulle kunna rangordna en individ eller mata en prestationsbedömning. Besluta uttryckligen vad som förblir aggregerat, vad som förblir anonymt och vad som är förbjudet, och säg det öppet till de team som mäts. I företags- och myndighetsmiljöer, där tillsyns- och revisionstrycket är starkt, är frestelsen att borra ned till individer ständig, så skyddsräcket måste vara en uttalad princip, inte ett hopp. Om utvecklare tror att talen används mot dem kommer de att optimera talen och sanningen försvinner.

  4. Förra gången vi frågade utvecklare hur arbetet känns, vad ändrades på grund av det, och fick de någonsin veta det? En enkät som inte ger någon synlig åtgärd lär utvecklare att sluta svara ärligt, så den andra tysta enkäten drar färre och tamare svar än den första, och instrumentet ni förlitar er på förfaller precis när ni skalar det. För en stor organisation växer slöseriet: hundratals människor lägger tid på att rapportera friktion, en rapport cirkulerar och inget levereras. Ta med den senaste enkätens tre främsta fynd, det konkreta arbete var och ett utlöste och hur ni kommunicerade resultatet tillbaka till dem som lyfte det. Väg det motstridiga draget mellan att agera på den högljuddaste klagomålet och att agera på det mest utbredda, eftersom de ofta är olika problem. I företags- och myndighetsmiljöer, där enkättrötthet och samrådsöverbelastning redan är hög, behandla att sluta slingan som ett styrningsåtagande: namnge vem som äger svaret, publicera vad som ändrades och acceptera att en obesvarad enkät är värre än ingen alls.

  5. Hur skulle vi jämföra team utan att bygga en resultattavla som straffar ärlighet? Ledare i stora organisationer vill naturligt veta vilka team som blomstrar och vilka som kört fast, men att rangordna team efter rå velocity, driftsättningsfrekvens eller DORA-tal bortser från att ett betalningsteam under tung reglering och ett prototypteam på grön åker lever i olika världar. Den motstridiga hänsynen är verklig: ni behöver upptäcka team i trubbel och sprida det som fungerar, men i samma stund jämförelsen blir en resultattavla skalar team om uppskattningar, döljer incidenter och delar upp driftsättningar för att skydda sin ställning. Ta med specifika exempel på hur teamkontexter skiljer sig i er organisation, tillsammans med ett förslag att jämföra varje team med sin egen utveckling över tid snarare än med sina grannar. I företags- och myndighetsmiljöer, där revisions- och tillsynstryck driver hårt mot rangordning mellan team, kom överens i förväg om vad som får jämföras, vad som bara någonsin ska läsas som en trend per team och vem som har befogenhet att vägra en orättvis jämförelse.

  6. Hur kopplar vi effektivitet till verkliga resultat utan att göra ett leveransmått till ett korrumperande mål? Effektivitet som aldrig ansluter till värde ser ut som navelskådning för ledningen, men i samma ögonblick en leveranssignal som ledtid eller driftsättningsfrekvens blir målet i en prestationsbedömning optimerar team talet och överger det resultat det var tänkt att representera. För en stor organisation är spänningen akut, eftersom chefer vill ha en ren linje från utvecklingsinsats till affärsresultat medan den ärliga linjen är rörig och fördröjd. Ta med era nuvarande resultatmått, de leveranssignaler ni skulle koppla dem till och en uttrycklig redogörelse för hur var och en kunde manipuleras om den blev ett mål. Väg draget mellan en enkel berättelse ledningen kan återge och en sanningsenlig bild som motstår förvrängning. I offentlig sektor eller en intern plattform utan marknad, där det inte finns intäkter att förankra värdet i, var beredd att definiera resultat som tjänstetillförlitlighet, cykeltid på rättelser och samhällsnytta snarare än rå aktivitet, och att försvara det valet inför tillsynsorgan som kanske föredrar lättare räknade artefakter.

Sektorsperspektiv

Startup. Med en handfull ingenjörer och kort löptid, hoppa över instrumentpaneler helt och mät de två saker som rör sig snabbast: en utvecklarupplevelseenkät på tio frågor och grundläggande pipelinetider. Din största produktivitetsrisk är en långsam eller opålitlig testsvit och ständiga kontextbyten, så hitta den sämsta återkopplingsslingan, förkorta den och gå vidare. Bygg inte ett mätprogram du inte har någon att driva, för ett enda ärligt samtal om var dagen läcker slår alla verktyg du sedan måste underhålla.

Småföretag. Utan mätspecialist och med snäv budget, lita på det dina befintliga verktyg redan registrerar: byggtider, granskningsfördröjning och incidentantal från systemen du redan betalar för. Köp ett lätt enkätverktyg i stället för att bygga ett och stå emot leverantörens pitch om en instrumentpanel för individuell produktivitet, som kommer att kosta dig förtroende du inte har råd att tappa. Rama in hela insatsen som att ta bort friktion för ett litet team som inte har råd att slösa någons dag.

Storföretag. Över dussintals team är vinsten återvunnen kapacitet i stor skala, och faran är en central instrumentpanel som i det tysta glider in i att rangordna människor. Standardisera ett balanserat program (en kvartalsvis DevEx-enkät, några SPACE-dimensioner och DORA läst som en leveranstrend per team) och styr det så att individuell telemetri aldrig samlas in. Jämför varje team med dess egen utveckling, motivera plattformsinvestering (kapitel 8.4) mot den friktion datan avslöjar och ge en ansvarig ägare befogenhet att vägra varje mått som skulle bli en resultattavla.

Offentlig sektor. Utan marknadspris på resultat och med starkt tillsynstryck är dragningen mot resultatteater (att räkna dokument och stängda ärenden) ständig, och dragningen mot att övervaka namngivna individer under revision är ännu starkare. Mät i stället resultat och leveransförmåga: hur snabbt en tjänst levererar en rättelse, hur pålitlig den är och hur personal och konsulter upplever arbetet genom en anonym enkät. Mät tjänstemän och konsulter på samma systemnivå, publicera vad mätningen är till för och var beredd att argumentera inför en lagstiftande församling att en leveranstrend per team är en ärligare bild av offentligt värde än varje individuell poäng.

Exempel

Startup. En startup med tjugo personer märker att leveransen har blivit långsammare trots att alla är upptagna. I stället för att installera en produktivitetsinstrumentpanel kör teknikchefen en DevEx-enkät på tio frågor och hämtar grundläggande pipelinetider. Enkäten och datan stämmer överens: testsviten tar tjugotvå minuter och fallerar slumpmässigt, så människor samlar ändringar och byter kontext medan de väntar. Teamet lägger två veckor på att åtgärda opålitliga tester och parallellisera sviten och kapar den till fyra minuter. Driftsättningsfrekvensen stiger av sig själv, tillfredsställelsen hoppar i nästa enkät och ingen rangordnades eller poängsattes för att få det att hända.

Storföretag. En bank med fyrtio utvecklingsteam vill motivera fortsatt investering i sin interna plattform. Plattformsgruppen inför ett balanserat mätprogram: en kvartalsvis DevEx-enkät över alla team, SPACE-liknande signaler och DORA-mått lästa på teamnivå som en trend för leveranshälsa (kapitel 11.5). Avgörande är att de jämför team rättvist genom att jämföra varje team med sin egen utveckling över tid, inte mot varandra, eftersom teamkontexter skiljer sig vilt. Datan visar att team på upptrampade stigar (kapitel 8.4) introducerar nya ingenjörer på dagar snarare än veckor och rapporterar långt lägre kognitiv belastning. Det beläggets, inramat som återvunnen kapacitet över hundratals utvecklare, finansierar plattformen ytterligare ett år. Individuell telemetri samlas medvetet aldrig in.

Offentlig sektor. En federal myndighet för digitala tjänster måste visa en lagstiftande församling att dess utvecklingsutgifter ger värde, i en miljö utan marknadspris på resultat. Den avvisar resultatteater (att räkna dokument eller stängda ärenden) och mäter i stället resultat och leveransförmåga: hur snabbt tjänster kan leverera en rättelse, hur pålitliga de är och hur arbetsstyrkan och dess konsulter upplever arbetet genom en anonym enkät. DORA-liknande leveranssignaler visar om moderniseringen faktiskt förbättrar genomströmning och stabilitet, kopplat tillbaka till offentliga resultat snarare än rå aktivitet (kapitel 11.5). Eftersom mätningen aldrig rangordnar individer, och eftersom konsulter och tjänstemän mäts på samma systemnivå, undviker myndigheten de övervaknings- och moralproblem som sänker sådana insatser och ger tillsynsorgan en ärlig bild av värdet.

Affärsnytta: motiv, ROI och TCO

Avkastningen på att mäta och förbättra effektivitet är återvunnen kapacitet, och i stor skala är talen stora. Små friktioner multipliceras över en stor organisation: ett bygge på tio minuter som hundra ingenjörer drabbas av flera gånger om dagen är tusentals ingenjörstimmar om året som spenderas på att vänta. Förkorta den slingan och du har lagt till betydande kapacitet utan att anställa någon. Den dominerande ROI:n här är densamma som i plattformsutveckling (kapitel 8.4): dyr utvecklingstid omdirigerad från väntan och slit mot värdefullt arbete.

Den totala ägandekostnaden är måttlig men verklig. Du betalar för enkätverktyg och disciplinen att driva dem, för att instrumentera pipelines och för ledningens uppmärksamhet att läsa trender och agera på dem. Den större risken för ROI är att mäta dåligt. Ett enda manipulerat mått eller ett övervakningsprogram kan ge negativ avkastning: månader av arbete med att optimera ett tal medan verkliga resultat stagnerar, plus den förtroendeurholkning som gör varje framtida förändring svårare. Kostnaden för att inte mäta alls är diffus och enorm: friktion och slit ackumuleras osynligt, seniora ingenjörer bränns ut på undvikbart slöseri och ledningen kan inte avgöra om investeringar hjälper. Argumentera inför ledningen som hävstång och ärlighet: ett litet, betrott, balanserat mätprogram som hittar var en stor arbetsstyrka förlorar tid och betalar sig själv många gånger om i samma stund du agerar på det första fyndet.

Antimönster och fallgropar

  • Det enda produktivitetsmåttet. Varje enskilt tal (kodrader, velocity, commits, timmar) manipuleras den dag det blir ett mål.
  • Rangordning av individer. Resultattavlor och individuella “produktivitetspoäng” förstör förtroendet och lär människor att optimera måttet.
  • Mätning som övervakning. Finkornig individuell telemetri som matar bedömningar nöter på den psykologiska trygghet effektivt arbete behöver.
  • Enkäter utan uppföljning. Att fråga utvecklare hur arbetet känns och sedan inte ändra något lär dem att sluta svara ärligt.
  • Att jämföra teamens råa tal. Teamkontexter skiljer sig. Jämförelser av velocity eller DORA mellan team straffar ärlighet och belönar manipulation.
  • Resultatteater. Att räkna producerade artefakter (dokument, ärenden, levererade funktioner) medan verkliga resultat förblir omätta, vanligt där marknadspris saknas.
  • DORA i en prestationsbedömning. I samma stund leveransmått poängsätter människor döljer team incidenter och delar upp driftsättningar, och signalen dör.

Mognadsmodell

  • Nivå 1, Initiera: Produktivitet bedöms på magkänsla eller ett enda manipulerbart mått som kodrader, velocity eller timmar. Mätning är ad hoc och reaktiv, friktion är osynlig, klagomål är anekdotiska och ingen kan säga om organisationen blir bättre.
  • Nivå 2, Utveckla: Vissa team antar grundläggande praxis: några mått, ofta aktivitetsantal, och då och då en utvecklarupplevelseenkät. Praxis är inkonsekvent från team till team, data samlas in men sällan agerar man på den, råa jämförelser mellan team smyger sig in och det finns ingen gemensam princip som skyddar individer från rangordning.
  • Nivå 3, Standardisera: Ett balanserat mätprogram är dokumenterat och tillämpas i hela organisationen, med SPACE-liknande dimensioner, en regelbunden DevEx-enkät och DORA som leveranssignal (kapitel 11.5). Mått aggregeras till team enligt policy, individer rangordnas aldrig och fynd driver konkret arbete för att förkorta återkopplingsslingor och skära slit (kapitel 9.1).
  • Nivå 4, Hantera: Programmet mäts och styrs mot utgångslägen. Återkopplingsslingors tider, enkätresultat och DORA-trender bär överenskomna mål och följs över tid. Varje team jämförs med sin egen utveckling snarare än med sina grannar. Plattforms- och sliminskningsinvesteringar motiveras med före-och-efter-data om återvunnen kapacitet. Och en försämring av någon signal utlöser granskning i stället för att passera obemärkt.
  • Nivå 5, Orkestrera: Mätning är betrodd, rutinmässig och adaptiv. Perceptions- och systemdata trianguleras, trender matar kontinuerlig förbättring, friktion och kognitiv belastning jagas och tas aktivt bort, själva måttuppsättningen revideras när organisationen förändras och effektivitet integreras med affärs- och samhällsresultat utan att något mått tillåts bli ett korrumperande mål.

Idéer för diskussion

  1. Vilka av era nuvarande mått skulle ett cyniskt team kunna blåsa upp utan att göra ett bättre arbete, och vad skulle ni ersätta dem med?
  2. Om ni kunde förkorta exakt en återkopplingsslinga i hela organisationen, vilken skulle ge mest återvunnen kapacitet?
  3. Hur skulle ni jämföra många team rättvist när deras kontexter skiljer sig, utan att skapa en resultattavla som straffar ärlighet?
  4. Var går gränsen mellan att mäta systemet och att övervaka individen, och vem i er organisation har befogenhet att upprätthålla den?
  5. I en miljö utan marknadspris på resultat, som myndigheter eller en intern plattform, hur mäter ni verkligt värde i stället för aktivitet?
  6. Vad skulle ni visa en utvecklare för att bevisa att detta kvartals enkät ändrade något?

Viktigaste punkter

  • Produktivitet för ingenjörer är flerdimensionell. Avvisa varje enskilt tal (kodrader, velocity, commits, timmar) som måttet, eftersom Goodharts lag garanterar att det kommer att manipuleras.
  • Använd SPACE-ramverket (tillfredsställelse och välmående, prestation, aktivitet, kommunikation och samarbete, effektivitet och flöde) för att hålla flera dimensioner samman så att ingen enskild dimension kan manipuleras ensam.
  • Utvecklarupplevelse handlar i grunden om återkopplingsslingor, kognitiv belastning och flöde. Att förkorta slingor och ta bort belastning är verklig produktivitet som aktivitetsmått aldrig visar.
  • Triangulera perceptionsdata från en DevEx-enkät med systemdata från era verktyg. Var och en korrigerar den andra.
  • Behandla DORA-måtten som en leveranssignal på teamnivå, inte en resultattavla. Deras djup finns i kapitel 11.5 och pipelinen i kapitel 11.2.
  • Mät systemet, aldrig individen. Aggregera till team, håll bedömning i de separata mänskliga kanalerna i kapitel 1.3 och låt aldrig mätning bli övervakning.
  • Spendera återvunnen tid på att skära slit (kapitel 9.1), snabba upp kodgranskning (kapitel 2.5) och trampa upp stigar (kapitel 8.4). Koppla effektivitet till affärsresultat utan att låta något mått bli ett korrumperande mål.

Referenser och vidare läsning

  • Nicole Forsgren, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler, “The SPACE of Developer Productivity” (ACM Queue, 2021): the multidimensional framework.
  • Abi Noda, Margaret-Anne Storey, Nicole Forsgren, and Michaela Greiler, “DevEx: What Actually Drives Productivity” (ACM Queue, 2023): feedback loops, cognitive load, and flow.
  • Nicole Forsgren, Jez Humble, and Gene Kim, Accelerate: The Science of Lean Software and DevOps (the DORA metrics and their research basis).
  • DORA, Accelerate State of DevOps Report (annual): the ongoing research programme behind the four metrics.
  • Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy, eds., Site Reliability Engineering (toil and its elimination).
  • Matthew Skelton and Manuel Pais, Team Topologies (cognitive load as a first-class design concern).
  • Mihaly Csikszentmihalyi, Flow: The Psychology of Optimal Experience (the origin of flow state).
  • Tom DeMarco and Timothy Lister, Peopleware: Productive Projects and Teams (focus, interruption, and the human side of productivity).
  • Goodhart, C. A. E., “Problems of Monetary Management: The UK Experience” (1975): the origin of Goodhart’s law; see also Marilyn Strathern’s widely quoted formulation.
  • U.S. Government Accountability Office (GAO) guidance on performance measurement: measuring value in non-market public-sector settings.