Trägt die Rolle des Softwarearchitekten zum Erfolg von entsprechenden Entwicklungsvorhaben bei oder nicht? Wir haben unsere Einschätzung hierzu durch eine Umfrage, deren Ergebnisse wir nachfolgend detaillieren, überprüft.

Gesamtauswertung der Umfrage

Inhalt

Hintergrund

Im Rückblick auf erfolgreiche als auch gescheiterte Softwareentwicklungsvorhaben hat sich für uns ein Muster ergeben. Bei erfolgreichen Vorhaben war die Rolle des Softwarearchitekten oft geklärt, wohingegen sie bei gescheiterten Entwicklungsvorhaben häufig entsprechend ungeklärt war. Dieser Eindruck bestätigte sich im Gespräch mit Beteiligten aus der Softwareentwicklung in unserem Umfeld. Gleichzeitig konnten wir in den üblichen Quellen, wie z.B. dem CHAOS-Report keine Hinweise finden, um unsere Theorie belegen zu können.

Was meinen wir damit, dass die Rolle Softwarearchitekt geklärt ist? Das heißt nicht zwangsläufig, dass es einen festen Softwarearchitekten gibt, der nichts anderes außer Softwarearchitektur macht. Das heißt aber auch nicht, dass ein Projektmanager die Rolle so nebenher mitmacht. Vielmehr heißt dies, sich aktiv mit den Aufgaben der Softwarearchitektur auseinander gesetzt zu haben und für das jeweilige Vorhaben eine Idee entwickelt zu haben, wie diese verschiedenen Aufgaben von wem und wann geklärt werden. Das kann dann wiederum durch die Benennung eines einzelnen Architekten erfolgen, es kann aber genauso auf mehrere Schultern verteilt werden. Zu beiden Punkten (Aufgaben und Verteilung) werden wir auch noch separat berichten.

43 Teilnehmer mit drei verschiedenen Rollen innerhalb der Softwareentwicklung (Entwickler, Architekt, Manager) beteiligten sich im Februar 2018 an der online durchgeführten Umfrage. Als Entwickler haben wir die Teilnehmer klassifiziert, die derzeit aktiv und professionell als Softwareentwickler tätig sind, Architekten entsprechend. In der Rolle Management haben wir neben Führungskräften wie zum Beispiel Team-, Abteilungs, und Bereichsleitung der Softwareentwicklung auch Scrum Master, Produktmanager und ähnliche Rollen zusammengefasst.

Da wir zunächst nur unseren eingangs genannten Eindruck bestärkt oder widerlegt haben wollten und gleichzeitig um das üblicherweise knappe Zeitbudget bei den Teilnehmern wussten, haben wir die Umfrage bewusst auf eine sehr einfache und geschlossene Fragestellung reduziert:

»Die Rolle Softwarearchitekt ist in gescheiterten Software-Vorhaben nicht bzw. in erfolgreichen Vorhaben geklärt.«

Dies genügt natürlich keinem wissenschaftlichen Anspruch und die Teilnehmerzahl reicht für ein repräsentatives Ergebnis nicht aus. Nichtsdestotrotz haben sich über 40 erfahrene Praktiker an der Umfrage beteiligt und darüber hinaus auch noch 12 qualitativ hochwertige Einschätzungen zum Thema gegeben, weshalb wir die Auswertung hier gerne teilen möchten.

Auswertung

Immerhin fast 70 % der Teilnehmer haben sich unserer Einschätzung weitestgehend anschließen können und sehen die Klärung der Rolle des Softwarearchitekten als auch erfolgskritisch für das Gelingen von Softwareentwicklungsvorhaben. Unsere Hypothese konnte also gestärkt werden. Rund 19 % der Teilnehmer können dem nicht unumwunden zustimmen und knapp 12 % haben sich enthalten. Insbesondere aufgrund der doch sehr einfachen und geschlossenen Fragestellung lohnt sich aber auch ein Blick in die Bemerkungen, welche 12 der Teilnehmer geschrieben haben.

Grundsätzlich wird eine einfache und geschlossene Frage der komplexen Realität in der Softwareentwicklung natürlich nicht gerecht:

»Die obige Aussage wird nicht in allen Fällen passen, der Tendenz der Aussage kann ich aber zustimmen.«

Und die Klärung der Architekturfrage ist nur eine von vielen Aufgaben und Risiken in entsprechenden Entwicklungsvorhaben:

»Ich kenne Beispiele in denen Projekte scheitern und die Rolle des SA [Softwarearchitekten] geklärt ist. Ebenso wie das Gegenteil. Wenn diese Rolle definiert ist, ist aber sicher ein Projektrisiko weniger da.«

Dabei ist die Schaffung eines Rahmens, in dem Entwicklungsvorhaben erfolgreich sein können, wie beispielsweise auch die entsprechende Klärung und Besetzung der notwendigen Rollen, auch immer schlußendlich Aufgabe des Managements:

»[…] falls Projekte scheitern, dann nicht primär an der definierten / nicht definierten Rolle eines SW-Architekten. Oftmals sind es eher die grundlegenden Fehler des Projektmanagments.«

Sehr richtig darüberhinaus zum Beispiel aber auch der Hinweis auf die notwendige Differenzierung zwischen Makro- und Mikroarchitekturebene:

»[…] ist das zu schwarz/weiß gemalt. Für Microservices die von Scrum Teams erstellt werden, braucht es keinen Architekten. Das bekommt das Team wunderbar alleine hin. Auf Makroebene halte ich ihn aber für notwendig.«

Eine auffallende Häufung ergab sich bei der Einschätzung, dass Architektur besser nicht von einem einzelnen Architekten gemacht werden sollte. Dies ließ sich zumindest aus vier der 12 Kommentare ablesen, exemplarisch hier:

»[… Architektur]-Rolle im Sinne von einer spezifischen Person - nein.«

Bezogen auf die Rolle, welche die jeweiligen Teilnehmer ausüben, ergibt sich folgendes Bild:

Auswertung der Umfrage je Rolle

Die höchste Zustimmung hat unsere These mit 80 % erwartungsgemäß von praktizierenden Architekten erhalten. 75 % der Manager aus dem Softwareentwicklungsumfeld sehen die Rolle des Architekten ebenfalls als erfolgskritisch an. Unter den Entwicklern konnte dann nur noch rund jeder Zweite unserer Frage zustimmen. Hierfür sehen wir drei Gründe.

Zunächst einmal verspürt ein Entwickler die Auswirkungen eines Architekten – sei er nun gut oder schlecht – natürlich auch am unmittelbarsten. Zweitens hat sich die Zunft der Softwarearchitekten in unserer Wahrnehmung auch erst in den letzten gut 10 Jahren dank iSAQB und anderen Qualifikationen wirklich professionalisiert. Davor gab es sicherlich auch viele Architekten, die dem heutigen Anspruch eher nicht genügten, worunter die Entwickler dann am meisten gelitten haben dürften. Neben dem berühmten Elfenbeinturm- und PowerPoint-Architekten gibt es da noch weitere Beispiele, wie auch die Kommentare zu unserer Umfrage zeigen:

»[…] oberschlauen „Visio-Bildchen“-malenden Enterprise-Architekten […], der nicht mehr an der konkreten Umsetzung beteiligt ist.«

Drittens hat sich die Bedeutung von Entwicklungsteams und der Rolle Architektur mit den agilen Vorgehensmodellen noch einmal geändert, was einerseits vielleicht noch nicht bei allen Architekten angekommen ist und andererseits von dem einen oder anderen Entwickler vielleicht auch missverstanden wird, weshalb wir die beiden Rollen durchaus häufiger im Spannungsverhältnis in unseren Projekten sehen. Dies ist aber einen eigenen Blogeintrag wert.

Zusammenfassung

Die Klärung der Rolle Softwarearchitekt trägt zum Erfolg von entsprechenden Entwicklungsvorhaben bei. Dies bestätigt mit rund 70 % ein Großteil der befragten Experten. Softwareentwicklungsvorhaben sind aber auch komplex und ihr Erfolg oder Misserfolg lässt sich dementsprechend nicht nur auf eine Variable, wie beispielsweise den Softwarearchitekten reduzieren. Dessen genauer Beitrag sollte im Rahmen einer differenzierteren Studie noch einmal detaillierter beleuchtet werden.