Bachelor's/Master's Thesis: Implementing Recommendations for Research Software Development

Research Software Engineering (RSE) plays a crucial role in modern scientific research, particularly in highly technical domains. However, research software is often developed under conditions that differ substantially from industrial software development. It may emerge spontaneously, be maintained by individual researchers, and evolve in parallel with changing research goals. This can lead to challenges regarding coordination, sustainability, maintainability, documentation, testing, knowledge transfer, and development workflows.

As part of previous work, a qualitative interview study has been conducted in a Quantum Computing research group. Based on the interview data and a subsequent root cause analysis, a set of actionable recommendations has already been derived. These recommendations range from organizational improvements, such as coordination routines or responsibility structures, to more technical improvements, such as tooling, documentation practices, testing strategies, or development workflows.

The goal of this thesis is to bring a realistic subset of these recommendations into practice within the research group. A first step will be to prioritize the existing recommendations, assess their feasibility and expected impact, and select a suitable subset for implementation. The thesis is therefore situated at the interface between organizational change and technical software engineering practice.

This thesis is related to the thesis topics Theory for the Development of Research Software, Understanding Research Software Development Practices, and Documentation and Architecture Support for Research Software. While the first two theses focus more strongly on theory building and empirical analysis, this thesis and the documentation/architecture thesis both focus on practical implementation and evaluation. 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. Based on this analysis, an initial set of recommendations for improving research software development has already been derived.

These recommendations address both organizational and technical aspects of research software development, for example:

  • coordination and communication practices,
  • clarification of roles and responsibilities,
  • documentation and knowledge transfer,
  • development workflows,
  • testing and quality assurance,
  • tooling and infrastructure,
  • sustainability and maintainability of research software.

This previous work provides a strong starting point for a practice-oriented thesis.


Topic and Approach

The thesis aims to implement selected recommendations for improving research software development in a real research group. The recommendations have already been derived from a root cause analysis, but they still need to be prioritized, adapted to the concrete context and evaluated.

A central challenge of the thesis is to navigate the tension between organizational and technical recommendations. Some improvements may require changes in collaboration, communication, or responsibilities, while others may involve concrete technical artifacts, tools, templates, workflows, or documentation structures. The selected subset of recommendations should be realistic within the scope of a Bachelor’s or Master’s thesis and should provide tangible value to the research group.

The thesis will comprise the following main tasks:

  1. Familiarization with the research context and previous work
    Review the interview study, root cause analysis, and existing recommendations.

  2. Understanding the recommendation space
    Analyze the existing recommendations and classify them according to relevant dimensions, such as organizational vs. technical focus, expected impact, implementation effort, risks, dependencies, and required stakeholder involvement.

  3. Prioritization of recommendations
    Prioritize the recommendations together with the thesis supervisor and relevant stakeholders from the research group Suitable criteria may include feasibility, expected benefit, urgency, acceptance, sustainability, and fit to the thesis scope.

  4. Selection of a realistic subset
    Select a realistic and coherent subset of recommendations to be implemented during the thesis The selected subset should balance ambition with feasibility and should be clearly justified.

  5. Planning the implementation
    Develop a minimal implementation plan, including concrete activities, responsibilities, timeline, required coordination, and expected outcomes.

  6. Implementation in the research group
    Realize the selected recommendations in practice Depending on the selected subset, this may include introducing new workflows, improving documentation structures, setting up or adapting tools, developing templates, defining responsibilities, facilitating coordination formats, or supporting the adoption of software engineering practices.

  7. Stakeholder coordination and change support
    Communicate with researchers and relevant stakeholders, gather feedback, address concerns, and support the adoption of the implemented measures.

  8. Evaluation of implementation success
    Evaluate to what extent the selected recommendations were successfully implemented This may include observations, artifact analysis, usage data, or structured feedback sessions.

  9. Reflection and derivation of lessons learned
    Reflect on the implementation process, barriers, enabling factors, and the transferability of the results to other research software contexts.

  10. Documentation and presentation of results
    Document the prioritization process, selected recommendations, implementation activities, evaluation results, and lessons learned in the thesis and present the results.

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


Our Offer

  • A set of already derived recommendations based on a root cause analysis
  • A well-prepared empirical basis, including anonymized interview material and analysis results
  • A highly practice-oriented thesis topic with direct access to a real research software development context
  • A very open and flexible topic that can be shaped according to your interests and strengths
  • The opportunity to have a direct and positive impact on the development of research software
  • Clear supervision and methodological guidance
  • 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

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 Research Software Engineering and improving software development practices in academic research
  • You enjoy practice-oriented work and want to create visible impact
  • You are able to work very independently and structure an open-ended topic
  • You are communicative and comfortable interacting with researchers and stakeholders
  • You are confident in coordinating with others and driving implementation activities forward
  • You are assertive enough to support change processes while remaining constructive and respectful
  • You are interested in both organizational and technical aspects of software development
  • 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.