Das YAGNI-Prinzip in der Entwicklung

in  Verschiedenes , ,

Das YAGNI-Prinzip in der Entwicklung

In der Softwareentwicklung gibt es einige fundamentale Prinzipien, mit denen die Dinge einfach gehalten und Komplexitäten beherrscht werden sollen. Sehr bekannt sind etwa das KISS-Prinzip (keep it simple, stupid), welches stets daran erinnert, eine möglichst einfache Lösung für ein Problem zu wählen. Das DRY-Prinzip (don’t repeat yourself) besagt indes, dass man unnötige Wiederholungen vermeiden sollte, um unnötige Wartungspunkte einzusparen.

Noch früher greift YAGNI (you aren’t gonna need it): hier geht es darum aktiv zu challengen, ob ein Problem es überhaupt wert ist, zum aktuellen Zeitpunkt adressiert zu werden. Denn gar keine (unnötige) Lösung ist noch simpler als eine einfache Lösung. YAGNI hilft somit extrem bei der Fokussierung auf die eigentlich wichtigen Aspekte eines Produktes und ist ein elementarer Baustein für eine iterativ-inkrementelle Herangehensweise. Anstatt zu versuchen zukünftige Folgeanforderungen zu antizipieren und die aktuelle Arbeit bereits darauf auszurichten, gilt es konsequent nur die aktuellen Anforderungen im Blick zu halten. Oftmals entfallen so unnötige Aufwände für Dinge, die weder im Moment noch zukünftig überhaupt gebraucht werden.

Vom Teilen und Herrschen: Wie groß sollten Module sein?

in  Verschiedenes , , ,

Vom Teilen und Herrschen: Wie groß sollten Module sein?

Soeben bin ich über einen Artikel auf Heise gestolpert, der aus meiner Sicht ein paar spannende Impulse setzt: Richtig klein: Hat Modularisierung versagt?.

Der Autor beginnt mit klassischen technischen Aspekten wie dem Management von Komplexität und typischen, damit einhergehenden Problemen. Statt aber in der Folge auf die üblichen Ansätze zur Qualitätssicherung einzugehen, versucht der Artikel dann jedoch eine Brücke zu schlagen zu häufig auftretenden organisatorischen Herausforderungen, die mit der Wartung von Software durch wechselnde Teammitglieder und Verantwortlichkeiten einhergehen.