Wie man mit DRY, YAGNI und SOLID ein Systemdesign ruiniert

Ein Team wollte alles richtig machen und hat damit alles vermasselt. Das Team studierte die gängigen Designprinzipien wie DRY, YAGNI und sogar die SOLID-Prinzipien. Und dennoch war das Systemdesign ruiniert. Wie konnte das passieren?
Auch ein Designprinzip ist nur eine Heuristik. Wendet man diese Heuristik auf das falsche Problem an, werden die positiven Effekte eventuell durch sehr negative Effekte überlagert. Die Vermeidung von Duplikation um jeden Preis (DRY) kann beispielsweise eigentlich entkoppelte Teile stark aneinander koppeln und die Argumentation "You ain't gonna need it!" macht uns blind für eine Option, die ein Risiko aus dem Projekt nehmen würde.

Wir müssen uns fragen: Welches Problem löst ein Designprinzip? Wenn man dieses Problem nicht hat oder ein anderes Problem gravierender ist, führt die Anwendung des Prinzips auch zu keiner guten Lösung. Ihr lernt in diesem Talk den kritischen Umgang mit Designprinzipien und wie man mit ihnen wirklich bessere Software entwickeln kann.

Vorkenntnisse

Kenntnisse einiger Designprinzipien wie DRY, SOLID etc. sind hilfreich, aber nicht vorausgesetzt.

Lernziele

Eine pragmatische statt dogmatische Einstellung zu Designprinzipien entwickeln, um deren Anwendung kritisch zu hinterfragen.

Speaker

 

Johannes Seitz
Johannes Seitz arbeitet seit über zehn Jahren in der Softwarebranche, zunächst als Entwickler, später als Architekt und Coach. Zu seinen Schwerpunktthemen gehören Domain-Driven Design, IT-Sanierung, DevOps und agile Softwarearchitektur. Als Entwickler, Berater, Coach und Trainer hilft er Teams dabei Software nachhaltig zu bauen oder sie zu sanieren.

Herbstcampus-Newsletter

Sie möchten über den Herbstcampus
auf dem Laufenden gehalten werden?

 

Anmelden