Bachelor's/Master's Thesis: Understanding Research Software Development Practices

Research Software Engineering (RSE) plays a crucial role in modern scientific research, particularly in highly technical domains. However, the development of research software often differs substantially from software development in industrial contexts. Research software frequently emerges spontaneously, is often created by individual researchers, and evolves alongside scientific exploration. These characteristics create specific challenges for coordination, sustainability, knowledge transfer, and long-term maintainability.

A qualitative interview study has already been conducted in a Quantum Computing research group to better understand current software development practices, challenges, incentives, and sustainability aspects of research software. The resulting data has been thematically coded, complemented by a root cause analysis, and supported by several literature reviews.

The goal of this thesis is to use this existing empirical and theoretical groundwork to derive and answer research questions about research software development. A central first step of the thesis will be to systematically derive suitable research questions based on the thematic coding, the root cause analysis, and the existing literature. These research questions will then guide the subsequent analysis and synthesis of findings.

This thesis is related to the thesis topic Theory for the Development of Research Software, which focuses on deriving a theory that explains characteristic development practices in research software engineering. It is also related to a further thesis on translating recommendations into practical improvements: Implementing Recommendations for Research Software Development. The theses will be conducted independently, but there will be targeted collaboration at selected points, coordinated by the thesis supervisor.


Previous Work

To better understand current software development practices, challenges, and improvement potentials, a qualitative interview study has been conducted at a Quantum Computing research group. The interviews focused on software development practices, project experiences, challenges, incentives, and sustainability aspects of research software.

All interviews have been fully transcribed, anonymized, and categorized using thematic coding. In addition, a root cause analysis of the challenges faced by the research group has been conducted, and initial recommendations for improvement have been derived.

Furthermore, several literature reviews have been carried out on related topics, including:

  • Relational Coordination Theory
  • Alternatives to Methodical Software Development
  • Evaluating Agile Process Application
  • Decision Support for Project Management with a Special Focus on Software Engineering Methodologies
  • Limitations of Contemporary Procedure Models: A Literature Review of Agile Drawbacks, Implementation Challenges, and Emerging Alternatives

This previous work provides a strong empirical and theoretical foundation for the thesis.


Topic and Approach

The thesis aims to investigate research software development by formulating and answering research questions based on four complementary sources:

1 the thematic coding of interview data, 2 the root cause analysis of observed challenges, 3 relevant literature on software engineering methods, coordination mechanisms, and research software engineering, and 4 a second interview study to generalize findings.

A first and essential part of the thesis is to derive suitable research questions from these sources. These research questions should capture relevant aspects of research software development, such as coordination, sustainability, individual and collaborative development practices, process applicability, knowledge transfer, or barriers to improvement.

After defining the research questions, the thesis will answer them through a structured analysis of the existing data and literature. The goal is to produce a well-grounded empirical and conceptual understanding of research software development practices and challenges in the studied context.

The thesis will comprise the following main tasks:

  1. Familiarization with the research context and existing material
    Review the interview study, thematic coding, anonymized transcripts, root cause analysis, existing recommendations, and available literature reviews.

  2. Understanding the empirical basis
    Analyze the thematic coding and root cause analysis to identify recurring challenges, patterns, mechanisms, and open issues in the development of research software.

  3. Reviewing and structuring the literature
    Examine the existing literature reviews and, if necessary, extend them with additional literature relevant to the emerging focus of the thesis.

  4. Deriving research questions
    Systematically derive a set of research questions based on the thematic coding, root cause analysis, and literature This step is a core contribution of the thesis.

  5. Refining and justifying the research questions
    Discuss, prioritize, and refine the research questions together with the thesis supervisor The final questions should be clearly motivated by both the empirical material and the literature.

  6. Answering the research questions
    Analyze the existing empirical material and literature to answer the derived research questions in a structured and traceable way.

  7. Synthesizing findings
    Consolidate the answers into higher-level insights about research software development, including challenges, coordination needs, sustainability concerns, and possible improvement directions.

  8. Documenting and presenting the results
    Write the thesis and present the derived research questions, analysis process, findings, and implications for Research Software Engineering.

Depending on the scope, the topic can be adapted for either a Bachelor’s or Master’s thesis.


Our Offer

  • A well-prepared dataset including anonymized interview transcripts, thematic coding, and a category system
  • An existing root cause analysis of challenges in research software development
  • Existing literature reviews that provide a strong starting point for the theoretical foundation
  • A focused thesis topic, as much of the empirical groundwork has already been laid
  • Clear methodological guidance and close supervision
  • Weekly meetings, either in person or remotely
  • Coordinated exchange with related thesis projects at selected points
  • Insight into real-world research software development in a cutting-edge scientific domain
  • The opportunity to contribute to a relevant and emerging topic in Research Software Engineering

Your Profile

  • You are pursuing a Bachelor’s or Master’s degree in Computer Science, Software Systems Engineering, or a related field
  • You are interested in qualitative research methods and empirical software engineering
  • You enjoy working systematically with textual data, interview data, research questions, and scientific literature
  • You prefer working with papers, concepts, and empirical material over primarily programming-focused work
  • You are able to work independently and structure complex information
  • You are interested in understanding how software is developed in academic research contexts
  • You are available for onboarding sessions at the beginning of the thesis

Contact

For more information, please send a short description of your background and an overview of your grades to Marc Schmidt at schmidt@se-rwth.de.