Ryan Richard, a scientist at Ames National Laboratory, has been chosen as a 2024 Better Scientific Software (BSSw) fellow. The goal of the BSSw Fellowship program is to foster and promote practices, processes, and tools that improve software developer productivity and software sustainability of scientific codes.
Richard is the lead developer and chief software architect for the NWChemEx project. The objective of the NWChemEx project is to provide a community infrastructure for computational chemistry to support a broad range of chemistry research on a variety of computing systems, from local resources to the world’s largest computers. Richard’s proposed project for the BSSw fellowship is focused on increasing software sustainability through establishing and sharing best practices for development and management of multi-project continuous integration/continuous deployment (CI/CD).
An essential part of sustainable software is CI/CD. Continuous integration is when software developers merge changes to the software code back into the main branch as often as possible. These changes are validated through automated testing. Continuous deployment ensures that all changes are released to customers. For this step, there is no human intervention; however, a failed test will prevent deployment of a new change.
Richard’s proposed work includes developing a series of videos, tutorials, and reports focused on developing and maintaining multi-project CI/CD pipelines. “Unfortunately many scientific software organizations struggle to secure funding for software maintenance, meaning they usually cannot afford to devote extensive resources to CI/CD development,” said Richard. “The tutorials and reports will play a crucial role in CI/CD maintainers being able to implement their own sustainable multi-project CI/CD pipelines.”
“I am excited to receive this fellowship,” said Richard. “This is important research that will benefit the NWChemEx software package, but more importantly will lead to overall better, more reliable, and more sustainable scientific software packages.”