Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Open Access Dissertations and Theses Community
  3. Open Access Dissertations and Theses
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/31637
Title: A Collaborative Framework Toward Minimizing Pain Points in Research Software Development
Other Titles: Minimize Pain Points in Research Software Development
Authors: Du, Ange
Advisor: Smith, Spencer
Department: Computing and Software
Keywords: research software;software engineering;GitHub template;documentation;document-driven development;project management
Publication Date: 2025
Abstract: Modern scientific and engineering research increasingly relies on software for data processing, analysis, and simulation. However, research software is often developed ad hoc, with limited regard for sustainability or reproducibility, as researchers (domain experts) untrained in software engineering practices and developers new to the domain theories must both tread unfamiliar waters. While existing solutions (e.g., documentation template, software life-cycle, CI/CD, formal methods) aim to bridge this gap, they often assume large, specialized teams, leaving small research groups underserved. Building upon our experience from research software projects, this thesis proposes a practical framework to empower small teams of domain experts and developers—particularly those transitioning from scientific or engineering backgrounds—to collaboratively build robust, sustainable research software. The framework addresses common pain points, such as evolving requirements and researchers’ limited technical familiarity, while fostering practices that benefit both immediate project needs and long-term maintainability. Central to the approach is structured requirements elicitation, where developers guide domain experts through targeted questions about theories, typical uses cases, computational problem scale and possible tests. The answers directly inform modular design, verification, and documentation, all supported by our GitHub template for a seamless development process. Key recommended practices include: (i) theory should be documented with structures and notations that ease its transition into code, (ii) early introduction of continuous integration, (iii) low-level design documentation via code-embedded comments (e.g.\ docstrings), and (iv) performance-aware modularization suitable for the problem scale. By prioritizing clarity, flexibility, and developer-domain expert collaboration, this work aims to elevate research software from disposable tools to sustainable, peer-review-ready assets. The thesis reviews past studies on research software, examines our own software projects, details our methodology, and proposes a preliminary experiment design that would serve as a means to the proposed process and techniques.
URI: http://hdl.handle.net/11375/31637
Appears in Collections:Open Access Dissertations and Theses

Files in This Item:
File Description SizeFormat 
Thesis.pdf
Open Access
5.51 MBAdobe PDFView/Open
Show full item record Statistics


Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue