Browsing Tag

Unagi

webbutveckling

You Ain’t Gonna Need It

När 37 signals startade Basecamp hade de vid lanseringen ingen möjlighet att ta betalt av sina kunder. De ansåg att eftersom deras kunder ändå hade en fri testperiod på 30 dagar, så hade företaget en månad på sig att bygga faktureringsrutiner och kunde lägga dagarna innan lanseringen på att lösa mer akuta problem.

Här på media:screen såväl som i resten av livet tillämpar jag samma princip – gör inte idag vad du kan göra imorgon. Principen kallas med ett finare (?) namn YAGNI, You Ain’t Gonna Need it (ej att förväxla med Ross självförsvarsteknik UNAGI, i tv-serien Vänner…), och är ett centralt begrepp inom systemutvecklingsmetodiken Extrem programmering. YAGNI går ut på att man inte ska lägga till ny funktionalitet till till ett program bara för att man tror att den ändå kommer att behövas senare.

Även om det kanske låter misstänkt likt lättja, så finns det faktiskt några goda argument för att skjuta upp arbete:

  • Att skapa funktionalitet för framtiden tar tid från att skapa funktionalitet som behövs nu.
  • Ny funktionalitet idag skapar begränsningar för vad som kan göras i morgon.
  • Innan en funktion behövs så är det svårt att veta vad den behöver åstadkomma, vilket leder till att den i vilket fall behöver göras om den skulle behövas i framtiden.
  • Ny funktionalitet föder idéer om andra funktioner som kanske också kommer att behövas så småningom, vilket leder till en spiraleffekt av ny funktionalitet som aldrig kommer att behövas.
  • Sist men inte minst: Sannolikheten är stor att funktionaliteten aldrig kommer till användning och allt arbete gjordes i onödan.

Rent praktiskt här på bloggen betyder YAGNI bland annat att det inte fanns någon siduppdelning av bloggpostlistningarna innan det fanns så många poster att det behövdes, att det inte fanns månadsarkiv innan det fanns fler än en månad att välja mellan och att det inte fanns kommentarsfunktioner innan det fanns besökare på bloggen. Något spamfilter trodde jag inte skulle behövas på att tag, men nu börjar jag bli trött på att manuellt radera alla som försöker kränga SpongeBob SquarePants-posters i kommentarerna på mina bloggposter. Nu var det alltså dags för ett enklare spamfilter.