Von einer Branche, die erwachsen werden muss

Für Embedded-Entwickler gehört der ESE Kongress in Sindelfingen genauso zur Vorweihnachtszeit wie die Türchen am Adventskalender oder der Nikolaus. Die Softwarekonferenz, die heuer mit deutlich über 900 Anmeldungen einen neuen Teilnehmerrekord verbuchen konnte, wartete diesmal zu Beginn mit einem echten internationalen Höhepunkt auf. Der Amerikaner Jack Ganssle, der sich als Veteran vieler Softwareprojekte, als Autor einflussreicher Bücher, als Unternehmer, Berater und Dozent einen Namen gemacht hat, sprach vor einer gut gefüllten Halle über den Stand der Dinge in der Embedded-Softwareentwicklung.

Nicht alles steht dort zum Besten, stellte er zu Beginn seiner Ansprache fest. Seine Grundthese lautete „Wir müssen Künstler durch disziplinierte Erwachsene ersetzen.“ Mit dem Begriff Kunst meinte er eine Softwaretechnik, die sich in weiten Bereichen externen Reviews entzieht und Metriken zur Codequalität abhold ist und sich stattdessen sehr schnell in Glaubenskriegen verliert. Zum Thema Glaubenskriege nannte er zwei Beispiele: So verhielten sich Entwickler manchmal päpstlicher als der Papst, wenn es um die Platzierung von Klammern im Quelltext gehe. Zum anderen sei es ein sicheres Rezept, die Community gegen sich aufzubringen, wenn man über Linux lästere. „Linux ist nur ein Haufen Bits. Für manche Applikationen ist es ein großartiger Haufen Bits, für andere ist es ein furchtbarer Haufen Bits“, erklärte Ganssle.

Um seine Argumentation zu unterstützen, führte der US-Amerikaner eine Umfrage unter Entwicklern an, welche Kriterien bei der Wahl eines Embedded-Betriebssystems die entscheidende Rolle gespielt habe. Sehr oft sei dabei das Kriterium genannt worden „Ich mag keine kommerziellen Produkte“. Daraufhin sagte Ganssle: „Come on! Engineering-Entscheidungen sollten nicht anhand persönlicher Vorlieben getroffen werden.“

Insgesamt riet Ganssle der Softwarebranche, technische Entscheidungen müssten auch gute Business-Entscheidungen sein. Bei der Wahl eines Betriebssystems für harte Echtzeitanwendungen sollte man sich vielmehr für Systeme entscheiden, die sich in harten Umgebungen bewährt hätten und auch von dritter Seite zertifiziert worden seien. Derzeit gebe es nur ein Betriebssystem, das nach die Bedingungen des Qualitätsstandards EAL (Evaluation Assurance Level) 6+ erfülle. Zum Vergleich: Windows ist demnach bei Level 4 dieser Skala angekommen. „Das bedeutet: Windows ist ein sicheres Betriebssystem, wenn es keiner angreift“, erklärte Ganssle. Damit hatte er viele Lacher auf seiner Seite.

Darüber hinaus mahnte Ganssle, wohldefinierte Prozesse zu verwenden. Als Beispiel nannte er das Capability Maturity Model (CMM), das dazu beitragen könne, die Qualität der Software entscheidend zu verbessern. Ganssle riet nicht grundsätzlich von agilen Methoden ab, warnte aber, dass in vielen Embedded-Projekten zwar agile Ideen angewandt würden. Dies geschehe aber unsystematisch. „Nur Ideen, keine Disziplin“, lautete deshalb das Verdikt des Experten über diese Projekte.

Er wehrte sich auch gegen weit verbreitete Gedanken, man müsse sich nicht vorab über ein Applikationsdesign Gedanken machen, wenn man nur genug Code schreibe, dann werde schon ein Design dabei herauskommen. Derartige Gedanken, die unter anderem von Kent Beck, einem der Begründer des Extreme Programming, vertreten werden, erteilte Ganssle mit dem Verdikt „Crazy Talk“ eine deutliche Absage.

Weiters kritisierte er die Aversion vieler Projekte gegen externe Code-Reviews. Solche Reviews würden in kürzerer Zeit mehr Fehler finden, als dies durch Tests möglich sei. Darüber hinaus wunderte sich über die Vorliebe der Embedded-Branche für Entwicklungssprachen wie C und C++, mit denen es möglich sei, zwar korrekten, aber völlig unverständlichen Code zu schreiben.

Abschließend fragte sich Ganssle, ob man angesichts dieser Lage der Dinge bald in den Zeitungen über einen Totalausfall des Internets der Dinge lesen könne. Wichtig sei ein „Quality Mindset“, der die Softwarequalität in den Vordergrund stelle, keine Künstler toleriere und diszipliniert ingenieurgemäße Strategien anwende. Sein Fazit lautete: „Wir haben viel erreicht, aber wir müssen besser werden.“ Auf die Frage eines Zuhörers, was man denn bei bestehenden Projekten tun könne, sagte Ganssle, hier komme es darauf an, die Fehler der Vergangenheit nicht fortzusetzen und einen klaren Schnitt zu machen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.