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