Um die Dinge "smart" zu machen – und das heißt sie auch mit einem gewissen Maß an Autonomie auszustatten –, bedarf es eines ungleich höheren Software-Anteils als bisher. Insofern kommt den Entwicklern eine zentrale Rolle dabei zu, die Konzepte und ihre Ziele durch Art und Qualität ihrer Arbeit zu verwirklichen.
Als US-Anbieter, der die Prozesse in den Entwicklungsabteilungen in Industrie und IT diesseits wie jenseits des Atlantiks kennt und unterstützt, sehen wir zehn Handlungsmaximen, die Entwickler in Zukunft im Zusammenhang mit Industrie 4.0 und Industrial Internet beherzigen und gemeinsam mit ihren Managern diskutieren sollten:
1. An den Endverbraucher denken. Die Zahl der vernetzten Endgeräte und Appliances wird im Internet der Dinge ungleich höher sein als die der vernetzten Produktionsressourcen. Aus diesem Grund müssen die Entwickler Prioritäten beim Bedienkomfort setzen. Die Benutzeroberflächen müssen selbsterklärend und intuitiv bedienbar sein. Das hilft im Übrigen auch in der Produktion, denn die Welt der Werker ist weiterhin die der Knöpfe und Hebel, nicht der Maus und filigranen Bedienelemente.
2. Das Netzwerk kennen. Das Internet der Dinge setzt Konnektivität voraus. Doch obwohl IoT generell einen offenen Internetzugang suggeriert, werden auch in Zukunft viele Dinge auf proprietäre Netze zugreifen. Um die Konnektivität optimal zu gestalten und abzusichern, muss die Software-Entwicklung stets die Protokolle, Standards und Lastanforderungen im Auge behalten, vor allem im Hinblick auf drahtlose Netzzugänge. Wegen der Vielzahl solcher Protokolle und Standards ist es schwer, den Fehler zu finden, wenn die Konnektivität einmal nicht funktioniert. Wer die Code-Dateien sauber versioniert und die Änderungen dokumentiert, spart viel Zeit und sichert die Qualität.
3. Für die Hardware modellieren. In der IoT-Welt wird ein Großteil der Gerätefunktionalität in Form von Firmware bereitgestellt werden. Diese muss jedoch in der Lage sein, mit individuellen Hardware-Spezifikationen umzugehen. Beim Softwaremodeling kommt es folglich darauf an, die Hardware zu berücksichtigen. Nur dann lässt sich sicherstellen, dass die Anwendungen die Geräte sauber unterstützen.
4. Die eigene Branche kennen. Das Internet der Dinge wird die Regulatoren auf den Plan rufen, und das auch in Bereichen, an die wir heute noch gar nicht denken. Deshalb muss schon die Anforderungsphase in der Entwicklung so gestaltet sein, dass sie im Nachhinein lückenlos nachvollziehbar ist und externen Prüfungen standhält. Der frühzeitige und regelmäßige Austausch mit den Produktspezialisten des jeweiligen Geschäftsfeldes sowie Peer Reviews können dabei helfen, die Regularien zuverlässig einzuhalten und den Projekterfolg insgesamt zu sichern.
5. Die Sicherheit fest einplanen. Zwar sind Sicherheitsüberlegungen nichts Neues für Software-Entwickler. Jedoch bedeutet das Internet der Dinge definitionsgemäß eine explosionsartige Zunahme an angreifbaren Endpunkten. Das Wissen, wie die Gerätefunktionalität abgesichert und im Kontext sicherer Netze designt werden kann, ist sowohl ein Muss als auch ein Wettbewerbsvorteil. In diesem Zusammenhang sind zusätzliche Branchenstandards und eventuell sogar gesetzliche Vorgaben zu erwarten und zu berücksichtigen. Werkzeuge, die bei der Versionierung der Software helfen und ihre Weiterentwicklung nachvollziehbar machen, sorgen dabei für die nötige Compliance.
6. Für die Schnittstelle leben. Das Internet der Dinge liebt kleine Schnittstellen, die eine Sache richtig gut können, dafür nur eine begrenzte Anzahl an Features bieten. Angesichts der Tatsache, dass das IoT aus Milliarden vernetzter Geräte bestehen wird, ist es von entscheidender Bedeutung, die Weiterentwicklung der APIs bei der Software-Entwicklung stets zu berücksichtigen. Voraussetzung hierfür ist allerdings, dass die vielen unterschiedlichen APIs und ihre zahlreichen Version sauber versioniert werden.
7. Die anderen Dinge nicht aus dem Blick verlieren. Es gibt Leute, die das Internet der Dinge als Viele-zu-Eins-Beziehung betrachten, als ob das Internet der Ort einer singulären Konnektivität wäre. Doch ein Großteil der vernetzten Geräte, speziell in der Produktion, wird miteinander kommunizieren und mitunter sogar Entscheidungen fällen. Es geht in Wahrheit also um Viele-zu-Viele-Beziehungen, so dass das Thema Interoperabilität ganz oben auf der Prioritätenliste stehen muss.
8. Praxisnah testen. Für das Internet der Dinge müssen Softwaretests spezifische Hardware- und Netzwerkanforderungen abbilden, aber auch gerätespezifische Anwendungsszenarien. Man stelle sich einfach mobile oder Sensortechniken vor, die extremen Umwelteinflüssen wie großen Temperaturschwankungen ausgesetzt werden und dennoch einwandfrei und zuverlässig funktionieren müssen.
9. Continuous Delivery schon heute einführen. Im Internet der Dinge stellt die Software-Funktionalität einen wettbewerbsrelevanten Wert des jeweiligen „Dings” dar. Viele Programmierprojekte für IoT weisen einen sehr begrenzten Umfang auf, während die Produkte in kürzeren Abständen auf den Markt gebracht werden müssen. Defect-Tracking-Systeme können vor diesem Hintergrund für ausgereifteren Code sorgen und die Fehlerbehebungsrate erhöhen. Gleichzeitig können eine effiziente Versionierung der Code-Dateien inklusive Dokumentation sowie eine Automatisierung der Entwicklungsprozesse dafür sorgen, dass die Produktzyklen dauerhaft verkürzt werden.
10. Den Prozess messen. Es ist weniger wichtig, ob das Capability Maturity Model (CMM) oder eine andere Messmethode verwendet wird. Vielmehr kommt es darauf an, dass die Entwicklungsprozesse skalieren und in einem bisher nicht gekannten Ausmaß reproduzierbar sind.
Im Internet der Dinge vernetzen sich nicht nur die Dinge miteinander, sondern auch die Produktdesigner und Software-Entwickler. Erst durch ihre fruchtbare Zusammenarbeit werden die Dinge wirklich smart, entsteht die "richtige" Software. Dazu bedarf es aber einer neuen Herangehensweise und neuer Prozesse in der Produktentwicklung, um die geforderten "sportlichen" Produktzyklen in einer einerseits hoch regulierten, andererseits aber von dynamischen Konsumentenwünschen und -erwartungen geprägten Welt einhalten zu können.
Autor: Sven Erik Knop ist Technical Marketing Manager bei Perforce Software