# Research Software Engineering

Research Software Engineering (kurz: RSE) ist die Verwendung von Software Engineering-Praktiken für Forschungssoftware, d. h. Software, die für wissenschaftliche Forschungsprojekte erstellt wurde und hauptsächlich in diesen verwendet wird.
Viele wissenschaftliche Disziplinen (auch außerhalb der Informatik) entwickeln zunehmend Forschungssoftware, die historisch als sekundäres Beiwerk betrachtet wurde. In den 2010er Jahren begann die strukturierte Auseinandersetzung mit der Forschungssoftwareentwicklung und dem Streben das Research Software Engineerings als eigene Fachdisziplin zu etablieren. Der Begriff Research Software Engineering findet erstmals Erwähnung im Jahr 2010 in einem wissenschaftlichen Artikel zur Nutzung von Softwareanwendungen im Kontext wissenschaftlicher Forschung. Als Geburtsstunde der RSE Bewegung wird die Digital Research-Konferenz in Oxford im Jahre 2012 angenommen.

## 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: Januar 2021), auch Chapters genannt:
* Aachen
* Berlin/Brandenburg
* München
* Münster
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)