Zunächst einmal gibt es – und gab es schon immer – einen enormen Bedarf an Gebäuden, maßgeblich angetrieben durch die schnell wachsende Weltbevölkerung. Die Anforderungen an ein Gebäude können ganz unterschiedlich sein, je nachdem, wo es sich befindet und welchem Zweck das Gebäude dienen soll. Hinzu kommt, dass sich die Umweltbedingungen im Laufe der Zeit ständig ändern – oder zumindest ändern können. Dennoch ändern sich die wichtigsten Parameter wie die durchschnittliche Familiengröße und die Wetterbedingungen eher langsam.
Selbst wenn man lochkartenprogrammierte Webstühle mitzählt, ist das Konzept der Software kaum mehr als 200 Jahre alt. Elektronische digitale Berechnungen sind weniger als 100 Jahre alt. In den 1980-er Jahren erlaubte die verfügbare Hauptspeichergröße eines Computers gerade noch die Erstellung von Software mit einer Komplexität, die im Vergleich zu einem Gebäude wahrscheinlich einer feuchten Höhle entsprechen würde, die hoffentlich wenigstens von einem Lagerfeuer beheizt wird.
Jahrzehnte und Jahrtausende
Trotz des enormen Wachstums des Internets und der Tatsache, dass Computer heute allgegenwärtig sind und daher ein sehr großer Bedarf an Software besteht, können die Lehren aus ein paar Jahrzehnten der Softwareerstellung sicherlich nicht mit den Lehren aus ein paar Jahrtausenden der Planung und Konstruktion von Gebäuden mithalten.
Es ist noch gar nicht so lange her, da war Software meist eigenständig. Damals wurden Daten hauptsächlich eingetippt und Berichte ausgedruckt. Später wurde der Datenaustausch zwischen Computersystemen immer wichtiger. Dabei geht es nicht mehr nur um den Austausch von Daten, sondern um die Synchronisation von Daten zwischen verschiedenen Systemen.
Heutzutage gibt es praktisch keine eigenständigen Systeme mehr. Software verbindet sich mit anderen Computern und interagiert mit ihnen. Bei Gebäuden ist das nicht anders. Ein Architekt muss sich daher zum Beispiel Gedanken über die Umgebungsbedingungen machen. Bauen wir auf Sand? Wenn Sie die Bibel gelesen haben, dann wissen Sie, wie das enden wird. Wenn nicht, schauen Sie sich den schiefen Turm von Pisa an.
Wenn wir uns sicher sind, dass wir den richtigen Ort für unser Gebäude gewählt haben, stellen sich weitere Fragen. Woher kommen beispielsweise Energie und Wasser? Planen wir, das Haus mit Öl oder Gas zu heizen? Wenn wir eine Gasheizung einplanen, aber keine Gasleitung in unser Haus führt, werden wir uns im Winter wahrscheinlich nicht sehr wohlfühlen. In wärmeren Ländern ist eine Zentralheizung vielleicht gar kein Thema, zumindest so lange sich das Klima nicht wesentlich ändert.
Übrigens ist die Versorgung nicht das Einzige, was zählt: Wohin kommt zum Beispiel das verbrauchte Wasser? Eine eigene Sickergrube zu bauen, mag auf den ersten Blick eine gute Idee sein, diese hat aber eine begrenzte Kapazität. Oder wir verunreinigen damit auf Dauer das Trinkwasser in unserem eigenen Brunnen. Wir können also gar nicht einfach so ein Haus in irgendeiner abgelegenen Gegend bauen, es sei denn, wir sind bereit, unsere eigene Energie zu erzeugen, einen eigenen Brunnen zu graben und zu hoffen, dass es irgendeine Möglichkeit für mobilen Internetzugang gibt. Schließlich und endlich wäre es auch schön, wenn jemand mal den Müll abholen würde - oder wollen Sie den auf Ihrem Grundstück lagern?
Software ist weniger greifbar
Ein autarkes Gebäude mag zwar durchaus reizvoll sein, aber sobald technische Probleme auftreten oder uns Ressourcen wie Wind oder Sonne, aus denen wir Strom erzeugen, zeitweise oder dauerhaft nicht mehr zur Verfügung stehen, kommen uns eine große zentrale Energieversorgung und ein redundantes Verteilernetz dann doch sehr gelegen.
Software ist weit weniger greifbar als Gebäude. Niemand wird Sie unmittelbar verklagen oder Widerspruch einlegen, wenn Sie versuchen, eine aufgeblähte, überdimensionierte oder völlig unpassende Software-Architektur zu erstellen. Wenn Sie Blaupausen bei Ihrer örtlichen Baubehörde einreichen, werden diese öffentlich ausgestellt, um Feedback zu erhalten. Auch wenn all dies wie ein großer Aufwand erscheint, ist es in Wirklichkeit eine ziemlich effiziente Überprüfung eines Konzepts auf seine Tauglichkeit. Das klingt schon fast wie quelloffene Software, oder?
Neben all diesen technischen Aspekten gibt es noch eine weitere Sache zu bedenken: Ein Gebäude sollte sich gut in seine Umgebung einfügen. Man kann nicht einfach einen postmodernen Wolkenkratzer in ein traditionelles bayerisches Dorf stellen. Selbst wenn man dafür wider Erwarten eine Baugenehmigung bekäme, müsste man vermutlich mit einer Menge Ärger aus der Bevölkerung rechnen.
Software-Architekten müssen in der Lage sein, das große Ganze zu sehen. Dazu gehört es, Nachbarn, Zulieferer, Absatzmärkte und vor allem die wichtigen nicht-funktionalen Anforderungen zu berücksichtigen.