YAGNI – sluta planera för det du inte behöver
Programmerare har länge använt YAGNI ('You Aren't Gonna Need It') för att slippa bygga funktioner som aldrig används. Frågan funkar lika bra i vardagen: för varje köp, system eller plan, behöver du det här nu eller förbereder du för något som kanske aldrig händer?
Typ av hack: beslutsfattande
Tid att genomföra: 2 minuter att lära, sekunder att tillämpa
Effekt: Färre onödiga köp och system, frigjord tid till det som faktiskt betyder något
YAGNI står för You Aren't Gonna Need It ("du kommer inte behöva det") och är en regel mot att bygga, köpa eller planera för framtider du inte vet om du behöver.
Kent Beck och Ron Jeffries formulerade principen i slutet av 90-talet när de utvecklade Extreme Programming. De hade sett hur programmerare lade timmar på funktioner "som kanske behövs senare", funktioner som sedan aldrig användes. Ron Jeffries skrev 1998 artikeln You're NOT gonna need it! som blivit en klassiker i utvecklarvärlden.
Principen översatt till vardag är en fråga. Ska du köpa premiumprenumerationen för att kunna använda funktioner om du behöver dem? Ska du sätta upp ett avancerat Notion-system innan du vet vad du ska använda det till? Ska du jämföra 15 modeller av en pryl du kanske aldrig handlar? YAGNI säger nej tills du vet.
Den som använder YAGNI:
- Stoppar köp och system innan de blir underhållsarbete
- Väntar på verkliga behov istället för att gissa framtida
- Frigör tid och energi till det som faktiskt pågår
- Fattar enklare beslut när behovet väl dyker upp
⚙️ Så använder du hacket
- Identifiera beslutet. Vad funderar du på att göra, köpa eller bygga? Formulera det konkret.
- Ställ YAGNI-frågan. Behöver jag detta nu för ett faktiskt behov eller förbereder jag för något som kanske händer?
- Vänta på belägg. Om svaret är "kanske senare", skjut upp beslutet tills behovet blir verkligt.
- Handla när behovet kommer. Då har du både problemet och lösningen framför dig och kan välja rätt.
- Utvärdera efter. Uppstod behovet aldrig? YAGNI-seger. Behövde du det ändå? Inget förlorat, du löste det när du visste vad som krävdes.
💡 Exempel
🛒 Prylköp
"Jag ska köpa en extra skärm, ifall jag börjar jobba mer på distans."
YAGNI-frågan: jobbar jag på distans redan? Nej. Då är köpet ett kanske-behov. Vänta tills du faktiskt jobbar hemifrån en vecka. Om du då saknar skärmen, köp den direkt, nu med full kunskap om vilken storlek och placering som funkar.
📂 Hemma-system
"Jag ska sätta upp ett avancerat Notion-system för hushållet. Mappar för ekonomi, projekt, hälsa, resor..."
YAGNI-frågan: vilket konkret problem löser systemet? "Jag vill vara organiserad" är inte ett problem, det är en känsla. Vänta tills du tappar bort en faktura eller missar en bokning. Då vet du vad systemet behöver göra. Bygg bara den biten. Mer först när nästa verkliga problem dyker upp.
🤖 Hacka med AI
Jag funderar på att [beskriv vad du vill göra, köpa eller bygga].
Hjälp mig med en YAGNI-analys:
1. Vilket konkret, aktuellt problem löser detta?
2. Skulle problemet lösas på ett enklare sätt just nu?
3. Om problemet inte finns ännu: vad väntar jag på för signal att det är dags?
4. Vad är risken med att vänta för länge?
Var skarp och direkt. Pressa mig att skilja på faktiska behov och tänkta behov.
🧠 Vad du får ut av hacket
- Färre impulsköp och onödiga prenumerationer
- Enklare system som du faktiskt använder
- Mer tid till saker som betyder något
- Tydligare skillnad mellan "behov" och "kanske-behov"
⚡️ Effekt
Kent Beck introducerade YAGNI i boken Extreme Programming Explained (Addison-Wesley, 1999). Senare dokumenterade programmeringsforskaren Martin Fowler kostnaderna av att bygga för tänkta behov. Han listar fyra: kostnaden att bygga något som aldrig används, kostnaden att underhålla det, kostnaden att en framtida ändring blir dyrare, samt kostnaden av att det bättre alternativ du hade hunnit bygga aldrig blev till.
Samma logik gäller i vardagen. Varje köp, prenumeration eller system du lägger till måste underhållas. Varje "bara ifall"-förberedelse är resurser som inte finns kvar när ett verkligt behov dyker upp.
⚠️ Hackbrister
- Inte "planera aldrig": YAGNI gäller osäkra framtider, inte kända behov. Ska du flytta om tre månader ska du planera. Skillnaden är säkerhet.
- Kritiska beredskaper är undantagna: Brandsläckare, förstahjälpen och försäkringar är inte "ifall jag behöver", det är hantering av katastrofer. YAGNI gäller inte där.
- Risk att stå oförberedd: Vissa saker är omöjliga att fixa i stunden. Om konsekvensen av att vänta är allvarlig, kör inte YAGNI blint.
- Funkar sämre med andra människor: "Vänta tills behovet finns" blir svårare med barn eller partners där det ibland krävs att förutse istället för att reagera.
🧪 Testa nu!
Titta på din lista med kommande köp, prenumerationer eller projekt. Välj en rad. Ställ YAGNI-frågan. Om svaret är "kanske senare", pausa och vänta på belägg.
👉 Fler hacks inom beslutsfattande
📚 Källor och vidare läsning
- Extreme Programming Explained av Kent Beck (Addison-Wesley, 1999), primärkällan där YAGNI formuleras som en av XP-principerna
- Yagni av Martin Fowler
- You're NOT gonna need it! av Ron Jeffries
- Inversion, kompletterande hack om baklängestänkande