ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2016, Vol. 53 ›› Issue (12): 2753-2767.doi: 10.7544/issn1000-1239.2016.20160625

• 其他应用技术 • 上一篇    下一篇



  1. (软件工程国家工程研究中心(北京大学) 北京 100871) (
  • 出版日期: 2016-12-01

Onboard: A Data-Driven Agile Software Development Collaboration Tool

Chen Long, Ye Wei,Zhang Shikun   

  1. (National Engineering Research Center for Software Engineering (Peking University), Beijing 100871)
  • Online: 2016-12-01

摘要: Scrum是一种兼顾计划性与灵活性的敏捷开发过程,能让软件开发团队具有快速工作和响应变化的能力.软件开发生命周期中每一个环节都会产生大量的数据,如果能记录下这些数据进行分析,并通过可视化等手段展示和反馈,则能进一步促进团队管理、项目管理,提高开发效率.现有的软件开发管理工具中,项目管理和代码管理往往是相互独立的,这导致了数据的分散和未充分利用.为推广以Scrum为核心、以数据为驱动的敏捷软件开发过程,开发了一款基于云服务的Onboard敏捷软件开发协同工具, 利用代码提交和任务的关联,创造性地将敏捷过程管理、源代码管理和项目管理有机地整合到一起,支持端到端的软件全生命周期管理,从而能记录下软件开发过程中产生的所有数据并提取有价值的信息,为中小软件开发团提供一站式的敏捷开发管理与协同服务.1)介绍了Onboard的设计理念;2)围绕着“如何利用软件开发过程中产生的数据更好地支持敏捷开发过程”和“如何评估团队成员贡献度”两大课题,全面介绍了数据可视化和数据分析在Onboard敏捷软件开发协同工具中的应用,并针对一系列相关问题提出了解决方案;3)对值得进一步研究的问题进行了展望.

关键词: 数据驱动, 敏捷软件开发, Scrum, 软件生命周期, 数据可视化, 代码提交与任务关联, 贡献度评估, 代码影响行数

Abstract: Scrum is an agile software development process with a balance between schedule and flexibility, which empowers software development teams with the ability to work efficiently and respond to changes quickly at the same time. Each step in the software development process can generate tons of data, which can further facilitate team and project management and improve development efficiency if these data are captured, analyzed, displayed and fed back. However, these data are commonly scattered and under-utilized because project management and source code management are separated in existing software development management toolbox. To promote data-driven agile software development process with Scrum at its core, we create Onboard, an agile software development collaboration tool based on cloud service, which, by associating Git commits with tasks, creatively incorporates agile process management, source code management and project management into one integrated service for software development teams. Onboard supports end-to-end management of the whole software life cycle, thus it can collect all the data generated throughout the development process and extract valuable information. This paper first introduces the design principle and structure of Onboard, and then gives a comprehensive survey of data visualization and analysis applied in Onboard. In the survey, we propose solutions to a series of related problems on two topics: how to fully utilize the data generated to improve agile development process and how to evaluate the contribution of a team member. In the final analysis, the paper provides topics that need further research.

Key words: data-driven, agile software development, Scrum, software life cycle, data visualization, associating commit with task, contribution evaluation, affected lines of code (ALOC)