Skip to main content
QUICK REVIEW

[论文解读] Collaborative Experience between Scientific Software Projects using Agile Scrum Development

Amanda L. Baxter, S. BenZvi|arXiv (Cornell University)|Jan 19, 2021
Scientific Computing and Data Management被引用 3
一句话总结

本文通过一个案例研究,探讨了将科学软件项目——特别是超新星早期预警系统(SNEWS)和多信使天体物理学可扩展网络基础设施(SCiMMA)——采用敏捷Scrum方法进行整合。通过建立并行的敏捷Scrum框架,科学家与开发人员实现了高效协作,提升了沟通效率,确保了科学家的积极参与,并及时实现了领域特定的需求,从而增强了软件的可持续性并减少了技术债务。

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.

研究动机与目标

  • 应对长期项目周期、高人员流动率及有限软件工程资源带来的科学软件可持续性挑战。
  • 降低开源软件依赖带来的风险,例如非协调的发布周期和功能集成延迟。
  • 通过将开发流程与科学使用案例对齐,改善领域科学家与软件开发人员之间的协作。
  • 证明敏捷Scrum能够有效管理科学软件中的新兴需求,同时保持核心开发的完整性。
  • 通过在并行Scrum框架中直接将科学家嵌入开发生命周期,减少技术债务并提高软件可维护性。

提出的方法

  • 在SCiMMA团队现有Scrum流程的基础上,建立并行的敏捷Scrum框架,以支持SNEWS的开发。
  • 将科学家作为开发团队的活跃成员纳入,确保其需求在冲刺周期中被优先处理并实现。
  • 使用项目看板和版本控制(GitHub)透明地追踪需求、问题和功能开发。
  • 利用消息系统(Apache Kafka)和容器化部署(Docker)确保系统互操作性和可复现性。
  • 定期组织双团队的冲刺评审和回顾会议,以对齐目标并适应不断变化的科学需求。
  • 应用轻量级软件工程实践,如问题追踪、版本控制和持续集成,以提升代码质量和可持续性。

实验结果

研究问题

  • RQ1敏捷Scrum方法如何改善领域专家与软件开发团队之间的协作?
  • RQ2在软件团队开发过程中引入外部科学用户存在哪些风险,如何加以缓解?
  • RQ3并行Scrum框架是否能有效支持科学软件需求,而不干扰核心开发?
  • RQ4科学家参与Scrum冲刺在多大程度上提升了软件的可持续性,并增强了与科学使用案例的契合度?
  • RQ5将领域科学家整合进开发生命周期在多大程度上减少了技术债务并提升了长期可维护性?

主要发现

  • 并行敏捷Scrum框架成功使科学家能够积极参与软件开发,确保其需求得到优先处理和实现。
  • 科学家得以利用一个现有且稳定的平台(SCiMMA)加速自身开发,缩短了问题解决时间,减少了对定制化基础设施的依赖。
  • 开发人员从科学家提供的真实世界用例中受益,有助于优化和提升核心SCiMMA平台的功能性和稳健性。
  • 该协作降低了开源软件相关风险,通过直接、结构化的沟通确保关键功能的及时集成。
  • 敏捷实践的使用提升了透明度、沟通效率和响应速度,加快了问题解决,并使科学目标与软件交付更加契合。
  • 该方法表明,即使在具有多样化技术与科学需求的大型、分布式、多机构项目中,通过结构化协作也能实现可持续的科学软件开发。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。