Joel on Software

Joel on Software   Joel om mjukvara

 

Andra "Joel on Software"-artiklar på svenska

Andra "Joel on Software"-artiklar på engelska

Skicka e-post till författaren (enbart engelska)

 

Big Macs jämfört med Den Nakna Kocken


Av Joel Spolsky
Översatt av Patrik Öhman
Bearbetat av Kim Gräsman
den 18 januari, 2001

Mysterium: Hur kommer det sig att några av de största IT-konsultfirmorna i världen gör det sämsta jobbet?

Hur kommer det sig att den lilla, nystartade firman är så framgångsrik i början, och radar upp en uppseendeväckande mängd framgångar, en fantastisk tillväxt, för att sedan fort urarta till en medelmåtta?

Jag har tänkt på detta, och tänkt på hur Fog Creek Software (mitt eget företag) borde växa. Den bästa liknelsen jag kan hitta kommer från McDonald's. Just det, den usla hamburgerkedjan.

Hemligheten med Big Macs är att de inte är så bra, men alla är inte så bra på exakt samma sätt. Om du är villig att acceptera detta, att alla är mindre bra, kommer du att kunna köpa en Big Mac var som helst utan att bli ens det minsta överraskad.

Den andra hemligheten med Big Mac är att du kan ha en IQ som varierar någonstans mellan "idiot" och "debil" (för att använda de tekniska termerna), men du kommer fortfarande att kunna laga en Big Mac, som är exakt lika tråkig som alla andra Big Macs i hela världen. McDonald's verkligt hemliga sås är deras stora bruksanvisning som beskriver, förbluffande detaljerat, exakt hur man gör för att tillverka en Big Mac. Om en Big Mac i Anchorage, Alaska steks i 37 sekunder, så kommer den att stekas i 37 sekunder i Singapore - inte 36 eller 38. Allt man behöver göra för att göra en Big Mac är att följa reglerna!

Reglerna har noggrant tänkts ut av hyfsat intelligenta människor (på McDonald's Hamburger University) så att dumskallar kan följa samma regler som smarta människor. Det är faktiskt så att reglerna innehåller alla typer av idiotsäkra saker, som sirener som tjuter när man friterat sina pommes frites för länge, allt för att kompensera för den mänskliga faktorn. Det finns tidtagarur överallt. Det finns till och med ett system som kontrollerar att toaletterna är rena varje halvtimme. (Tips: det är de inte.)

Systemet förutsätter att alla kommer att göra ett antal misstag, men hamburgarna som serveras kommer att vara av, öh, likartad kvalitet, och du kommer alltid att tillfrågas om du vill ha pommes frites till.

Låt oss för nöjes skull jämföra en kock från McDonald's, som följer en uppsättning regler slaviskt, och som inte vet någonting om mat, och ett geni som Den Nakna Kocken, den brittiske snyggingen Jamie Oliver. (Om du väljer att lämna siten nu, för att titta på MTV-liknande inspelningar av Den Nakna Kocken när han gör basilika-aioli, förlåter jag dig. Gå bara.) Hursomhelst, att jämföra McDonald's med en gourmetkock är helt absurt, men hejda dina tvivel en stund, för det finns något att lära här.

Den Nakna Kocken har ingen Bruksanvisning. Han mäter ingenting. När han lagar mat ser du bara mat som kastas runt hit och dit. "Lite extra rosmarin skadar aldrig, sen är det bara att skaka" säger han. "Mosa ihop det. Perfekt. Bara blanda ihop det lite" (ja, det ser faktiskt ut som han bara "blandar ihop det lite", men skulle jag göra samma sak skulle det aldrig fungera.) Det tar ungefär 14 sekunder så har han improviserat en hel gourmetmiddag, med halstrad havsabborrfilé fylld med färska örter på en bädd av svampgratinerad potatis med salsa-verde. Mums.

Jag tycker att det är ganska uppenbart att Den Nakna Kockens mat är bättre än den du får hos McDonald's. Även om det kan verka som en korkad fråga, är det värt att fråga sig varför. Det är ingen dum fråga. Varför kan inte ett stort företag, med hur mycket resurser som helst, otrolig storskalighet, de bästa matdesigners man kan köpa för pengar och oändligt kassaflöde, skapa en god måltid?

Tänk dig att Den Nakna Kocken tröttnar på att göra TV och öppnar en restaurang. Naturligtvis är han ju en fantastisk kock och maten skulle vara helt otrolig, så stället svämmar över av folk och blir förfärligt lönsamt.

Även om du har en förfärligt lönsam restaurang, tar 190kr för en förrätt och 40kr för en cola, kommer du att se att dina vinster har nått taket. En kock kan bara laga så mycket mat. Så du anställer en kock till, öppnar nya filialer, kanske i andra städer.

Nu börjar problemen komma: Det är vad vi i teknik-sektorn kallar för skalbarhetsproblem. När du försöker öppna en ny restaurang, har du valet mellan att anställa en annan kanonbra kock (men då vill han nog ha för mycket betalt eftersom han bidragit så mycket, så varför bry sig?), eller så kan du anställa en billigare, yngre kock som inte är lika bra. Snart nog vet dina stamkunder det du redan vet, och ingen vill gå på din nyöppnade restaurang.

Det vanliga sättet att tackla det här problemet är att anställa  billiga kockar som inte vet någonting och ge dem så precisa regler för hur man lagar varje maträtt att de inte kan göra bort sig. Följ bara de här reglerna, så kommer du att kunna laga jättegod gourmetmat!

Det är bara ett problem: Det fungerar inte riktigt så. Det finns ungefär en miljon saker som en bra kock gör som har att göra med improvisation. En bra kock ser några fina mangos på fruktmarknaden och improviserar en mango- och koriander-salsa till dagens fisk. En bra kock kan hantera brist på potatis genom att göra taro-chips. En kock som bara följer instruktioner kanske skulle kunna göra samma sak, om alla förutsättningar vore perfekta, men utan riktig talang och skicklighet kommer han att misslyckas med att improvisera. Det är därför du aldrig kommer att få se jicama-bönor på McDonald's.

McDonald's kräver en viss speciell typ av potatis, som de odlar över hela världen. De skär upp, och fryser den i stora kvantiteter för att kunna hantera underskott. Skärandet och frysandet medför att deras pommes frites inte är så goda som de skulle kunna vara, men de är garanterat likartade, och det krävs ingen kock för att laga till dem. Faktum är att McDonald's gör hundratals saker för att säkerställa att deras mat kan produceras med likartad kvalitet, av vilken idiot som helst man kan få in i köket, även om kvaliteten är "något lägre".

Sammanfattning så här långt:

  1. För att göra en del saker riktigt bra, krävs talang.
  2. Att kombinera skalbarhet och talang är svårt.
  3. Ett sätt att kombinera skalbarhet och talang är att låta begåvningarna skapa regler för de talanglösa.
  4. Produktkvaliteten blir väldigt låg.

Man kan se exakt samma mönster i IT-konsultbranschen. Hur många gånger har du hört detta?

Mike hade ledsnat. Han hade anlitat ett stort IT-konsultföretag för att bygga Systemet. Konsulterna han hade anlitat var inkompetenta, och pratade mest om "Metodologin". De gjorde av med miljoner, utan att åstadkomma någonting alls.

Lyckligtvis hittade Mike en ung programmerare, som var riktigt smart och begåvad. Den unge programmeraren byggde hela systemet på en dag för 200 kr och pizza. Mike var jätteglad. Han rekommenderade den unge programmeraren till alla sina vänner.

Den Unge Programmeraren börjar dra in de stora stålarna. Snart har han mer jobb än han klarar av, så han anställer en massa folk för att hjälpa till. De som är duktiga vill ha för många optioner, så han bestämmer sig för att anställa ännu yngre programmerare och "lära upp dem" genom att skicka dem på en 6-veckors-kurs.

Problemet är bara att "lära upp" inte riktigt fungerar, det ger inte likartade resultat, så den Unge Programmeraren bestämmer sig för att skapa en uppsättning regler för att åstadkomma just likartade resultat. Genom åren växer och växer regelboken. Snart är det en 6 volymers bruksanvisning som kallas "Metodologin".

Efter ett antal dussin år är den Unge Programmeraren en Stor Inkompetent IT-konsult med en metodologi med stort M, och en massa folk som slaviskt följer den, även om den inte tycks fungera, eftersom de inte vet bättre, och de är inte verkligt talangfulla programmerare -- bara välmenande samhällsvetare som har gått 6-veckors-kursen.

Och Den Stora Inkompetenta IT-konsultfirman börjar göra misstag. Deras kunder är missnöjda. Och en annan ung, talangfull programmerare kommer och tar alla deras kunder, och historien upprepar sig.

Jag behöver inte nämna namn, historien har upprepat sig ett dussintal gånger. Alla IT-företag blir till slut giriga och försöker växa fortare än de kan hitta talangfulla människor, och för att kompensera för detta skapas lager på lager av regler och procedurer som är till för att skapa, om inte briljanta, så i alla fall likartade resultat.

Men saken är, att regler och procedurer bara fungerar om ingentig går fel. Webbkonsultfirmor växte upp som svampar ur jorden för några år sen, och de anställde amatörer som fick lära sig de 14 saker man behöver veta för att skapa en dynamisk webbplats ("här har du en select- sats, grabben, bygg en webbplats"). Men nu när dot-com-eran är över finns det plötsligt behov för högkvalitativ GUI-programmering, C++-kunskaper och riktig datavetenskap. Killarna som bara har select-satser i sin arsenal har för mycket att lära sig för att komma ikapp. Men de försöker fortfarande och följer reglerna i kapitel 17 om hur man normaliserar databaser, som på något mystiskt vis inte är riktigt tillämpliga i den nya världen. De talangfulla och duktiga grundarna av dessa företag kan naturligtvis anpassa sig till de nya förutsättningarna: de är duktiga datavetare som kan lära sig vad som helst, men företaget de skapade kan inte anpassa sig därför att det har ersatt talang med en regelbok. Och regelböcker anpassar sig inte till nya förutsättningar.

Vad är nu sensmoralen av detta? Akta dig för Metodologier.  De är bra för att få upp alla till en trist, men skaplig, nivå men samtidigt är de hämmande för mer talangfulla människor, som irriterar sig på att jobba under begränsningar. För mig är det ganska uppenbart att den talangfulle kocken inte kommer att trivas med att steka hamburgare hos McDonald's, just därför att McDonald's har en massa regler. Så varför skryter alla IT-företag så mycket om sina metodologier? (Ja, inte vet jag.)

Vad innebär detta för Fog Creek? Vårt mål har aldrig varit att bli en stor konsultfirma. Konsultar gör vi när det behövs -- det långsiktiga målet är att vara ett mjukvaruföretag som alltid går med vinst, och vi åtar oss konsultuppdrag för att få extra inkomst vid sidan av våra produkter. Vi kommer att fortsätta med konsultuppdrag tills dess att vi går jämnt upp. Efter det kommer vi fortfarande att konsulta, men vi kommer att kunna välja våra uppdrag. Fokus kommer att vara på konsulttjänster i anslutning till våra produkter. Som du redan vet ger mjukvaruprodukter en oerhört bra skalbarhet. När en ny kund köper FogBUGZ, får vi inkomster utan att spendera en enda krona.

Än viktigare är vår besatthet att alltid anställa de bästa... Vi är nöjda med att vara ett litet företag om vi inte kan hitta rätt personer (men med sex veckors semester kommer det nog inte vara något större problem att hitta folk). Och vi kommer inte att växa innan de vi redan anställt har lärt sig tillräckligt för att kunna agera lärare och mentorer för de nyanställda.



Originalartikelns engelska titel är Big Macs vs. The Naked Chef  

Joel Spolsky driver Fog Creek Software, ett litet programvaruföretag i New York. Han har examen från Yale och har arbetat som programmerare och i chefsbefattning på Microsoft, Viacom och Juno.


Innehållet på dessa sidor representerar en enskild persons åsikter.
Allt innehåll är Copyright ©1999-2005  Joel Spolsky. Alla rättigheter är reserverade.

FogBUGZ | CityDesk | Fog Creek Software | Joel Spolsky