Don’t reinvent the squared wheel – Die Elbphilharmonie
Der Spruch „Don’t reinvent the squared wheel” ist wahrscheinlich einer der meistzitierten in der Softwareindustrie. Jedem ist klar, dass man Probleme, die bereits von jemand anderem gelöst sind, nicht neu lösen muss. Meist ist es ein Irrglaube, dass die Anforderungen, die in einem Projekt gestellt wurden, besonders sind. Bricht man zu implementierenden Features nur klein genug runter, so findet man immer Bausteine, die es so bereits gibt. Projekte besitzen meist in ihrem ganzen Alleinstellungsmerkmale, aber nicht in jedem einzelnen Feature.
Was passieren kann, wenn man etwas ganz besonderes, noch nie zuvor dagewesenes, versucht zu bauen, haben die Hamburger 2007 und folgende Jahre gelernt. Architektur muss nicht unbedingt in der Softwareentwicklung schief gehen, auch in der ursprünglichen Disziplin, der Architektur von Gebäuden, kann dies geschehen.
April 2007 begann der Bau der Hamburger Elbphilharmonie. Ein Meisterwerk der Baukunst war geplant und das Gebäude sollte neben drei Konzertsälen und Backstagebereichen auch ein Hotel, Gastronomiebereiche, 47 Eigentumswohnungen, eine öffentlich zugängliche Plaza auf 37 Metern Höhe und ein Parkhaus mit 500 Stellplätzen enthalten. Die Optik sollte an nichts erinnern, was bereits auf der Welt zu finden ist.
Vielen Entwicklern wird diese Situation sehr bekannt vorkommen. Nichts was es auf dem Markt gibt, deckt den Bedarf ab und so macht man alles selbst. Die Schätzung die man am Anfang eines solchen Mammutprojektes abgibt, sollte aber trotzdem möglichst genau sein. Gute Schätzungen beruhen auf Erfahrungswerten. Wenn diese nicht vorhanden sind, wird auch das Zieldatum nicht eingehalten werden können. Was passiert also mit einem Projekt wie der Elbphilharmonie? Zur ersten Verzögerung kam es 2010, die zweite wurde im Jahre 2011 angekündigt. Mittlerweile sind die Kosten von ursprünglich 77 Millionen auf 476 Millionen gestiegen und ein Ende ist nicht in Sicht.
Was man aus diesem Vergleich mitnehmen kann ist einfach. Wenn eine Architektur aufgesetzt wird, sollte man das bekannte Territorium so selten wie möglich verlassen, denn dort wo man sich nicht auskennt, verläuft man sich mit Leichtigkeit. Der Einsatz von bereits existierenden Frameworks und Bibliotheken ist in den meisten Fällen der Eigenentwicklung vorzuziehen.
„Der Einsatz von bereits existierenden Frameworks und Bibliotheken ist in den meisten Fällen der Eigenentwicklung vorzuziehen“.
Amen.
Und: bevor man anfängt, solche Mittel einzusetzen, so sollte man sich mit ebendiesen beschäftigt haben und die „Technologien“ (zumindest die essentiellen) verstehen.
erm.. das „squared“ ist eher selten in dem Zitat und hiesse etwas zu erfinden, was schon beim ersten mal in die Hose ging. Nicht ganz, worauf du hinaus wolltest oder? Übrigens kann dein RSS Feed scheinbar keinen Apostroph und schreibt „Donât“.
Ansonsten möchte ich ergänzen: nie Software Projekte an HochTief rausgeben! 😉
@Christian: Für mich heißt es etwas neu zu erfinden, aber schlechter als das „Original“. Zumindest war das meine Intension.
Hier hab ich sogar mal drüber geschrieben: http://www.phphatesme.com/blog/allgemein/reinvent-the-squared-wheel/
Aber „Reinvent the squared wheel“ bedeutet doch, dass man ein bereits quadratisches Rad nachbaut, da ist die Vorlage schon schlecht. Müsste das, was du meinst, nicht eher „Reinvent the wheel squared“ heißen? Dass es also das Rad gibt, und man baut es quadratisiert nach?
Falls noch nicht gefixt – RSS Zeichensatzfehler kann ich hier nicht bestätigen.
Falsch. In der Baubranche bietet man weit (weit, weit, …) unter Preis an. Der endgültige Betrag ist generell höher (viel höher). Anschließend wird dann noch mehr Geld eingeklagt.