Gut Ding muss keine Weile haben

Gut Ding muss keine Weile haben

Vom smarten Kühlschrank bis hin zum vernetzten Herzschrittmacher: Viele Hersteller, die sich in der Vergangenheit auf rein analoge Geräte fokussiert haben, werden im digitalen Zeitalter plötzlich zum Softwareanbieter. Benötigtes Knowhow muss dazu nicht selten erst Schritt für Schritt aufgebaut werden. Ein Risiko, denn erfolgreiche Softwareentwicklung im IoT-Bereich erfordert einen gekonnten Spagat zwischen Schnelligkeit und Qualität.

 (Bild: Perforce Software UK Ltd.)

(Bild: Perforce Software UK Ltd.)

Der Erste am Markt gewinnt – im harten Wettbewerb unserer heutigen digitalisierten Lebenswelt wird dieser Eindruck zunehmend zur Maxime. In der Tat sorgt unter anderem die immer stärkere internationale Konkurrenz dafür, dass nicht selten eine rasche Markteinführung über Erfolg oder Misserfolg einer innovativen Idee entscheidet. Neue Produkte müssen möglichst schnell zur Marktreife gebracht werden – inklusive der zugehörigen Software. Als zentrale Komponente eines IoT-Geräts entscheidet jedoch gerade diese zu einem signifikanten Teil über dessen reibungslose Funktion und sichere Nutzung. In hochregulierten Branchen wie der Automotive-Industrie, der Luftfahrt oder der Medizintechnik gelten bereits seit langem strengste Compliance-Vorschriften, die nachweislich lückenlos erfüllt werden müssen. Mit zunehmender Ausbreitung von IoT in nahezu alle Bereiche des täglichen Lebens, dürfte es jedoch nur eine Frage der Zeit sein, bis entsprechend strenge Standards auch auf weitere Branchen ausgeweitet werden.

Spannungsfeld auflösen

Strenge Sorgfaltspflichten auf der einen, ein zunehmender Marktdruck auf der anderen Seite – für IoT-Entwickler erfordert dies einen gekonnten Balanceakt. Damit dieser gelingt, gilt es, durch geeignete Entwicklungsprozesse und eine vorausschauende Mentalität die richtige Grundlage zu schaffen, Geschwindigkeit und Qualität in der Praxis zusammenzubringen.

Anforderungen und Umsetzung verbinden

Compliance-Vorgaben und Richtlinien fließen im ersten Schritt in Form von Requirements in die Entwicklung mit ein. Nicht selten werden die entsprechenden Listen in der Praxis jedoch informell gepflegt, etwa in Word-Form. In diesem Fall besteht kaum eine Möglichkeit, im Bedarfsfall unmittelbar nachzuweisen, wie genau eine spezielle Anforderung im konkreten Quellcode umgesetzt wurde. Eine automatisierte Verwaltung und Dokumentation des gesamten Lebenszyklus der Software stellt hierfür eine zentrale Voraussetzung dar – bewerkstelligt werden kann dies etwa in Form einer Lösung für Application Lifecycle Management (ALM). Letztere integriert die entsprechenden Requirements unmittelbar in den Entwicklungsprozess, sodass sich die Einhaltung der Vorgaben im finalen Produkt im Bedarfsfall bis hin zu einzelnen Codezeilen belegen lässt.

Hybride Entwicklungsmethoden nutzen

Wer der Dynamik des heutigen IoT-Markts gerecht werden will, kommt um die Nutzung agiler Entwicklungsprozesse nicht herum. Werden Produkte deutlich kleinschrittiger geplant, entwickelt und getestet, lassen sich Fehler frühzeitig entdecken, die Software bleibt idealerweise jederzeit kurzfristig releasefähig. Ein klarer Fall – wären da nicht die strengen Vorgaben hochregulierter Branchen, welche die geplante Vorgehensweise und lückenlose Dokumentation traditioneller Entwicklungsmethoden erfordern. Um den Konflikt aufzulösen, empfiehlt sich die Implementierung einer hybriden Methodik, die aus agilen Methoden wie Scrum oder Kanban sowie traditionellen Projekt-Management-Modellen bestehen kann – und so die Vorteile beider Welten kombiniert. In der Praxis lässt sich dies etwa mithilfe einer Software realisieren, die Prozesse beider Vorgehensweisen automatisiert abstimmt und miteinander in Einklang bringt.

Eine lückenlose Beweiskette sicherstellen

Nicht nur aus Compliance-Gründen, auch für eine effiziente Fehlerbehebung müssen IoT-Entwickler den Entstehungsprozess ihres Codes jederzeit nachvollziehen können. Löst etwa ein neues Commit einen Fehler im Test aus, muss unmittelbar erkennbar sein, welche Änderungen zwischenzeitlich durchgeführt wurden, von wem und warum – nicht zuletzt, wenn ein schwerer Fehler gar ein Rollback auf eine frühere, funktionsfähige Version unvermeidlich macht. Die beste Herangehensweise an die lückenlose Beweiskette ist es, einen einzigen, zentralen Referenzbestand aller Entwicklungs-Assets zu pflegen – Möglichkeiten hierzu bieten die gängigen Plattformen für Versionsmanagement. Wichtig jedoch ist, nicht nur den eigentlichen Softwarecode, sondern alle zum Produkt gehörigen Artefakte mit einzubeziehen: von Grafikelementen über CAD-Designs, Konfigurationsskripte und Binärdateien bis hin zur begleitenden Dokumentation.

Auf ‚Clean Code‘ achten

Bis zu 90 Prozent aller Sicherheitslücken gehen auf Programmierfehler im Quellcode zurück. Um qualitativ hochwertige Produkte zu liefern, gilt es daher, Fehler bereits auf Code-Ebene zu identifizieren und zu beheben, um große, zeitraubende Fehlerbehebungsphasen zum Ende des Entwicklungsprozesses zu vermeiden. Um Kollegen die Prüfung oder Überarbeitung des eigenen Codes so leicht wie möglich zu machen, empfiehlt es sich, bereits bei der Entwicklung konsequent auf ‚Clean Code‘ zu achten. Die von dem Agile-Experten Robert C. Martin geprägten Richtlinien umfassen etwa Coding-Standards wie Formatierungskonventionen, die Vermeidung von Copy&Paste von Codeabschnitten, eine sinnvolle Segmentierung in kleine Codeabschnitte mit wenig Parametern oder eine Gliederung der Funktionen in ‚Befehle‘ und ‚Abfragen‘. Um die Umsetzung in der Praxis zu unterstützen, können Tools für statische Codeanalyse helfen.

Eine Frage der Voraussetzungen

Eine umfassende Dokumentation des gesamten Entwicklungsprozesses sowie die weitestgehende Automatisierung von Abläufen schaffen für IoT-Entwickler die Ausgangslage, um im umkämpften Wettbewerb bestehen und gleichzeitig Kundenanforderungen sowie Compliance-Vorgaben bestmöglich erfüllen zu können. Entscheidend ist jedoch, die entsprechenden Vorgehensweisen so früh wie möglich im Entwicklungsprozess zu etablieren sowie Flaschenhälse durch eine vorausschauende Projektkultur, Sorgfalt sowie die Entlastung von manuellen Vorgängen zu beseitigen. Sind die richtigen Voraussetzungen erfüllt, kann auch der Spagat zwischen Qualität und Schnelligkeit elegant gelingen.

Perforce Software UK Ltd.
www.perforce.com

Das könnte Sie auch Interessieren