2022 article

Collaborative experience between scientific software projects using Agile Scrum development

Baxter, A. L., BenZvi, S. Y., Bonivento, W., Brazier, A., Clark, M., Coleiro, A., … Xu, Y. (2022, July 27). SOFTWARE-PRACTICE & EXPERIENCE.

By: A. Baxter*, S. BenZvi*, W. Bonivento*, A. Brazier*, M. Clark*, A. Coleiro*, D. Collom*, M. Colomer-Molla* ...

author keywords: Agile; cyberinfrastructure; multimessenger astrophysics; scientific computing; software development
Source: Web Of Science
Added: August 8, 2022

Developing sustainable software for the scientific community requires expertise in software engineering and domain science. This can be challenging due to the unique needs of scientific software, the insufficient resources for software engineering practices in the scientific community, and the complexity of developing for evolving scientific contexts. While open-source software can partially address these concerns, it can introduce complicating dependencies and delay development. These issues can be reduced if scientists and software developers collaborate. We present a case study wherein scientists from the SuperNova Early Warning System collaborated with software developers from the Scalable Cyberinfrastructure for Multi-Messenger Astrophysics project. The collaboration addressed the difficulties of open-source software development, but presented additional risks to each team. For the scientists, there was a concern of relying on external systems and lacking control in the development process. For the developers, there was a risk in supporting a user-group while maintaining core development. These issues were mitigated by creating a second Agile Scrum framework in parallel with the developers' ongoing Agile Scrum process. This Agile collaboration promoted communication, ensured that the scientists had an active role in development, and allowed the developers to evaluate and implement the scientists' software requirements. The collaboration provided benefits for each group: the scientists actuated their development by using an existing platform, and the developers utilized the scientists' use-case to improve their systems. This case study suggests that scientists and software developers can avoid scientific computing issues by collaborating and that Agile Scrum methods can address emergent concerns.