Suchen

„Der Kapitän der Costa Concordia könnte Software-Projektleiter sein“

Redakteur: Franz Graser

Professor Jochen Ludewig, ehemaliger Leiter der Abteilung Software-Engineering der Universität Stuttgart, hat Entwickler und Manager eindringlich ins Gebet genommen. In seiner Ansprache beim diesjährigen ESE Kongress ging es um die Frage: „Wie viel Software-Engineering können Sie sich leisten?“

Firmen zum Thema

Professor Dr. Jochen Ludewig, der ehemalige Leiter der Abteilung Software-Engineering an der Universität Stuttgart. In seiner Keynote auf dem diesjährigen ESE Kongress sagte er: „Software-Engineering heißt, langfristig die Kosten zu senken.“
Professor Dr. Jochen Ludewig, der ehemalige Leiter der Abteilung Software-Engineering an der Universität Stuttgart. In seiner Keynote auf dem diesjährigen ESE Kongress sagte er: „Software-Engineering heißt, langfristig die Kosten zu senken.“
(Bild: Universität Stuttgart)

Zu Beginn seiner Keynote blickte Professor Ludewig ganz weit zurück an die Anfänge der Evolution des Menschen. „Die Herstellung und Bearbeitung von Software war in der Evolution kein Thema. Dafür ist der Mensch ebenso wenig gerüstet wie für den Umgang mit Röntgenstrahlen.“

Der Mensch, so Ludewig, sei zwar dazu in der Lage, komplexe Artefakte zu entwickeln, aber eher schlecht darin, sie zu verstehen und zu verändern. Mit dem Konzept des Software-Engineering, das Ende der sechziger Jahre des vergangenen Jahrhunderts aufkam, wurde die Forderung verknüpft, dass Softwareentwickler wie die Ingenieure aus den klassischen Ingenieurwissenschaften arbeiten sollten.

Seit damals seien zahlreiche Ansätze und Methoden entwickelt worden, die die ingenieurgemäße Softwareentwicklung vorantreiben sollten. Das Prinzip KISS (Keep it small and simple) sei beispielsweise jedem Entwickler geläufig. Bürokratische Vorschriften und komplizierte Techniken hätten dagegen das Problem nicht gelöst.

Darüber hinaus müssten nicht-funktionale Anforderungen an die Benutzerfreundlichkeit der Software oder die Wartbarkeit der Software von vornherein in die Entwicklung integriert werden. Die entsprechenden Daten seien zwar schwer zu fassen und zu spezifizieren. „Das macht aber das Ignorieren dieser Aspekte nicht sinnvoller!“, warnte Ludewig.

Letzten Endes, so Ludewig, gehe es beim Software-Engineering darum, die Kosten langfristig zu senken. Er zitierte den amerikanischen Softwarepionier Barry W. Boehm, der unter anderem durch seine Kostenbetrachtungen zu Entwicklungsprojekten bekannt wurde. Boehm hatte vor etwa dreißig Jahren die Faustregel aufgestellt, dass für jeden Dollar, der in die Entwicklung gesteckt werde, zwei Dollar für die Wartung aufgewendet werden müsse.

„Der Wartungsanteil dürfte seitdem stark gestiegen sein“, bemerkte der Stuttgarter Professor trocken. Deswegen sei es wichtig, den Wartungsaufwand zu senken und den Aufwand für die Entwicklung zu erhöhen, ähnlich wie wenn man einen Neubau mit einer Wärmedämmung ausstatte – diese helfe dann, zu einem späteren Zeitpunkt Kosten zu sparen.

Ein Unterschied zu klassischen Engineering-Disziplinen dürfe beim Software-Engineering nicht vernachlässigt werden, so Ludewig: In der Softwareentwicklung könne ein einziges falsches Bit eine Funktion völlig verändern. „Das gibt es im klassischen Maschinenbau so nicht“, beobachtete der Professor.

Aber dadurch, dass schon ein einziges falsches Bit verheerende Folgen haben könne, würden Fehler in der Softwareentwicklung „sehr, sehr teuer“. Deshalb müsse auch ein sehr hoher Aufwand getrieben werden, um Fehler zu vermeiden.

Professor Ludewig konnte immer wieder beobachten, dass alle paar Jahre eine umfassende Lösung für diese Probleme versprochen wurde. „Dann wird eine neue Sau durchs Dorf getrieben.“ In den späten achtziger Jahren habe man dann resignierend feststellen müssen, dass es keine „Silver Bullet“, also kein Allheilmittel für die Probleme in der Softwareentwicklung gebe. Wenn also jemand ein solches Wundermittel anbiete, empfiehlt Ludewig kurz und knapp: „Rauswerfen, sofort!“

Um erfolgreicher agieren zu können, empfahl der Stuttgarter Professor den Projektbeteiligten, ihre Hausaufgaben zu machen. Man brauche eine ordentliche Projektplanung, eine vernünftige Schätzung des Aufwandes, Meilensteine als Fortschrittsmarkierer und ein gutes Risikomanagement.

Begriffslexika und Checklisten

Ludewig verwies darauf, dass über 50 Prozent der gescheiterten Softwareprojekte schon in der Planungsphase gescheitert seien. Zudem gab er den Projektverantwortlichen mit auf den Weg: „Es ist kein Risiko, dass der Kunde die Anforderungen ändert. Quatsch, das ist Gewissheit!“

Deswegen riet er zu einer guten und ehrlichen Kommunikation untereinander und mit dem Kunden. Unter anderem sei es wichtig, ein Lexikon zusammenzustellen, das klar die Bedeutung der verwendeten Begriffe definiere. Dadurch könne man begrifflicher Unschärfe und Missverständnissen vorbeugen.

Ludewig bestand darauf, dass in dieses Begriffslexikon auch Allerweltsbegriffe aufgenommen würden. „Die sind die schlimmsten“, bemerkte Ludewig – da jeder glaube, solche Allerweltsbegriffe zu verstehen, bestehe gerade hier die Gefahr unterschiedlicher Interpretationen. Wer noch kein solches Begriffslexikon erarbeitet habe, solle sofort nach Hause gehen und damit anfangen, forderte der Professor die Zuhörer auf.

Zudem mahnte der emeritierte Hochschullehrer an, sich regelmäßig darüber klar zu werden, an welchem Punkt sich das Projekt befinde. Wer dies nicht tue, gleiche dem Kapitän des Kreuzfahrtschiffes Costa Concordia, das vor der italienischen Insel Giglio auf Grund gelaufen war. „Der Kapitän des Schiffes könnte Software-Projektleiter sein“, bemerkte Ludewig gallig.

Wichtig seien auch Checklisten. Nicht von ungefähr leiste dieses Instrument seit vielen Jahren einen ganz erheblichen Beitrag zur Flugsicherheit. Dadurch würden viele banale Fehler und Unterlassungen vermieden. „Ich benutze seit Jahrzehnten eine Checkliste zum Kofferpacken“, bekannte der Professor.

Auch die vieldiskutierten agilen Ansätze seien kein Allheilmittel zur Lösung des Problems der Softwarequalität. Die agile Revolte wertete Ludewig als „eine sinnvolle Reaktion auf eine ausufernde Prozessbürokratie“. Allerdings habe sich das Extreme Programming bis auf einige Ausnahmen in Deutschland nicht durchgesetzt, Scrum habe seinen Wert für gewisse Projekte mit unklaren Anforderungen und einem Fokus auf der Benutzeroberfläche. Scrum werde jedoch kaum in Reinform umgesetzt.

Vor diesem Hintergrund plädierte Ludewig dafür, Biotope zu schaffen, die die Entstehung guter Software begünstigen. Software Engineering verbinde gerade handwerkliche Qualität mit technischer Vernunft und finanziere sich selbst. Allerdings müsse man bereit sein, in Software Engineering zu investieren.

„Gute Leute arbeiten gern dort, wo gut gearbeitet wird“, sagte Ludewig zum Ende seiner Keynote. Das sei aber gerade nicht möglich, wenn ein Softwareprojekt einer Wanderung durch den Dschungel gleiche und im Panik-Modus beendet werde.

(ID:43114567)