Zurück zur Übersicht

Begriff

YAGNI (You Aren't Gonna Need It)

Development Principles S1
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Entwickler können gut die Zukunft vorhersagen. (Denken sie). "Wir brauchen bestimmt bald Support für chinesische Währung. Ich baue das Interface schon mal generisch." 3 Jahre später: Wir haben nur Kunden in Europa. Aber der generische Code ist da, ist kompliziert, hat Bugs und muss gewartet werden. YAGNI sagt: Baue Features erst, wenn du sie wirklich brauchst. Nicht, wenn du glaubst, dass du sie brauchen wirst.

Merksatz: Ein Prinzip des Extreme Programming (XP), das besagt, dass man Funktionalität erst implementieren soll, wenn sie tatsächlich benötigt wird, niemals vorher.


Quick-Check

  1. Widerspricht das Vorausplanung?
    Jein. Man soll Architektur planen (Grobes Bild). Aber keine Features auf Vorrat bauen.
  2. Zusammenhang mit Agile?
    Agile sagt: "Wir wissen nicht, was in 3 Monaten ist." YAGNI ist die logische Konsequenz. Warum Code schreiben für eine Zukunft, die sich eh ändert?
  3. Verschieberitis?
    YAGNI ist keine Ausrede für Faulheit ("Ich mache Error Handling später"). Error Handling braucht man jetzt. YAGNI betrifft Features: "Support für Oracle DB".