Collaborative experience between scientific software projects using Agile Scrum development
Amanda L. Baxter,Segev Y. BenZvi,Walter Bonivento,Adam Brazier,Michael Clark,Alexis Coleiro,David Collom,Marta Colomer‐Molla,Bryce Cousins,Aliwen Delgado Orellana,Damien Dornic,Vladislav Ekimtcov,Shereen ElSayed,Andrea Gallo Rosso,Patrick Godwin,Spencer Griswold,Alec Habig,Remington Hill,Shunsaku Horiuchi,D. Andrew Howell,Margaret W. G. Johnson,Mario Jurić,James P. Kneller,Abigail Kopec,Claudio Kopper,Vladimir Kulikovskiy,Mathieu Lamoureux,Rafael F. Lang,Shengchao Li,Massimiliano Lincetto,Lindy Lindstrom,Mark W. Linvill,Curtis McCully,Jost Migenda,Danny Milisavljevic,Spencer Nelson,Rita Novoseltseva,Erin O'Sullivan,Donald Petravick,Barry W. Pointon,Nirmal Raj,Andrew Renshaw,Janet Rumleskie,Tom Sonley,Ron Tapia,Jeffrey C. L. Tseng,Christopher D. Tunnell,Godefroy Vannoye,Carlo F. Vigorito,Clarence J. Virtue,Christopher Weaver,Kathryn E. Weil,Lindley Winslow,Rich Wolski,Xun‐ Jie Xu,Yiyang Xu,The SCiMMA and SNEWS Collaborations
DOI: https://doi.org/10.1002/spe.3120
2022-07-28
Software Practice and Experience
Abstract: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.