Montag, 15. April 2013

It’s the software, stupid!


Software? Heute kann jedes Kind und jede Oma auf einem iPad eine App installieren!

Vor vielen Jahren jedoch war es nicht selbstverständlich, dass Software überhaupt ohne Computer verkauft wurde! Zur Zeiten der Großrechner galt Software als notwendiger Zusatz, immer speziell auf den Großrechner zugeschnitten. Das änderte sich erst in den 60er Jahren, dokumentiert z.B. in der Dissertation von T. Leimbach oder im Computermuseum in Paderborn: Software wurde für mehrere, sogar verschiedene Rechnertypen geschrieben! Eine Revolution damals, eine Selbstverständlichkeit mit unglaublichem Marktvolumen heute. 
Ich gebe zu, es war ein langer und mühsamer Weg von Lochkarten zum App-Store – und „write once, run anywhere“ ist gerade durch Apple auch wieder aus der Mode gekommen: auf iOS darf nur Objective-C laufen.

Einen ähnlichen Wandel erlebte in den letzten Jahren die Automobil-Industrie: wenn ich mit meinem Skoda wegen eines Problems zur Werkstatt fahre, dann liest der Techniker mit einem Bluetooth-Gerät am Wagen den Fehlerspeicher aus, bevor er sich auf die Suche begibt. Selbst im SPIEGEL gab es schon Artikel zur Arbeitswelt von Informatikern im Automobil-Bereich, ein klarer Indikator für einen weit fortgeschrittenen Wandel...

Selbst preisgünstige Autos ohne sichtbaren Bordcomputer regeln alles mittlerweile über Steuerelektronik, die wiederum durch Software kontrolliert wird. Software-Updates im Auto? Vor Jahren noch undenkbar. Ich bin gespannt, wann ich mir beim nächsten 7er-BMW Apps für mein Fahrzeug herunterladen kann (gespannt bin ich auch, wann ich mal 7er-BMW fahren darf...).

Auch im Flugzeugbau geht ohne Software nichts mehr – ich entsinne mich der vielen Diskussionen in Fachzeitschriften, ob denn die Piloten Bildschirme anstelle von Messgeräten akzeptieren würden. Heutzutage fokussiert sich die Diskussion wohl eher darauf, warum der Pilot sein iPad nicht integriert im Cockpit nutzen kann. Dass nur noch der Computer fliegt und der Pilot zusieht, ist übrigens eine Legende, selbst bei Billig-Fluglinien.

Die nächste Revolution läuft gerade an – im Maschinen- undAnlagenbau: auch hier wird durch immer günstigere und leistungsfähigere Hardware die Steuerung in Software verlagert. Auch bei diesen Steuerungen gilt: die Erwartung an Features und Komfort steigt mindestens so stark wie die Leistungsfähigkeit der Hardware. 
Gerade die Integration von Maschinen in betriebliche Prozesse ermöglicht z.B. sehr genaue Fertigungs- und Lagerhaltungsplanungen, natürlich mit Anbindung an die entsprechenden Systeme. Und natürlich wollen die Controller dann auch wissen, wie Rüstzeiten und Prozessschritte denn so ausfallen. Hinzu kommt die Vorerfahrung aus dem täglichen Leben: stellen Sie mal einen kleinen Bildschirm irgendwo hin und lassen Sie Kollegen die neue Anwendung bedienen – viele gehen ganz selbstverständlich von einem Touch-Screen aus...


So wird auch im industriellen Bereich die Wertschöpfung im Bereich Software-Entwicklung drastisch zunehmen. Insbesondere wird man die mühsam und teuer erstellten Anwendungen nicht nur für eine Maschine erstellen, sondern gleich für mehrere Grundtypen verwenden wollen, inklusive Konfiguration und Customizing. 

Warum sollte man eine SPS-Konfiguration für jede Maschine neu einstellen? Und voilá, da sind Sie dann mitten im Software-Engineering gelandet! Schließlich wird die Leistungsfähigkeit und Vielfalt der Software als Verkaufsargument dienen – vgl. VC20 und C64: technisch damals nicht mehr ganz aktuell, aber wegen der hohen Anzahl an Programmen klarer Marktführer.

„When in Rome, do as the Romans do“

Soweit die Erkenntnis – aber was heißt dies für Ihr Projekt? Der Software-Anteil am Gesamtvolumen wird steigen! In der Regel wird der Software-Anteil das Budget im Vergleich zu früher geradezu aufblähen: schließlich müssen die neuen Interaktionen über Touch-Displays und Schnittstellen zu anderen Systemen auch programmiert werden. 

Werden Sie in einer solchen Situation die Maschine mit klassischer, funktionaler Dekomposition entwerfen lassen? Am besten von Ingenieuren, die jahrelang solche Maschinen gebaut haben? Oder riskieren Sie dabei Schiffbruch?

Erinnern Sie sich noch an die fast unbedienbaren, aber feature-vollständigen Videorecorder der 90er? Ich glaube nicht, dass ich schon jedes Feature meines Fernsehers verstanden habe oder gar nutzen werde – würde mich aber freuen, wenn die Grundfunktionen an der ein oder anderen Stellen einfacher zu bedienen wären!

Verstehen Sie mich nicht falsch: auf keinen Fall sollten Sie auf das Wissen der Ingenieure verzichten! Vielmehr müssen Sie, bevor die Ingenieure loslegen können, ganz andere, bisher nicht betrachtete Bereiche diskutieren: Da sind wir wieder bei Anforderungen, Use Cases / Anwendungsfällen usw.

Ihre Ingenieure kommen dann spätestens im Design zum Zuge, wenn es um die Umsetzungsmöglichkeiten geht! Natürlich auch schon vorher für Machbarkeitsanalysen und neue Techniken. Vermeiden Sie aber, dass ein Experte für 80er-Jahre Masken die Oberflächen Ihres Systems entwirft! Das geht selten gut!

Die drei wichtigsten Tipps, bevor Ihr Notebook-Akku leer ist:
  • Planen Sie Software-intensive Systeme mit Mitteln des Software-Engineering, um Ihr Budget nicht zu riskieren.
  • Gehen Sie möglichst iterativ in kleinen Schritten vor, sowohl bei neuen Technologien als auch bei neuen Design-Konzepten.
  • Prüfen Sie kritisch, ob Ihr Team (und Sie selbst) genug von modernem Software-Engineering verstehen! Sonst holen Sie sich RECHTZEITIG Hilfe!