Bachelor's/Master's Thesis: Theory for the Development of Research Software

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. Established coordination mechanisms and process models, such as Scrum, are only applicable in some cases, as they typically assume structured team-based development with multiple dedicated developers.

In contrast, 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. Despite the growing importance of research software, there is still a research gap regarding suitable coordination mechanisms and theoretical foundations that explain how research software is developed in practice and how its development can be improved.

The goal of this thesis is to derive a theory that explains characteristic development practices in research software engineering and consolidates actionable recommendations for improving the development of research software in academic environments.

This thesis is related to the thesis topics Understanding Research Software Development Practices and Implementing Recommendations for Research Software Development. While this thesis focuses on deriving a theory that explains characteristic development practices in research software engineering, the other theses address the derivation of research questions from the empirical material and the practical implementation of selected recommendations. Selective collaboration between the theses is likely and will be 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.

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 develop a theory for the development of research software that accounts for the specific characteristics of academic research environments. In particular, the theory should explain how research software is created, coordinated, and maintained under conditions such as spontaneous development, individual ownership, limited resources, changing research goals, and varying levels of software engineering expertise.

The analysis seeks to deepen the understanding of software development practices in academic research environments and to derive recommendations for improving efficiency, coordination, and sustainability in research software engineering.

The thesis will comprise the following main tasks:

  1. Familiarization with the interview study, research context, existing categorizations, root cause analysis, and literature reviews
  2. Analysis of the context and characteristics of research software development
  3. Conducting or extending a literature review on relevant theories, coordination mechanisms, and software development approaches
  4. Analysis of the strengths and weaknesses of existing methods, theories, and process models with respect to research software development
  5. Derivation of a theory that explains characteristic practices, challenges, and coordination needs in research software development with a focus on medium-sized development projects
  6. Documentation and presentation of the resulting theory

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 interview transcripts, a category system, and a root cause analysis
  • 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
  • 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, interviews, theories, 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 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.