Research Software Lifecycle

Implementation challenges arrow_forward Software


Software developed in the process of doing research is receiving increased attention. It is now more  and  more  often  considered  a  genuine  research  output  next  to  scientific  articles  and research  data publications.  Based on representative user stories, the Task Force identifies and characterizes the different phases and stages  that  the  research  software  development  process  can  go through  thereby  defining  the  “Research  Software Lifecycle”.  Different approaches to software development such as product-, project- or platform-orientation are also outlined. The Task force closes with recommendations   on   EOSC   infrastructure   components   needed   to   support   the   identified processes and platforms. 


The document constitutes Deliverable 1 of the SubGroup 1 “On the Software Lifecycle” of the EOSC Task Force “Infrastructure for quality research software”. In order to reach the goals of the Task Force, it is mandatory to achieve a common understanding on the current processes in research software engineering, particularly the research software lifecycle.

The aim of the document Research Software Lifecycle is to illustrate this lifecycle and how its instantiations for particular software projects are influenced by varying developer groups and their intentions. The Task Force focused on the software developed and maintained in research which can be embedded into open research infrastructures such as EOSC. They pointed out possible connections to the existing and planned EOSC infrastructure to support the research software lifecycle. In general, research software should be as open as possible and reflect the FAIR principles in its design, especially the Interoperability and Reusability.

Main highlights

Key recommendations

An Infrastructure for Research Software in EOSC should support all user stories and the  research software lifecycle as illustrated above in consistency with the EOSC rules of participation. To allow broad support for the software and services, infrastructure components for aggregation, communication, development and archival are required. There are two categories of actions as outcome of the software lifecycle needs: one is in the area of governance, outreach and support, the other is for technical implementations. Research software should be considered as a first class citizen of open science and the resulting requirements must be considered in the implementation of an EOSC infrastructure for research software.

Co-chair contact

Type of result