RSMM: A Framework to Assess Maturity of Research Software Project

Deekshitha,Rena Bakhshi,Jason Maassen,Carlos Martinez Ortiz,Rob van Nieuwpoort,Slinger Jansen
2024-06-04
Abstract:The organizations and researchers producing research software face a common problem of making their software sustainable beyond funding provided by a single research project. This is addressed by research software engineers through building communities around their software, providing appropriate licensing, creating reliable and reproducible research software, making it sustainable and impactful, promoting, and ensuring that the research software is easy to adopt in research workflows, etc. As a result, numerous practices and guidelines exist to enhance research software quality, reusability, and sustainability. However, there is a lack of a unified framework to systematically integrate these practices and help organizations and research software developers refine their development and management processes. Our paper aims at bridging this gap by introducing a novel framework: RSMM. It is designed through systematic literature review and insights from interviews with research software project experts. In short, RSMM offers a structured pathway for evaluating and refining research software project management by categorizing 79 best practices into 17 capabilities across 4 focus areas. From assessing code quality and security to measuring impact, sustainability, and reproducibility, the model provides a complete evaluation of a research software project maturity. With RSMM, individuals as well as organizations involved in research software development gain a systematic approach to tackling various research software engineering challenges. By utilizing RSMM as a comprehensive checklist, organizations can systematically evaluate and refine their project management practices and organizational structure.
Software Engineering
What problem does this paper attempt to address?
The main problem that this paper attempts to solve is: **How to make research software sustainable after the end of its individual research project funding**. Specifically, researchers and organizations face the following challenges when developing research software: 1. **Sustainability**: Research software requires long - term maintenance and support to ensure that it remains available and effective in the future. 2. **Quality and Reproducibility**: Research software needs to be of high quality and be able to support the reproducibility of scientific research. 3. **Community Building**: Build a community around research software to promote its use and development. 4. **Usability and Adoption**: Ensure that research software is easily adopted by other researchers and integrated into their work processes. To solve these problems, the author proposes a new framework named RSMM (Research Software focus area Maturity Model). This framework aims to help organizations and researchers improve the management and development processes of their research software projects by systematically integrating existing best practices and guidelines. ### Specific Goals of the RSMM Framework 1. **Evaluate Maturity**: RSMM provides a structured method to evaluate the maturity of research software projects, covering multiple aspects such as code quality, security, sustainability, and reproducibility. 2. **Improve Management**: By identifying and implementing best practices, RSMM helps organizations gradually improve the management level of their research software projects. 3. **Promote Open Science**: RSMM emphasizes following the FAIR principles (Findable, Accessible, Interoperable, Reusable) to support the open - science movement and ensure that research software can be widely shared and reused. ### Structure of the RSMM Framework RSMM classifies 79 best practices into 17 capabilities, distributed in 4 key areas: 1. **Software Project Management**: - Requirement Management - Code Quality and Security - Communication and Collaboration 2. **Research Software Management**: - Impact Measurement - Sustainability - Visibility - Cost of Use and Ethics 3. **Community Engagement**: - Partnership - Community Management - Developer Support - License Management 4. **Software Adoptability**: - Usability - Documentation - Technology Selection - Reproducibility - Education - Deployment Capability Through RSMM, organizations and individuals can obtain a systematic tool for evaluating and improving the management of research software projects, thereby ensuring that these software are not only useful in current projects but also can continue to play an important role in the future.