3.3 Prestationsmätetal och utfallsrepresentanter
Översikt och motivation
Prestation, P:et i SPACE (ämne 3.1), är dimensionen mest ofta förväxlad med aktivitet, och den förväxlingen är exakt vad det här ämnet existerar för att förhindra. Prestation frågar om en ingenjörs eller ett teams arbete faktiskt producerade ett gott utfall: en funktion som levererades och fungerade, ett system som förblev tillförlitligt, en ändring som flyttade en affärs- eller användarmätetal i rätt riktning. Aktivitet (ämne 3.4) frågar bara hur mycket rörelse som skedde. Ett team kan vara högaktivt och lågpresterande, levererande konstanta små ändringar som aldrig flyttar ett utfall, och det omvända är lika möjligt: ett team som levererar sällan men vars ändringar tillförlitligt landar exakt rätt.
Svårigheten med den här dimensionen är att utfall ofta inte är tillskrivbart till en enda person eller ens ett enda team; mjukvaruutfall framträder från samarbete, från beslut fattade månader tidigare av människor som sedan har flyttat till andra projekt, från marknadsförhållanden ingen ingenjör kontrollerar. SPACE-forskarna var explicita om det här: prestation bör mätas på system- eller teamnivå med flera, konvergerande signaler, inte reducerat till ett enda tal och absolut inte tillskrivet en enskild ingenjör isolerat. Det här ämnet tar den vägledningen på allvar och behandlar individuell prestationstillskrivning som en fälla att aktivt undvika, inte en genväg att ta när bekvämt.
För stora team är att få prestationsmätning rätt det som skiljer ett mätetalsprogram som faktiskt förbättrar utfall från ett som bara belönar synlig upptagenhet. Stora företag som jämför prestation över många team behöver signaler som motstår manipulation genom rå outputvolym; myndigheter som motiverar teknikinvestering för tillsynsorgan behöver visa att ingenjörsinsats producerade verkliga utfall, inte bara levererade artefakter, vilket exakt är ämne 1.3:s utfall-före-output-princip tillämpad på den här specifika dimensionen.
Nyckelprinciper
- Prestation mäter om arbete producerade ett gott utfall, inte hur mycket arbete som skedde. Det här är den centrala distinktionen från aktivitetsdimensionen.
- Använd flera, konvergerande signaler, aldrig ett enda prestationstal. Ingen enskild representant är tillförlitlig nog att stå ensam.
- Mät på team- eller systemnivå. Individuell utfallstillskrivning är vanligtvis otillförlitlig och inbjuder exakt den manipulation den här boken varnar mot genomgående.
- Kvalitet är en del av prestation, inte en separat angelägenhet. Arbete som levereras men förstör något annat prestera inte riktigt bra.
- En prestationssignal utan ett beslut kopplat till den är dekoration, exakt enligt ämne 1.1:s allmänna princip tillämpad på den här dimensionen.
Rekommendationer
Kombinera flera konvergerande signaler snarare än en prestationspoäng
Dra prestationsbevis från flera källor: ändringsfelfrekvens (ämne 2.10) och läckt-defektfrekvens (ämne 5.1) för kvalitet, driftsättningsutfall kopplade till faktisk funktionsadoption (ämne 5.2) för om arbetet spelade någon roll, och kvalitativ kollega- eller chefsbedömning av ett teams bidrag till strategiska mål för kontext ett rent mätetal inte kan fånga. Ingen enskild av dessa är tillförlitlig ensam; tillsammans, när de konvergerar på samma slutsats, är de mycket mer trovärdiga än något enskilt tal kunde vara.
Mät på teamnivå, motstå individuell tillskrivning
Mjukvaruutfall är sällan produkten av en enda persons arbete ensamt; de framträder från designbeslut, granskningsåterkoppling, tidigare arbete av människor som kan ha lämnat teamet sedan, och samarbete över gränser. Att tillskriva ett utfall till en enskild ingenjör är vanligtvis en falsk precision som ignorerar den här verkligheten och skapar ett starkt incitament för individer att skydda erkännande snarare än att samarbeta fritt, exakt den typen av incitamentsdistorsion ämne 1.2 varnar mot.
Väv in kvalitet i definitionen av prestation direkt
En funktion som levereras i tid men orsakar en våg av produktionsincidenter prestera inte bra, även om en naiv outputbaserad syn skulle räkna den som levererad. Bygg ändringsfelfrekvens, läckt-defektfrekvens, och efterleveransincidentdata direkt in i hur ni bedömer prestation, snarare än att behandla kvalitet som en separat, avkopplad angelägenhet mätt bara i del 4 och del 6 av den här boken.
Använd prestationsdata för att informera investerings- och processbeslut, inte individuella rangordningar
Den produktiva användningen av prestationsdata är att besluta var ni ska investera vidare (ett team som konsekvent levererar starka utfall förtjänar mer resurser och autonomi) och var ni ska undersöka (ett team vars arbete konsekvent misslyckas med att landa förtjänar hjälp, inte skuld, enligt ämne 1.1:s diagnostiska ramverk). Att rangordna individer eller team konkurrensmässigt mot varandra på prestationsdata inbjuder exakt den manipulation och moralskada den här boken varnar mot och producerar sällan bättre utfall än den diagnostiska användningen gör.
Var ärlig om tillskrivningsbegränsningar, särskilt för plattforms- och möjliggörande team
Team som bygger delad infrastruktur, interna verktyg, eller plattformsförmågor (systerboken software-engineering-guides plattformsingenjörsämne täcker det här direkt) har ofta sitt bidrag till utfall flera steg bortom något enskilt kundvänt mätetal. Mät dessa teams prestation genom deras effekt på teamen de möjliggör, adoption av deras plattform, minskad friktion rapporterad av konsumerande team, snarare än att tvinga ett dåligt passande direkt-utfallsmätetal på arbete som inherent är indirekt.
Avvägningar: fördelar och nackdelar
| Tillvägagångssätt | Fördelar | Nackdelar |
|---|---|---|
| Enskild prestationspoäng per team | Enkel att presentera och jämföra | Falsk precision; döljer vilken underliggande signal som faktiskt drev poängen |
| Flera konvergerande signaler | Mer trovärdig, motstår enskild-mätetal-manipulation | Svårare att sammanfatta i ett tal; kräver mer kontext att tolka |
| Teamnivå-prestationsmätning | Matchar hur mjukvaruutfall faktiskt framträder | Kan inte direkt besvara frågor om individuellt bidrag |
| Individnivå-prestationstillskrivning | Känns mer direkt handlingsbar för granskningar | Vanligtvis en falsk precision; stark manipulations- och erkännandeskyddsrisk |
Den centrala spänningen är precision kontra ärlighet. Ett enda prestationstal per team, eller värre, per individ, är enkelt att jämföra och rangordna, men den precisionen är vanligtvis falsk, döljande verklig osäkerhet om tillskrivning och kvalitet bakom en rentseende siffra. Lös spänningen genom att acceptera en mindre städad, flersignal-bild som den ärliga, och genom att motstå tryck från ledning eller prestationsgranskningsprocesser att kollapsa den tillbaka till ett enda, falskt precist poäng.
Frågor att diskutera med ditt team
Kombinerar vår nuvarande prestationsmätning flera konvergerande signaler, eller förlitar den sig på ett enda tal som känns mer precist än det faktiskt är? Granska vad ni för närvarande kallar ett “prestationsmätetal” och kontrollera hur många oberoende, konvergerande signaler som faktiskt matar in i det.
Har vi någonsin tillskrivit ett teams eller en individs prestation utan att räkna med den samarbetsmässiga, teamöverskridande naturen av hur utfallet faktiskt hände? Välj en nylig framgångshistoria och spåra hur mycket av den berodde på människor, beslut, eller tidigare arbete utanför det krediterade teamet eller individen.
Inkluderar vår prestationsmätning kvalitet, eller bara leveranshastighet och outputvolym? En levererad funktion som senare orsakade betydande produktionsincidenter borde inte poängsätta som hög prestation; kontrollera om er nuvarande mätning faktiskt skulle fånga det här fallet.
Hur mäter vi prestationen hos plattforms- eller möjliggörande team vars bidrag till utfall är indirekt? Om det ärliga svaret är “det gör vi inte, direkt”, är det gapet värt att namnge och adressera direkt snarare än att lämna de teamen effektivt omätta eller orättvist mätta mot kundvända utfallsmätetal som inte passar deras arbete.
Har prestationsdata någonsin använts för att rangordna individer konkurrensmässigt mot varandra, formellt eller informellt? Den här glidningen, liknande nöjdhetsdatarisken i ämne 3.2, skadar både datans ärlighet och teamets vilja att samarbeta öppet.
När våra konvergerande signaler går isär, hög leveranshastighet men stigande defektfrekvens, till exempel, vad drar vi för slutsats, och hanterar vår process den oenigheten bra? Oenighet mellan signaler är i sig värdefull information; diskutera om ert team för närvarande behandlar det som brus att ignorera eller som ett genuint fynd värt att undersöka.
Sektorperspektiv
Startup. Prestation är vanligtvis synlig direkt: fungerade funktionen, adopterade kunder den, flyttade mätetalet. Formell flersignal-mätning är ofta onödig på den här skalan; risken är istället att tillskriva framgång eller misslyckande för snabbt till en person i ett snabbrörligt, högt samarbetsinriktat litet team där erkännande och skuld sällan tillhör bara en individ.
Litet företag. Kombinera vilken leverans- och kvalitetsdata ni redan har (ämne 2.10, ämne 5.1) med direkt, ärlig konversation om huruvida nyligt arbete faktiskt hjälpte verksamheten, snarare än att bygga formell flersignal-instrumentering ni saknar kapacitet att underhålla.
Stort företag. Det är här disciplinen av teamnivå, flersignal-mätning förtjänar sin investering, eftersom trycket att reducera prestation till ett enda jämförbart tal över dussintals team är starkast här, och skadan från falsk precision ackumuleras över hela organisationens resurstilldelningsbeslut. Motstå det trycket explicit och bygg flersignal-fallet för varför det spelar roll.
Myndighet. Att visa att ingenjörsinvestering producerade verkliga utfall, inte bara levererade artefakter, är ofta den centrala frågan ett tillsynsorgan ställer. Flersignal-prestationsmätning, kopplad explicit till utfallsmätetal (ämne 5.3) snarare än leveransbara-endast-representanter, ger ett mycket starkare, mer försvarbart svar än ett aktivitets- eller leveransantal ensamt.
Exempel
Stort företag. Ett detaljhandelsteknikbolags ledning hade informellt rangordnat ingenjörsteam efter story points slutförda per sprint, behandlande det som en prestationsrepresentant. Efter att anta ett flersignal-tillvägagångssätt, kombinerande leveransdata, ändringsfelfrekvens, och efterleveransfunktionsadoption, fann ledningen att teamet med den högsta story-point-slutförandefrekvensen hade den lägsta funktionsadoptionsfrekvensen i företaget: de levererade snabbt men byggde saker kunder inte använde. Att omfördela teamets färdplansprioriteringar baserat på den fullare prestationsbilden, snarare än den missvisande enskilda-talet-rangordningen, omdirigerade betydande ingenjörskapacitet mot högre-påverkan-arbete inom ett kvartal.
Myndighet. En nationell skattemyndighets ingenjörsprogram behövde visa för en tillsynskommitté att en stor systeminvestering hade förbättrat prestation, inte bara levererat den kontrakterade omfattningen. Istället för att rapportera story-point- eller milstolpeslutförande ensamt, presenterade programmet en konvergerande uppsättning signaler: minskad behandlingsfelfrekvens, minskad median-behandlingstid, och ökad framgångsrik självbetjäningsslutförandefrekvens, alla kopplade till de specifika systemkomponenterna levererade. Den flersignal, utfallskopplade presentationen tillfredsställde kommitténs granskning på ett sätt en enkel “levererad i tid”-rapport från ett tidigare program hade misslyckats med att göra året innan.
Verksamhetsnytta: motiv, ROI och TCO
Avkastningen på att mäta prestation genom konvergerande, utfallskopplade signaler snarare än ett falskt-precist enskilt tal är bättre resurstilldelningsbeslut: en organisation som kan se vilka teams arbete genuint flyttar utfall kan investera vidare där det spelar roll och undersöka där det inte gör det, snarare än att belöna vilket team som råkar se mest upptaget ut. Detaljhandelsexemplet ovan är typiskt: en missvisande enskilda-talet-rangordning hade styrt investeringsuppmärksamhet bort från där det faktiskt skulle ha hjälpt.
Den totala ägandekostnaden är högre än ett enskild-mätetal-tillvägagångssätt, eftersom det kräver att kombinera data från flera källor (leverans, kvalitet, utfall) och motstå organisatoriskt tryck att kollapsa bilden tillbaka till ett jämförbart tal. Den kostnaden är värd att betala eftersom alternativet, en falskt precis enskild poäng, aktivt vilseleder resurstilldelningsbesluten prestationsdata är menad att informera.
Antimönster och fallgropar
- Att förväxla aktivitet med prestation: det vanligaste felet den här dimensionen är specifikt designad att förhindra.
- Individuell prestationstillskrivning för samarbetsmässiga, teamöverskridande utfall: vanligtvis en falsk precision som avskräcker samarbete.
- Att exkludera kvalitet från definitionen av prestation: belönar arbete som levereras men förstör något annat.
- Att tvinga ett direkt-utfallsmätetal på plattforms- eller möjliggörande team: mäter fel sak för arbete som inherent är indirekt.
- Att kollapsa flera konvergerande signaler tillbaka till ett falskt precist tal under organisatoriskt tryck: förlorar ärligheten flersignal-tillvägagångssättet byggdes för att ge.
- Att använda prestationsdata för att rangordna individer konkurrensmässigt: skadar både dataärlighet och teamsamarbete.
Mognadsmodell
- Nivå 1, Initiera: Prestation sammanblandas med aktivitet eller outputvolym, mätt med ett enda, oundersökt tal.
- Nivå 2, Utveckla: Vissa kvalitetssignaler övervägs vid sidan av output, men det finns ingen konsekvent flersignal-metod och individuell tillskrivning sker fortfarande informellt.
- Nivå 3, Standardisera: Prestation mäts på teamnivå med flera, konvergerande signaler inklusive kvalitet, konsekvent organisationsövergripande.
- Nivå 4, Hantera: Oenighet mellan konvergerande signaler undersöks aktivt; plattforms- och möjliggörande team har lämpligt indirekta prestationsmått anpassade till deras faktiska arbete.
- Nivå 5, Orkestrera: Prestationsdata informerar direkt resurstilldelnings- och investeringsbeslut, och organisationen kan peka på specifika omfördelningsbeslut en flersignal-vy möjliggjorde och en enskild-talet-vy skulle ha missat.
Diskussionsidéer
- Vilket enskilt tal använder vi för närvarande som en prestationsrepresentant som vi borde pensionera till förmån för en konvergerande uppsättning?
- Har vi någonsin krediterat ett utfall till fel team eller person eftersom tillskrivning var oklar?
- Hur mäter vi för närvarande prestationen hos ett plattforms- eller möjliggörande team?
- Hur skulle det se ut om våra konvergerande signaler gick isär nästa kvartal?
- Var har en story-point- eller leveransantal-rangordning felriktat vår investeringsuppmärksamhet?
Viktiga slutsatser
- Prestation mäter om arbete producerade ett gott utfall, inte hur mycket rörelse som skedde; förväxla inte det med aktivitet (ämne 3.4).
- Använd flera, konvergerande signaler, aldrig ett enda prestationstal, och var misstänksam mot falsk precision.
- Mät på team- eller systemnivå; individuell utfallstillskrivning är vanligtvis otillförlitlig och skadar samarbete.
- Kvalitet är en del av prestation, inte en separat, avkopplad angelägenhet.
- Ge plattforms- och möjliggörande team lämpligt indirekta prestationsmått snarare än att tvinga ett dåligt passande direkt-utfallsmätetal på deras arbete.
Källor och vidare läsning
- Forsgren, Nicole, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler, “The SPACE of Developer Productivity,” ACM Queue (2021).
- Accelerate: The Science of Lean Software and DevOps, av Nicole Forsgren, Jez Humble, och Gene Kim (utfallsbaserad prestationsmätning).
- Team Topologies, av Matthew Skelton och Manuel Pais (plattforms- och möjliggörande teamstrukturer och hur man mäter deras bidrag).
- Measuring and Managing Performance in Organizations, av Robert D. Austin (riskerna med falskt-precisa prestationsmätetal).