Agile Software-Entwicklung in der Luft- und Raumfahrt
Der Fachausschuss Q3.4 Softwareengineering der DGLR veranstalten am 10. Oktober 2018 einen eintägigen Workshop zum Thema
"Agile Softwareentwicklung in der Luft- und Raumfahrt".
Ort: Institut für Luft- und Raumfahrt, TU München, Garching bei München
Call for Paper
Mitte der 1990er Jahre erarbeiteten Kurt Beck, Ward Cunningham und Ron Jeffries bei Chrysler die Methoden des Extreme Programming und der agile Softwareentwicklung, um ein IT-System zu entwickeln (diese Entwicklung wurde 2000 eingestellt). 2001 wurde aufgrund der Erfahrungen aus den 90ern das „Agile Manifest“ unterzeichnet, das das Fundament der Agilen Entwicklung kurz und prägnant zusammenfasst.
Seit mehreren Jahren gibt es Versuche, das agile Vorgehensmodell auf sicherheitskritische eingebettete Realzeitsysteme zu übertragen. Jedoch widersprechen die Prinzipien und Praktiken des Agilen Manifests in einigen Punkten den Forderungen der Entwicklungsrichtlinien für sicherheitskritische Software. Diese Entwicklungsrichtlinien fordern zum Beispiel die Befolgung von Plänen, während das Agile Manifest Änderungen in späten Entwicklungsphasen den Vorrang gibt. In der Raumfahrt wiederum ist es schwierig das Prinzip der Auslieferung von Teillösungen umzusetzen.
Um also das agile Vorgehensmodell in der Luft- und Raumfahrt einsetzen zu können, sind Anpassungen und Ergänzungen sowohl beim Vorgehensmodell als auch bei den technischen und vertragsrechtlichen Regelungen notwendig. Der geplante Workshop soll beleuchten, unter welchen Voraussetzungen agile Vorgehensweisen in der Luft- und Raumfahrt eingesetzt und welche Vorteile daraus gezogen werden können.
Für den Workshop suchen wir Vorträge und Erfahrungsberichte aus der industriellen Praxis oder der industrienahen Forschung. Aufgrund der branchenübergreifenden Bedeutung des Themas sind auch Vorträge aus Fachrichtungen außerhalb der Luft- und Raumfahrt willkommen.
Jeder Vortrag sollte ca. 30 Minuten dauern, anschließend sind 15 Minuten Diskussion vorgesehen. Zwecks Vorbereitung des Workshops wird um die Zusendung einer Kurzfassung des Vortrags bis spätestens zum 27. Juli 2018 gebeten. Der Workshop findet am 10. Oktober 2018 an der Technischen Universität München in Garching statt. Die Teilnahme ist kostenlos.
Für weitere Informationen und zur Vortragsanmeldung steht Ihnen die Leitung des Fachausschusses Q3.4 zur Verfügung.
Programm
Beginn: 9:00 |
| |
Obleute des Fachausschusses | Begrüßung der Teilnehmer | |
|
| |
Markus Hochstrasser, Stephan Myschik, Florian Holzapfel | A modular, model-based DO-178C software life cycle – planning, realization, and preservation | |
| Agile Entwicklung und Software Safety – Disziplinen, Prozesse und Abhängigkeiten | |
Michael Erskine |
| |
John Marsden | ED-12C / DO-178C vs. Agile Manifesto | |
|
| |
Sebastian Benders | Agile Softwareentwicklung für einen Prototypen zur Technologiedemonstration des unbemannten Luftfrachttransports - Ein Erfahrungsbericht | |
|
| |
Dr. Roland Kempter | OPTARION®: Agile Product Development - A single Version of the Truth [Die Vortragsmaterialien sind auf Nachfrage bei roland.kempter[at]hensoldt.net erhältlich] | |
|
| |
| An Insight into varied industry applications of Agile & key enabling verification technologies | |
|
| |
Stefan Wertheimer | Surf ‘n’ Turf – Scrum und ECSS-E-ST-40C | |
|
| |
Bei Bedarf können die Dokumente zu den jeweiligen Vorträgen bei den Obleuten des Fachausschuss angefordert werden.
Bericht
„Agile Softwareentwicklung in der Luft- und Raumfahrt – Wie steht es um Agile Methoden 15 Jahre nach dem Agilen Manifest?“ – Zu diesem Thema trafen sich am 10. Oktober 2018 rund 70 Workshopteilnehmer aus Forschung, Industrie und von der Bundeswehr. Anlass war der jährliche Workshop des Fachausschusses Q3.4 Softwareengineering der Deutschen Gesellschaft für Luft- und Raumfahrt (DGLR) der am Institut für Luft- und Raumfahrt der Technischen Universität München in Garching stattfand.
Nach der Begrüßung durch die Fachausschussleiter Q3.4 Richard Seitz und Frank Dordowsky führte Markus Hochstrasser von Institut für Flugsystemdynamik an der TU München in den Vortragsteil der Veranstaltung ein. Er zeigte die agile Softwareentwicklung anhand seines modellbasierten Ansatzes vermittels Modularisierung von Simulink-Modellen. Die Modellkomponenten werden mit separaten Sublevel-Prozessen weitgehend unabhängig entwickelt und anschließend zu einem Gesamtprodukt zusammengeführt.
Im Anschluss berichtete Manfred Reisner von der AVQ GmbH über das Vorhaben der Europäischen Weltraumorganisation (ESA), ihre normalen schwergewichtigen Entwicklungsprozesse mit der agilen Vorgehensweise zu verbinden. Die Erfahrungen, die die ESA mit einigen agilen Referenzprojekten machte und die Schwierigkeiten, die sich ergaben, flossen in deren Handbuch ECSS-E-HB-40-01A "Agile software development handbook" ein.
Michael Erskine von der MBDA Deutschland GmbH knüpfte in seiner Präsentation an seinen Vortrag auf dem DGLR-Workshop 2003 an, in dem er damals über das V-Modell berichtete und vorausschauend auf agile Vorgehensweisen blickte. Im heutigen Geschäftsprozessmodell der Firma MBDA ist diese Möglichkeit vorgesehen, wobei eine projektspezifische Anpassung der Vorgehensweise zu Projektbeginn erfolgt. Diese Anpassung der agilen Verfahren ist nach seiner Erfahrung notwendig, denn ein dogmatisches Festhalten an den agilen Prinzipien kann zum Projektfehlschlag führen.
John Marsden von Airbus berichtete in seinem Vortrag von der Erfahrung, die Airbus mit der agilen Vorgehensweise in vier Luftfahrtprojekten machte. Er beschrieb die in den Projekten verfolgte Vorgehensweise sowie deren Vorteile und Schwierigkeiten und schloss seinen Vortrag mit der quantitativen Bewertung der Projekte hinsichtlich Projektdauer und Produktivität.
Sebastian Benders vom Deutschen Zentrum für Luft- und Raumfahrt (DLR) schilderte in seinem Vortrag seine Erfahrung mit der agilen Vorgehensweise Scrum bei der Software-Entwicklung für den Demonstrator ALAADy (Automated Low Altitude Air Delivery). Die größten Schwierigkeiten ergaben sich durch das Fehlen eines erfahrenen Scrum-Masters, aus der teilweisen Nichtverfügbarkeit von parallel entwickelter Hardware, der Tatsache, dass Projektmitarbeiter mehreren Projekten zugeordnet waren, sowie die Abstimmung mit Projektpartnern, die nicht agil entwickelten.
Dr. Roland Kempter von der HENSOLDT Sensors GmbH berichtete von der Transformation der Entwicklung der Produktlinie OPTARION von einem Wasserfallprozess zu einen holistischen Ansatz, der mit MOPTI (Miteinander, Organisation, Prozess, Tooling, Information) bezeichnet wird. Die Geschäftsführung von HENSOLDT beauftragte die Transformation kurz vor dem Scheitern des Projektes. Als Ergebnis konnten innerhalb von 15 Monaten 11 Produktvarianten ausgeliefert werden. Der Erfolg führt dazu, dass das agile Vorgehensmodell in der ganzen Firma ausgerollt werden soll.
Adam Whitmill von Mathworks stellte in seinem Vortrag einige agile Ansätze vor, die von seinen Kunden, u. a. SAAB, verwendet werden. Aus seiner Sicht sind die Schlüsseltechnologien für die Umsetzung von agilen Vorgehensmodellen im sicherheitskritischen Umfeld die Code Generierung aus Modellen, die frühzeitige Validierung und Verifikation, sowie kontinuierliche Integration.
In seinem Erfahrungsbericht berichtete Stefan Wertheimer von der Konzept Informationssysteme GmbH über die Scrum-basierte Entwicklung des Produkts PERIGEE, ein Design-Tool für die Entwicklung von Raumfahrtsystemen. Dabei wurde die Flexibilität von Scrum mit den Qualitätsanforderungen des ESA-Standards ECSS-E-ST-40C kombiniert und das Ziel verfolgt, alle im Standard geforderten Ergebnisdokumente zur erstellen.
Anhand der Vorträge zeigte sich, dass die agile Vorgehensweise in der Luft- und Raumfahrt angekommen ist. Allerdings dürfen die agilen Prinzipien nicht dogmatisch angewendet werden. Es sind einige Einschränkungen zu beachten, die in den Erfahrungsberichten klar herausgearbeitet wurden. Wichtig für eine erfolgreiche Umsetzung ist, dass die schrittweise Verbesserung der Software möglichst unabhängige Features beinhaltet und der Automatisierungsgrad bei Dokumentenerzeugung, Test, sowie Code- und Modellprüfungen im Projekt sehr hoch ist.
Alle Vorträge wurden von umfangreichen Fragen und engagierten Diskussionen begleitet, die in den beiden Kaffeepausen und während des Mittagessens fortgesetzt wurden. Die Teilnehmer nutzten auch intensiv die Gelegenheit zu einem allgemeinen Informations- und Gedankenaustausch.
Termine
Vortragsanmeldung: 27. Juli 2018
Programm und Benachrichtigung der Vortragenden: 17. August 2018
Anmeldung: 5. Oktober 2018
Workshop: 10. Oktober 2018
Allgemeine Informationen
Termin: | 10. Oktober 2018 |
Ort: | TU München |
Anfahrt: | |
Teilnahmegebühr: | entfällt |
Übernachtung: | Zimmerreservierungen können über das Fremdenverkehrsamt München vorgenommen werden (Tel. 089-2330-300). |
Anmeldung: | Bis 5. Oktober 2017 |
Kurzfassung der Vorträge
Markus Hochstrasser, Stephan Myschik, Florian Holzapfel: A modular, model-based DO-178C software life cycle – planning, realization, and preservation
The interest in agile software development has steadily been increasing for the last years. However, stringent development processes like DO-178C are still rarely enriched with the spirit of agile development, even though DO-178C does not explicitly prescribe a software life cycle.
One reason is that incremental and concurrent development as well as shorter cycles, make it difficult to ensure that all DO-178C objectives are satisfied and to maintain a consistent set of artifacts. In addition, time-consuming manual reviews are still an important part of verification and are not easily manageable in continuous integration.
The contribution of the authors presents a two-step approach in order to ease the application of agile methods and overcome the above-mentioned challenges for a safety-critical, model-based software development process:
- Adoption and tailoring of a modular, model-based DO-178C/DO-331 process upporting independent, concurrent workflows.
- Realization and compliance preservation of the process using a process-oriented build tool
The first part affects the planning of a DO-178C/DO-331 process. The best-case scenario would be that software modules can separately and interpedently be developed and verified from requirements over code to object code. However, such a breakdown raises various challenges concerning modeling, code generation, traceability, and verification objectives. For example, only a subset of activities concerning reachability is assessable at module-level. To be comprehensive, they require a holistic view of the software application. Presented is the chosen tailored process breakdown and with discovered challenges as well as developed solutions.
Since a modular process is more complex, the management of artifacts and the verification of correctness, compliance, consistency, or “cleanliness” becomes more challenging. A specialized build tool developed at the Institute of Flight System Dynamics, in which the modular process can be represented with high process coverage, is demonstrated in the second part. In contrast to existing build and continuous integration tools, the tool tracks fine-grained dependency and traceability information (also at the model-level), and thereby enables impact analysis, detection of deprecated artifacts, or incremental build instead of “brute-force” continuous integration. Beyond automatic task execution, it also supports incremental review workflows. In the light of agile methods, it helps to manage and show compliance to the process in a concurrent, fast changing environment and counteracts corrosion of the process.
Manfred Reisner: Agile Entwicklung und Software Safety – Disziplinen, Prozesse und Abhängigkeiten
Seit den 2000er Jahren werden die agilen Methoden in der Softwareentwicklung eingesetzt. Der Erfolg und die hohe Ausbreitung der agilen Methoden sprechen für sich. Bei der Betrachtung der Entstehung der agilen Methoden fällt die zeitliche Nähe zum DotCom-Boom der Jahrtausendwende auf. Diese war in der IT insbesondere durch Webseitengestaltung und gemäß des Client-Server-Modells durch Grafische Benutzerschnittstellen (GUI) für Datenbank-orientierte Anwendungen geprägt. Der Autor stellt im Beitrag seine Sichtweise und seine Erfahrungen aus der Welt der Software-Safety im Wirkbereich der funktionalen Sicherheit nach IEC 61508 und abgeleiteten Normen in verschiedenen Branchen dar. Die Frage, ob agile Methoden entsprechende Organisationen weiterbringen können, wird in vielen Branchen diskutiert.
Der Beitrag untersucht verschiedene Anwendungsgebiete von Software, entsprechende Branchen und deren “Produkte”auf ihre Zusammenarbeit von verschiedenen Disziplinen und betrachtet insbesondere deren Abhängigkeiten.
Die verschiedenen Vorgehensmodelle (V-Modell und agile Methodik) werden anhand ihrer Prämissen und Zielsetzungen gegeneinander verglichen. Während das V-Modell in die Detailtiefe geht, um Abhängigkeiten und verschiedene Aspekte der Entwicklung (z.B. Performance, Reliability, Availability, Maintainability , Safety) zu beleuchten, zielt die agile Methodik hauptsächlich auf die schnelle Verfügbarkeit von (Teil-)Ergebnissen, ohne entsprechende Abhängigkeiten erschöpfend zu betrachten und ohne sich um verschiedene Aspekte des Designs kümmern zu müssen. Diese Vorgehensweise kulminiert im “Contininouos Delivery”, was für einige Branchen möglich ist, für andere sich deutlich schwieriger darstellt.
Die Frage, ob Software Safety mit agilen Methoden erreichbar ist, wird anhand der Abhängigkeiten beleuchtet. Zusätzlich wird versucht, die Wahrscheinlichkeit einer realen erfolgreichen Umsetzung des agilen Ansatzes im Feld der Software Safety anhand der Voraussetzungen zu ermitteln.
Die europäische Raumfahrtbehörde ESA/ESTEC, konkret die Software-Qualitätsabteilung ist darauf vorbereitet Agile Software in Projekten mit DAL D und DAL C zu genehmigen. Dazu hat die ESA Referenzprojekte durchgeführt und erarbeitet ein “Agile software development handbook” ECSS-E-HB-40-01A DIR1. In diesem Beitrag wird der Bezug zu Software Citicality und zu den Prozessen zur Vermeidung von systematischen Fehlern dargestellt.
Michael Erskine: Agile und schwergewichtige Prozesse – wie paßt das zusammen
Agile SW-Entwicklung und schwergewichtige Prozesse werden im allgemeinen als Gegensätze betrachtet. Die MBDA Deutschland GmbH arbeitet nach Prozessen, die ihren Ursprung im Handbuch Technik der MBB und im V-Modell '92 und '97 haben. Die Prozesse müssen diverse Normen und Standards erfüllen, wie ISO 9100, AQAP 2210, aber auch DIN EN 61508 und DO178C für sicherheitskritische Software. Das Business Management System (BMS) der Firma bietet einen stabilen Rahmen mit Freiheitsgraden. Diese Freiheitsgrade sind notwendig, um auf unterschiedliche Projektsituationen reagieren zu können.
Der Vortrag betrachtet, wie Agilität allgemein zu einem Entwicklungsprozeß beiträgt: mit Werten, Prinzipien, Rollen, Artefakten und Praktiken. Anschließend wird analysiert, inwieweit das BMS der MBDA-Deutschland GmbH Agilität zuläßt - und welche Bedeutung Agilität im Projektalltag hat.
John Marsden: ED-12C / DO-178C vs. Agile Manifesto
This paper shows how apparent contradictions between agile practices and avionics software certification objectives have been resolved in a number of Airbus projects. It is demonstrated that significant improvements in quality, schedule and cost have been achieved in the development of highly-complex, high-integrity, embedded real-time software. Moreover, several use cases prove that, when carefully deployed, agile techniques are not only compatible with ED-12C / DO-178C, but through greater visibility and openness actually simplify it.
Sebastian Benders: Agile Softwareentwicklung für einen Prototypen zur Technologiedemonstration des unbemannten Luftfrachttransports - Ein Erfahrungsbericht
Das Projekt Automated Low Altitude Air Delivery (ALAADy) des Deutschen Zentrums für Luft- und Raumfahrt (DLR) betrachtet den zivilen, unbemannten Frachttransport. In dem Projekt werden konzeptionell Realisierungen zum Transport von 1 t Nutzlast mit Hilfe unbemannter Luftfahrzeuge betrachtet. Besondere Gesichtspunkte sind Aspekte der technologischen Realisierung, mögliche wirtschaftliche Anwendung und die neuartige Formen der betriebsbezogene Zulassung. Für die Bewertung dieser Konzepte wird ein unbemannter Technologiedemonstrator für etwa 200 kg Nutzlast aufgebaut und betrieben. Dieser Vortrag befasst sich mit der Entwicklung der bordseitigen Software des Demonstrators mithilfe Methoden der agilen Softwareentwicklung. Die Softwareentwicklung wurde in Anlehnung an das Vorgehen nach Scrum organisiert. Neben Erläuterungen der Anpassung von Scrum an die besonderen Gegebenheiten des Projektes im wissenschaftlichen Umfeld und für die Technologiedemonstration, werden Auswertungen zum Projektverlauf und Erfahrungsberichte präsentiert.
Dr. Roland Kempter: OPTARION®: Agile Product Development - A single Version of the Truth
The agile OPTARION process and methodology combine high product quality, cost reduction, civil certification, objective as well as flexible and reliable project planning by means of employee, company and customer satisfaction. These achievements are possible by a highly integrated development and lifecycle tool chain focused on PTC Integrity 10 providing a single version of the (project’s) truth. Consequently, customer and company confidence in the OPTARION® Product Suite could be re-established.
Adam Whitmill: An Insight into varied industry applications of Agile and key enabling verification technologies
Agile software development is a growing trend in the aerospace industry. Efficient development of engineering software calls for early prototypes (user acceptance) and can impose critical hardware decisions late in the design process.
The transition from traditional to Agile development processes poses significant challenges for large multidisciplinary teams, while potentially offering significant improvements in quality and reduction in development time and cost. This presentation aims to give a high-level overview of how Agile is being tailored & implemented for High Integrity Systems software development, compliant to safety standards across different industry applications. We would like to draw attention to the key challenges associated with ensuring the guiding principles of Agile are envisaged and how automation of best practices and key verification activities, can contribute to successful implementation of an Agile framework. Early verification and validation combined with automatic code generation seamlessly supports all phases within agile workflows, such as SCRUM and help speed up implementing and measuring your “definition of done” criteria.
We will share our insights on how Model-Based Design, code generation and test are applicable to Continuous Build and Integration workflows to automate critical verification activities, a key enabler for Agile within large scale integration projects.
Stefan Wertheimer: Surf ‘n’ Turf – Scrum und ECSS-E-ST-40C
Bei der Entwicklung des Produkts PERIGEE entschied sich die Konzept Informationssysteme GmbH für die agile Methodik „Scrum“. Da es sich bei PERIGEE um ein Design-Tool im Rahmen der Entwicklung von Raumfahrtsystemen nach ESA-Vorgaben handelt, gab es die Prämisse, die Richtlinien der „European Cooperation for Space Standardization“ (ECSS) bezüglich Softwareentwicklung (Standard „ECSS-E-ST-40C“) einzuhalten. Es galt also die Herausforderung zu meistern, die vorgeschriebenen Entwicklungspläne entsprechend so zu gestalten, dass sie einerseits den Qualitätsanforderungen der ECSS und andererseits dem „Änderungswillen“ von Scrum entsprachen. Ebenso mussten alle Ergebnisdokumente, die klassischer Weise in einem Wasserfallprozess der Reihe nach angefertigt werden, in der entsprechenden Qualität im iterativen und inkrementellen Zyklus der Scrum-Sprints erzeugt werden.
Der Vortrag stellt dar, wie das PERIGEE-Scrum-Team beide Welten erfolgreich kombiniert hat, und zeigt die Erfahrungen und Lessons Learned auf.