Qualitätssicherung bei der Entwicklung von Forschungssoftware

Leitlinie 7(interner Link) verpflichtet Wissenschaftler*innen in einem umfassenden und phasenübergreifenden Sinn zur Qualitätssicherung im Forschungsprozess. Hierbei spielen die Entwicklung, Programmierung und Anwendung von Forschungssoftware eine wichtige Rolle. Forschungssoftware ist nach dem Verständnis der DFG diejenige Software, die während des Forschungsprozesses oder für einen Forschungszweck erstellt wurde. Sie umfasst z. B. Quellcode, Skripte und ausführbare Dateien. Sie dient unter anderem zur Erhebung, Analyse, Simulation, Verarbeitung, Darstellung oder Nutzung von Beobachtungs- und Messdaten bzw. digitalisierten Text-, Bild-, Film-, Tonquellen, Objekten usw. sowie zur Erzeugung von wissenschaftlichen Modellen, der Steuerung von wissenschaftlichen Geräten oder zur Verfahrensoptimierung.

So spezifisch wie die Forschungsfragen selbst fallen auch die individuellen Softwarelösungen aus, die deren Bearbeitung erst ermöglichen. Oft kommen daher eigens für das konkrete Projekt entwickelte Lösungen zum Einsatz. Die DFG stellt fünf leitende Prinzipien für die Entwicklung von Forschungssoftware auf, um die Forschungssoftwareentwicklung qualitativ zu sichern:

  1. Softwareentwicklung und Standards: Die Entwicklung soll Best-Practice-Standards folgen und vorab alle Entwicklungsschritte (Autorschaft, Versionierung, Lizenzierung etc.) festlegen.
  2. Softwarequalität: Neben allgemeinen Software-Engineering-Standards sollen fachspezifische Qualitätskriterien definiert werden, orientiert an FAIR-Prinzipien für Forschungssoftware (FAIR4RS-Prinzipien) und etablierten Qualitätsrahmenwerken.
  3. Zugänglichkeit und Dokumentation: Quellcode, Workflows und Funktionsweise müssen nachvollziehbar dokumentiert und verfügbar sein, um Verifizierbarkeit und Reproduzierbarkeit sicherzustellen.
  4. Zitierbarkeit und Nachnutzbarkeit: Die Entwicklung von Forschungssoftware soll die Nachnutzbarkeit in anderen Forschungsvorhaben ermöglichen. Bei Neuentwicklungen soll auf größtmögliche maschinelle Auffindbarkeit und offene Lizenzierung geachtet werden.
  5. Softwarenachhaltigkeit: Nachhaltigkeit soll durch Planungen zu Wartung, Pflege, funktioneller Weiterentwicklung sowie durch Nutzung von Infrastrukturen/Repositorien und den Aufbau aktiver Communities sichergestellt werden.

Zu einer sinnvollen Qualitätssicherung der Forschungssoftwareentwicklung gehören demnach in der Regel Softwaredokumentation, Versionsmanagement, persistente Identifikatoren, Metadaten, eine Lizenz und, je nach Typ der Forschungssoftware, weiteres.


 

Zum Thema siehe auch

Umgang mit Forschungssoftware im Förderhandeln der DFG(externer Link)

Barker, Chue Hong, Katz et al. (2022): Introducing the FAIR Principles for research software(externer Link)

Anzt H, Bach F, Druskat S et al. An environment for sustainable research software in Germany and beyond: current state, open challenges, and call for action. F1000Research 2021, 9:295(externer Link)