© Liashko/Shutterstock.com
Softwarearchitektur als Hebel für erfolgreiche Projekte

Architektur für die Ewigkeit


Wie würden Sie beim Hausbau auf einen Handwerkertrupp reagieren, der nicht lang fackelt und gleich loslegt – ohne sich groß um Statik, Grundriss oder Leitungsplan zu kümmern – und das mit Termindruck begründet? Was beim Hausbau inakzeptabel ist, kommt in der Softwareentwicklung als Quick-and-Dirty-Vorgehen gar nicht so selten vor. Etliche Unternehmen haben die Risiken dieser Methode erkannt, worauf die in den letzten fünf Jahren steigende Nachfrage an Softwarearchitekten hinweist. Dieser Artikel erläutert, warum in Softwareprojekten die Architektur immer wichtiger wird.

Video: Möglichkeiten und Grenzen emergenter Architektur

Immer höhere und umfangreichere Kundenanforderungen machen Softwaresysteme zunehmend komplexer. Oftmals bemerken wir als Benutzer gar nicht, was für eine Unmenge an Software hinter den Kulissen arbeitet. Denken Sie an die Mercedes-S-Klasse, die 20 Millionen Zeilen Code allein im Radio- und Navigationssystem aufweist – ganz zu schweigen von der Software für Cruise Control, Einparkhilfe, Spurhaltesystem oder Motor- und Getriebesteuerung. Es wird geschätzt, dass ein moderner Oberklassewagen bis zu 100 Millionen Zeilen Code aufweist [1]. Direkt wahrnehmbar ist die Evolution des Windows-Betriebssystems als Basis für zunehmend anspruchsvollere Anwendungen: Windows NT 3.1 kam noch mit 4 bis 5 Millionen Zeilen Code aus, Windows NT 4.0 mit 11 bis 12 Millionen, Windows XP benötigte schon 40 Millionen Zeilen Code und es wird vermutet, dass Windows 7 über 50 Millionen Zeilen Code besitzt [2]. Denken Sie an die Fortentwicklung des statischen Internets hin zum Social-Media-Zeitalter und daran, was Sie früher von einer Webanwendung erwartet haben und was Sie heute als selbstverständlich voraussetzen können!

Softwarearchitektur immer wichtiger

In dem Maße, wie Komplexität und Umfang der funktionalen und nicht funktionalen Anforderungen steigen und technische und vor allem auch organisatorische Einflussfaktoren zunehmend berücksichtigt werden müssen, wird die Architektur der Systemlösung mit ihren Szenarien, Bau- und Ablaufplänen immer relevanter. Bereits mittelgroße Softwaresysteme besitzen oftmals matrixartige Systemstrukturen aus Modulen, Subsystemen und Schichten mit fachlichen und technischen Querschnitten, die mithilfe der Architekturdokumentation beschrieben, geplant und umgesetzt werden. Lösungsideen, technische Konzepte, Entwurfsentscheidungen und vor allem Qualitätsanforderungen wie Ausfallsicherheit, Zusammenspiel verteilter Systemkomponenten, Richtigkeit, Effizienz und Flexibilität sind wichtige Bestandteile der Softwarearchitektur. Einen guten Überblick über die Qualitätsmerkmale von Software gibt die ISO 9126 als ein Modell für Softwarequalität.

Zum Scheitern verurteilt

Dabei gilt: Die Missachtung zentraler Architekturaspekte kann Projekte scheitern lassen. Denn was passieren kann, wenn Qualitätsanforderungen oder Einflussfaktoren nicht genügend berücksichtigt werden, zeigen drei prominente Beispiele aus der Praxis der vergangenen Jahre.

Das Jobportal der Bundesanstalt für Arbeit beispielsweise hielt bei seinem Livegang 2003 dem Ansturm der Benutzer nicht stand, da man auf eine Million Zugriffe pro Tag nicht eingestellt war. Suchkriterien wurden teilweise ignoriert, und es wurden Stellen angezeigt, deren Bewerbungsfrist bereits abgelaufen war. Nach viel Kritik ging knapp sechs Jahre und viele Millionen Euro später im August 2009 eine neue, überarbeitete und ausgereiftere Internetjobbörse online [3].

Auch die Verwaltungssoftware für das Arbeitslosengeld II namens A2LL war von Anfang an mit Mängeln behaftet und verursachte Zusatzkosten in dreistelliger Millionenhöhe. „Die Software A2LL ist nicht so anpassungsfä...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang