Die Gruppe Nachhaltiges Software Engineering (NSE) des Instituts für Softwaretechnologie hat internes Schulungsmaterial für Wissenschaftlerinnen und Wissenschaftler auf der Entwickler-Plattform Gitlab.com zur Verfügung gestellt.
Die Arbeitsgruppe möchte mit den öffentlich einsehbaren Schulungsunterlagen die WissenschaftlerInnen innerhalb und außerhalb der Helmholtz-Gemeinschaft bei der Entwicklung von Software unterstützen und ein Statement für die Wichtigkeit nachhaltig entwickelter Software in der Forschung setzen.
Nachhaltigkeit im Software-Kontext
Nachhaltigkeit – längst nicht mehr nur ein Begriff im Kontext von Klimawandel und Ressourceneinsparung. Auch Software kann nachhaltig gestaltet werden und nimmt eine immer größer werdende Rolle bei der Entwicklung von Forschungsprojekten ein.
Die Gruppe Nachhaltiges Software Engineering beschäftigt sich seit Jahren mit der Entwicklung nachhaltiger Forschungssoftware und trägt dieses Know how an WissenschaftlerInnen weiter. Die drei Schulungen und das veröffentlichte Material vermittelt Forschenden Software so zu schreiben, dass mit wenig Aufwand der Code auch für Nachstehende verständlich, ausführbar und veränderbar ist – eben nachhaltig. Die jederzeit einsehbaren Schulungsunterlagen stellen ein ebenso nachhaltig vermitteltes Wissen bereit.
Jede Entwicklerstufe profitiert
Das Schulungsmaterial wird jährlich für Schulungen genutzt, die sich, je nach Wissensstand, in drei Stufen einteilen lassen. Den Einstieg in das verteilte Versionsverwaltungssystem „Git“ und in die dazugehörige Webanwendung „GitLab“ empfiehlt Carina Haupt, Schulungsleiterin aus dem Institut für Softwaretechnologie am Deutschen Zentrum für Luft- und Raumfahrt (DLR), als Voraussetzung für alle WissenschaftlerInnen, die Code schreiben.
kennenzulernen. Diese Funktionen bilden die Basis für eine nachhaltige Softwareentwicklung.
Aufbauend darauf ist die Schulung „Bring your own script and make it ready for publication“ für Veröffentlichungen oder Dissertationen hilfreich, bei denen die Software eine Demonstrationsrolle einnimmt, ohne dass zu diesem Zeitpunkt eine längerfristige Weiterentwicklung vorgesehen ist.
Anders ist es bei Softwareentwicklung der dritten Stufe. Hier wird eine langfristige Weiterentwicklung und Wartbarkeit von Softwareprojekten sichergestellt. Prototypen können bis in den Produktstatus weiterentwickelt werden. Voraussetzung dafür ist eine ausführliche Dokumentation von Randbedingungen, Entwicklungshistorien und qualitativen Anforderungen in einer angemessenen Software-Architektur.
Die Schulung unter dem Namen „Entwicklung im Team“ richtet sich an Forschende, die sich einen besonderen Schwerpunkt in der Softwareentwicklung gesetzt haben. Beispielsweise betrifft das Software, die im Kontext von Fluggeräten oder autonomen Fahrzeugen benötigt wird, sowie Software, die einen wesentlichen Beitrag zur Generierung von Drittmitteln und Forschungsergebnissen leistet. Hier ist es essenziell, Fehler zu vermeiden und Risiken kritischer Software und solche mit Produktcharakter, zu mindern. Risiken gilt es von Anfang an zu identifizieren und in der Software-Architektur zu adressieren.
Ein Mehrwert für Teilnehmer und Schulungsgeber
Die Schulungen werden teilweise am eigenen mitgebrachten Code durchgeführt. Es wird gezeigt, wie Code Schritt für Schritt nachhaltig gemacht wird, „was weniger aufwändig ist als man vielleicht denkt“, erklärt Carina. So lernen die TeilnehmerInnen das Gelernte sofort in die Praxis umzusetzen.
Die nun öffentlich zur Verfügung stehenden Unterlagen können für die TeilnehmerInnen den Einstieg in die Schulung erleichtern. Auch im Nachhinein bieten die veröffentlichten Schulungsunterlagen einen Mehrwert. Die permanente Präsenz fördert ein langfristiges Verständnis des Gelernten und enthält zusätzliche Kommentare mit weiterreichende Informationen und hilfreichen Links.
Theoretisch kann die Schulung mit dem veröffentlichten Material von jedem gehalten und als Basis für eigene Schulungen genutzt und angepasst werden. Alle Schulungsunterlagen sind auf Deutsch und Englisch vorhanden und können somit auch international eingesetzt werden. „Das Wissensnetzwerk über nachhaltige Software soll damit weiter ausgebaut werden“, so Carina.
Ein gemeinschaftliches Projekt im Sinnbild der Helmholtz-Gemeinschaft
Die Schulungen werden DLR intern sowie im Rahmen des HIFIS-Projektes (Helmholtz Federated IT Services) angeboten. Das über fünf Jahre laufende Projekt hat sich zum Ziel gesetzt, eine leistungsstarke IT-Infrastruktur zu schaffen und somit eine exzellente Forschung in allen Helmholtz-Forschungsbereichen zu ermöglichen.
Als HIFIS-Partner liegt die besondere Kompetenz der Arbeitsgruppe Nachhaltiges Software Engineering im Bereich Communitybuilding und Servicetätigkeiten. NSE führt seit Jahren unter anderem DLR interne Wissensaustauschworkshops durch und unterstützt Forscher im Rahmen von Consulting-Tätigkeiten mit praktischem Software-Engineering-Wissen. Mit den Schulungen und dem zur Verfügung gestellten Material leistet die Gruppe einen erweiterten Beitrag im Bereich Software Services. „Wir wollen im HIFIS-Projekt nicht nur selbst Angebote gestalten, sondern vor allem existierende weiter aufbauen und pushen“, betont Carina.
Die Schulungen und das veröffentlichte Material sollen das Leistungsangebot auf Helmholtzebene anheben und den Wissensaustausch auch international vorantreiben.