Menu

Mit der Standardisierung von Entwicklungsprozessen Schritt halten

Frühe Standardisierungen bezogen sich auf die Hardwareabstraktion, allerdings bauen moderne Technologien auf Software auf.

Mit einer iterativen Softwareentwicklung lassen sich bessere Produkte schneller entwickeln und auf den Markt bringen.

Testabteilungen müssen auf standardisierte Verfahren für die iterative Softwareentwicklung umsteigen, um wettbewerbsfähig zu bleiben.

image description Standardisierung gehört schon seit Jahrzehnten zu den angestrebten Zielen von Testabteilungen. Bereits 1961 veröffentlichten D.B. Dobson und L.L. Wolff von der Radio Corporation of America (RCA) die Abhandlung Standardization of Electronic Test Equipment. Darin beschrieben sie die Leitlinien, Kriterien und Methoden für die Untersuchung der Machbarkeit und die anschließende Prototypenerstellung einer Prüfeinrichtung für ein Mehrzweck-Flugkörpersystem.

Der Zweck der meisten frühen Standardisierungsmaßnahmen lag darin, möglichst einheitliche Testgeräte für die Testlösungen innerhalb eines Unternehmens festzulegen. Das Hauptziel, das die RCA mit ihrem Prototypensystem erreicht hat, war die Entwicklung und der Einsatz eines modularen Hardwaresatzes. Modulare Hardware sorgt für eine höhere Wiederverwendbarkeit der Geräte, mehr integrierte Testlösungen, weniger veraltete Komponenten und den einfacheren Austausch von Technologien. Aufgrund der großen Vielfalt an Produkten und Anlagen, die bis zu 50 Jahre in Betrieb bleiben können, profitieren besonders Testgruppen in der Luft- und Raumfahrt von modularen Testsystemen, die eine einfachere Wartung und höhere Wiederverwendbarkeit ermöglichen.

Sicherheitsanforderungen und schnelle Änderungen zwingen moderne Testabteilungen zu Standardisierungen, die weit über die reine Hardware hinausgehen. Sie müssen sich nun auch auf die Software und die zugehörigen Entwicklungsverfahren konzentrieren. Um mit den Produktentwicklungsteams und Projektzeitplänen einer sich schnell modernisierenden Branche Schritt zu halten, müssen Testentwicklungsteams auf eine standardisierte iterative Softwareentwicklung setzen.

Software als Rückgrat der Standardisierung

image description Die RCA-Abhandlung beschreibt den Prozess der Identifizierung gemeinsamer Ein- und Ausgänge über verschiedene funktionale Komponenten und Flugkörperprogramme hinweg, um so die Anforderungen für das modulare Hardwaresystem zu definieren. Dieser Prozess des Identifizierens und Zusammenfassens gemeinsamer Elemente ist die Grundlage für Abstraktion. Größere Standardisierungsmaßnahmen bei Messgeräten und der Übergang zu handelsüblichen Technologien haben zur Entwicklung modularer Hardwarestandards wie VXI, PXI, PXIe und AXIe geführt, die in den Testabteilungen verschiedenster Branchen genutzt werden. Modulare Standardhardwareplattformen fassen dabei redundante Elemente wie Netzteile, Kühlung und Benutzerschnittstellen zu zentralen Punkten innerhalb des Systems zusammen.

In dem Bericht Design and Acquisition of Software for Defense Systems des US-amerikanischen Defense Science Board (DSB) heißt es: „Viele der Funktionen unserer Waffensysteme werden über die Software des Systems realisiert und nicht über die Hardware. Die Verlagerung von hardwaregestützten Funktionen zu softwaregestützten Funktionen geht immer schneller vonstatten.“ Moderne Messtechnik umfasst zunehmend Prozessoren und softwaredefinierte Komponenten wie FPGAs. Um das volle Potenzial dieser Technologien auszuschöpfen, ist es nicht nur vorteilhaft, Messsysteme in Software zu definieren, es ist eine Notwendigkeit.

Die besten Testentwicklungsteams erstellen abstrahierte Testsoftware, die sogar noch mehr Vorteile bietet als abstrahierte Hardware. Eine abstrahierte Softwareplattform besteht aus Schichten, die spezifische Funktionen ausführen. Dies gibt Teams die Möglichkeit, jedes Modul einzeln zu reparieren und zu aktualisieren, ohne die anderen Schichten zu beeinträchtigen, da dieselben Ein- und Ausgänge erhalten bleiben. „Bei dutzenden ehemaligen Geschäftsbereichen muss bei der Softwarestandardisierung die Historie jeder Gruppe berücksichtigt werden“, so Mark Keith, Chief Engineer bei Honeywell Aerospace. „Der Zweck [der Abstraktion] liegt in der Minimierung bzw. Vermeidung von Softwaremodifikationen, wenn die veraltete Hardware ausgetauscht wird.“

„Angesichts des schnellen Technologiewandels heutzutage können sich 30 Jahre fast wie eine Ewigkeit anfühlen. Manchmal passen die Best-in-Class-Ansätze von heute einfach nicht mehr mit den Best-in-Class-Ansätzen der Vergangenheit zusammen.“

Mark Keith, Chief Engineer, Honeywell Aerospace

Moderne Softwareentwicklung für Testsysteme

Angesichts der enormen Geschwindigkeit, mit der neue Produkte und Funktionen heute auf den Markt gebracht werden, reichen ordnungsgemäß eingerichtete Testsoftwarearchitekturen allein nicht mehr aus. Zusätzlich müssen Verfahren implementiert werden, die eine schnellere und flexiblere Bereitstellung an die Produktion und den Kunden ermöglichen. Um alle geforderten Funktionen liefern zu können, gehen moderne Softwareentwicklungsteams deshalb auf kontinuierliche, iterative Softwareentwicklungsprozesse wie z. B. die agile Softwareentwicklung über.

Wie im Bericht des DSB zu lesen, liegt „der Hauptvorteil der iterativen Entwicklung in der Fähigkeit, während der gesamten Anwendungsentwicklung, Fehler schnell und kontinuierlich zu finden, neuen Code einfach zu integrieren und Nutzerfeedback zu erhalten.“ Die iterative Softwareentwicklung ist mittlerweile zu einem Industriestandardverfahren avanciert, das „dem [US-amerikanischen Verteidigungsministerium] dabei helfen wird, dem dynamischen Sicherheitsumfeld von heute zu begegnen, in dem die schnelle Änderung von Bedrohungslagen nicht mehr mit dem Wasserfallmodell zu bewältigen ist.“

Standardisierung auf iterative Entwicklung

Für die iterative Softwareentwicklung bedarf es einer gut aufeinander abgestimmten Teamzusammenarbeit und, ähnlich wie bei der Abstraktion von Hardwareplattformen und Softwarearchitekturen, gemeinsamer und wiederholter Konzepte und Aufgaben.

Teams, die an der Codebasis arbeiten, müssen sich auf einheitliche Tools für die Quellcodeverwaltung, Unit Test Frameworks, Codeanalyse, Aufgabenverwaltung und Softwareverteilung einigen. Ein weiteres, immer wichtigeres Thema ist die Cybersicherheit. Hierzu ist beim DSB zu lesen: „Durch die tägliche Überprüfung der Codebasis von Softwaresystemen lässt sich die Menge der Änderungen bewältigen, die für die Einhaltung einer großen Anzahl von Cyberregeln notwendig sind.“

Im Bericht Contracting Strategy for F-22 Modernization erklärt der Generalinspekteur des US-Verteidigungsministeriums: „Laut eines offiziellen Mitarbeiters des Programmbüros läuft das Verteidigungsministerium Gefahr, seinen technologischen Vorsprung gegenüber US-amerikanischen Gegnern zu verlieren und muss daher innovative Wege finden, um die Streitkräfte schneller mit neuen Technologien auszustatten.“ Die Luft-, Raumfahrt und Verteidigungsindustrie sind jedoch nicht die einzigen Branchen, in denen Testteams Schwierigkeiten haben, bessere Technologien schneller auf den Markt zu bringen. Die iterative Entwicklung bietet hier eine bewährte Methode, um die Produktentwicklung für alle Branchen zu beschleunigen.

Während Testingenieure sich bisher auf die Standardisierung von Hardware und den Wechsel zu mehrstufigen Softwarearchitekturen konzentriert haben, sind F&E-Abteilungen bereits auf eine iterative Produktentwicklung übergegangen. Natürlich sind alle Bereiche der Standardisierung wichtig und nützlich für Testabteilungen, aber die Standardisierung muss auch mit den Entwicklungsmethoden von heute Schritt halten. Testabteilungen, die auf agile Softwareentwicklungsverfahren setzen, sind für die Zukunft gut aufgestellt.

Gesteigerter Nutzen durch Standardisierung

image description

Nächste Schritte

image description

Nicholas Butler

NI Head of Aerospace and Defense Marketing

NI Trend Watch 2019: Sicher in die Zukunft der Megatrends

Vollständigen Bericht herunterladen