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.
翻译:由于科学软件开发的性质,许多科学家忽视了软件工程的最佳做法,从而导致难以维持的软件。我们在此提出一个减缓战略,让科学家通过与专业软件开发者合作采用软件开发最佳做法。这种伙伴关系带来了固有的挑战。对于科学家来说,这可以是依赖外部资源,发展过程中缺乏控制。对于开发者来说,这可能是减少用于核心、非科学发展目标的努力。这些问题可以通过利用既有软件开发做法,如Agile Scrum框架来构建伙伴关系来缓解。本文介绍了一个案例研究,其中科学家用户小组、超级诺瓦预警系统(SNEWS)与一组科学软件开发者合作,多信使天体物理学(SCimMA)项目可扩展的网络基础设施。两个组织利用Agile Scrum框架来满足每个组织的需求,减轻现有科学开发做法如Agile Scrum框架等。本文介绍了一个科学家用户小组,即超级诺瓦预警系统(SNEWS),与一组科学软件开发者合作,可扩展多信使天体物理学(SCIMA)项目。两个组织利用Agile Scrum框架, 解决每个组织的需求,减轻了当前科学研发过程中的担忧,避免了当前科学结构开发过程中的成功成本。