Agile Scrum Development in an ad hoc Software Collaboration
Developing cyberinfrastructure for the growing needs of multi-messenger astrophysics requires expertise in both software development and domain science. However, due to the nature of scientific software development, many scientists neglect best practices for software engineering which results in software that is difficult to maintain. We present here a mitigation strategy where scientists adopt software development best practices by collaborating with professional software developers. Such a partnership brings inherent challenges. For the scientists, this can be a dependence on external resources and lack of control in the development process. For developers, this can be a reduction in effort available for core, non-scientific development goals. These issues can be alleviated by structuring the partnership using established software development practices, such as the Agile Scrum framework. This paper presents a case study wherein a scientist user group, the SuperNova Early Warning System (SNEWS), collaborated with a group of scientific software developers, the Scalable Cyberinfrastructure for Multi-Messenger Astrophysics (SCiMMA) project. The two organizations utilized an Agile Scrum framework to address the needs of each organization, mitigate the concerns of collaboration, and avoid pitfalls common to scientific software development. In the end, the scientists profited from a successful prototype and the software developers benefited from enhanced cyberinfrastructure and improved development skills. This suggests that structured collaborations could help address the prevailing difficulties in scientific computing.
READ FULL TEXT