Mein Kollege Felix erklärte mir heute was Jenga-Design ist: Ohne Rücksicht auf die Folgen oder das ursprüngliche Konzept werden Teile der Software entfernt und dafür an anderer Stelle Funktionen draufgepackt. Ich fand das Bild sehr schön und verstand sofort was gemeint ist. Es ist quasi das Architektur-Pendant zum Spaghetti-Code. Ich denke, mir fallen da Beispiele ein, kannte das aber bisher unter dem Ausdruck "Rucksäcke dran bauen" (früher auch mal "Balkone anbauen", das habe ich aber schon ewig nicht mehr gehört).
Damit will ich nicht sagen, dass jede Art der Erweiterung gleich zu Jenga-Design führt. Aber wenn die Änderung ganz fix gehen muss ("mal eben schnell") oder das Gesamtkonzept nicht berücksichtigt wird, dann kann das schnell passieren… 😉