Research Software Engineering (kurz oft RSE) ist die Anwendung von modernen (oder klassischen) Softwaretechnik (Software Engineering) Methoden, Techniken und best Practices für die Entwicklung von Forschungssoftware (Research Software). Dies beinhaltet gemäß der üblichen Softwaretechnik Ansätze damit auch eine profunde Kenntnis über die jeweilige Forschungsdomäne und ist damit keine reine Teilmenge der Softwaretechnik. RSE beinhaltet neben Elementen der Informatik, der Mathematik und der Psychologie auch Elemente der Fachwissenschaft als Anwendungsdomäne und der Offenen Wissenschaft (Open Science) und ist damit ähnlich zu sehen, wie Automotive Software Engineering, Avionik Software Engineering oder Game Software Engineering, die sich ebenfalls jeweils auf eine bestimmt Domäne spezialisieren, während Softwaretechnik im Allgemeinen die Grundlagen für alle Arten von Software beinhaltet, wie etwa Qualitätssicherung, Softwarearchitektur, Design Pattern, Best Practices, Varianten- und Versionsmanagement, Qualitätssicherung, Requirements Management, User Experienece, und vieles mehr.

Viele wissenschaftliche Disziplinen entwickeln zunehmend Forschungssoftware, die historisch als sekundäres Beiwerk betrachtet wurde aber aufgrund stark zunehmender Komplexität und wissenschaftlicher Relevanz immer mehr in den Fokus rückt. In den 2010er Jahren begann die strukturierte Auseinandersetzung mit der Forschungssoftwareentwicklung und dem Streben das Research Software Engineerings als eigene Fachdisziplin zu etablieren. Zur effizienten Erstellung und nachhaltigen Pflege qualitativ hochwertiger Forschungssoftware bedarf es speziell für diese Domäne zugeschnittene methodische und werkzeugunterstützte Lösungen, die zum Teil direkt in den Forschungsprojekten zu entwickeln sind. Damit ist das RSE in den 2020er Jahren in einer ähnlichen Situation, wie Automotive Software Engineering in den 1990ern.

Der Begriff Research Software Engineering findet erstmals Erwähnung im Jahr 2010 in einem wissenschaftlichen Artikel zur Nutzung von Softwareanwendungen im Kontext wissenschaftlicher Forschung.C.R. Prause, R. Reiners, S. Dencheva. Empirical Study of Tool Support in Highly Distributed Research Projects. 5th International Conference on Global Software Engineer (ICGSE), Princeton, NJ, USA, pp. 23–32. DOI:10.1109/ICGSE.2010.13 Software Engineering selbst wurde 1968 in Garmisch-Partenkirchen durch Friedrich L. Bauer das erste Mal in einer gleichnamigen Konferenz diskutiert, nachdem es in den 1960er Jahren als Begriff zur systematischen Entwicklung von Forschungsoftware zunächst in der NASA etabliert wurde, aber in späteren Jahren vor allem die deutlich schnell komplexer werdende industrielle und kommerziele Software in den Fokus nahm. Als Geburtsstunde der RSE Bewegung wird die Digital Research-Konferenz in Oxford im Jahre 2012 angenommen.

Die Research Software Engineering betreibenden Menschen bezeichnen sich selbst als Research Software Engineers (RSEs). Es handelt sich hierbei um Personen, die Forschungssoftware oder die mit der rechner-unterstützten Umgebung einer Forschungsdomäne interagierenden Software schaffen oder verbessern. Es handelt sich um hoch qualifizierte Team-Mitglieder, die als Teil ihrer Aufgaben auch eigene Forschung durchführen können.

Es gibt aber auch viele RSEs die ihren Fokus auf die technischen Aspekte der Software-Entwicklung gelegt haben und damit eine Karriere außerhalb der traditionellen Forschungspfade anstreben.

Ziele & Methoden Das Hauptziel des Research Software Engineering ist die Erstellung von präziser, wiederverwendbarer und offener Forschungssoftware. Diese soll vor allem die Reproduzierbarkeit der Forschungsergebnisse garantieren. Forschungssoftware ist in ihrer Komplexität stark gestiegen, benötigt deshalb hohe personelle Ressourcen, erfordert Langlebigkeit von Forschungssoftware über mehrere Entwicklergenerationen und hat wegen Nachvollziehbarkeit und der notwendigen Korrektheit der Ergebnisse hohe Qualitätsanforderungen. Research Software Engineering bedient sich daher in zunehmendem Maße gängigen Methoden aus der Softwaretechnik, welche in den bisherigen wissenschaftlichen Kontext zu integrieren und daher anzupassen sind. Hierzu gehören unter anderem:

Versionsverwaltung Software Tests Dokumentation Clean Code Entwurfsmuster Wissenschaftliche Anforderungserhebung Dokumentation nach wissenschaftlichen Standards Design für die nachhaltige Weiterentwicklung Variantenmanagement Agile Entwicklungsmethodik

Nationale Organisationen Seit den 2010er Jahren wurden in vielen Ländern eigene Fachgesellschaften gegründet, welche sich der Verbreitung und Förderung des Research Software Engineerings zum Ziel gesetzt haben. Neben der Professionalisierung der Softwareentwicklung in der Forschung liegt ein wichtiges Augenmerk auf der Etablierung der wissenschaftlichen Softwareentwicklung als wesentlicher Bestandteil von Kernkompetenzen, insbesondere bei jungen Wissenschaftlerinnen und Wissenschaftlern.

Deutschland In Deutschland existiert der als gemeinnützig anerkannte de-RSE e.V. als erste Interessensvertretung der Research Software Engineering Gemeinschaft seit November 2018. Sitz des Vereins ist Berlin. Unter dem Dach des Hauptvereins existieren folgende lokale Gruppen (Stand: April 2025), auch Chapters genannt:

Aachen Berlin/Brandenburg Braunschweig Hannover/Niedersachsen Jena München Münster Stuttgart Würzburg Seit 2019 veranstaltet der de-RSE e.V. unter dem Namen deRSE eine jährlich stattfindende Fachkonferenz zum Thema Research Software Engineering.

2020 hat der de-RSE e.V. basierend auf einer Community-Initiative ein Positionspapier zum Thema Research Software Engineering in Deutschland veröffentlicht.

2023 hat die Gesellschaft für Informatik (GI) eine Fachgruppe „Research Software Engineering“ unter dem Dach des Fachbereichs „Software Engineering“ mit mehreren aktiven Arbeitskreisen eingerichtet und RSE auch als eigenständiges Forschungsgebiet des Software Engineering identifiziert.

Vereinigtes Königreich (UK) Die UK Research Software Engineers Association wurde 2013 gegründet und ging im Jahr 2019 in die Society of Research Software Engineering über. Sie ist die weltweit erste Vereinigung, welche sich mit dem Thema nachhaltiger wissenschaftlicher Software auseinandersetzt. Ihre Gründung geht zurück auf einen Workshop während einer Konferenz am Queen’s College (Oxford) im Jahr 2012. Aktuell (Stand: Januar 2021) umfasst die Organisation 28 lokale Gruppen, welche hauptsächlich an Universitäten bzw. Hochschulen angesiedelt sind.

Niederlande Die Vereinigung NL-RSE ist eine niederländische Research Software Engineering Initiative und wurde im April 2017 gegründet. Sie umfasst (Stand: Januar 2021) mehr als 200 Mitglieder in mehr als 30 Organisationen verteilt über die gesamten Niederlande.

Vereinigte Staaten von Amerika (USA) Die US Research Software Engineering Association ist eine RSE Initiative in den USA, welche nach dem Vorbild der Initiativen in UK, Deutschland und den Niederlanden gegründet wurde. Sie umfasst (Stand: Januar 2021) 15 lokale Gruppen, welche unter anderem an den Eliteuniversitäten MIT, Harvard, Princeton und Stanford angesiedelt sind.

Weitere nationale Initiativen Neben den bereits etablierten Initiativen in UK, Deutschland, Niederlande und den USA existieren weltweit noch weitere kleinere, sich im Aufbau befindende RSE Organisationen. Hierzu zählen unter anderem:

Nordic RSE (Skandinavien) Be-RSE (Belgien) RSE-AUNZ (Australien / Neuseeland) RSE Swiss (Schweiz)

Weblinks

de-RSE - Gesellschaft für Forschungssoftware Vortrag: Keynote-lecture von Mike Croucher bei der JuliaCon2018 SORSE — A Series of Online Research Software Events — listing of online events tailored for the COVID‑19 era Research Software Engineers: State of the Nation Report 2017, doi:10.5281/zenodo.495360 Research Software Alliance (ReSA)

Einzelnachweise

Kategorie:Softwaretechnik