The Distributed SCRUM Board — or just dBoard — is a digital Scrum Board for distributed Agile software development teams [1]. The dBoard is designed as a ‘virtual window’ between two Scrum team spaces. It connects two locations with live video and audio, which is overlaid with a synchronized and interactive digital Scrum board, and it adapts the fidelity of the video/audio to the presence of people in front of it.
The outline of the dBoard is shown in Figure 1. It is designed to work
- as a passive information radiator from which it is easy to get an overview of the status of work,
- as a media space providing awareness about the presence of remote co-workers, and
- as an active meeting support tool
System Design
As shown in Figure 2, the dBoard is an augmented version of the traditional physical Scrum board that integrates video and Scrum board features into one single tool designed to run on a large multi-touch surface. Based on several field studies, we formulated the following set of core design features that was used to design the dBoard:
- Virtual Window—The dBoard should provide a ‘virtual window’ between two remote sites thereby enabling seamless communication between two distributed teams.
- Scrum Board — The dBoard should support task management (i.e., user stories) in a Scrum fashion by supporting direct manipulation of ‘virtual post-it notes’ on a grid-like task board.
- Proximity-based Interaction — The dBoard should adapt to the environment in which it is situated; in particular, it should adapt to whether people are in front of it or not and to how they are using it.
- Minimal Setup Costs — The dBoard should allow people to easily establish meetings with minimal setup costs.
- Tool Integration — The dBoard should integrate to relevant digital software engineering tools like issue tracking and Agile project management used in the Scrum practices.
More information on the design of these features can be found in the ITS paper below [1].
The hardware setup of dBoard is shown in Figure 3 and consists of a large 65” display with a 3840 x 2160 resolution and PQ Labs multitouch overlay. A connected high-definition camera and a quality microphone captures video and audio. All the hardware is mounted on a movable stand and all components are connected to a fan-less computer strapped to the stand. The setup ensures that setting up and starting the dBoard is as simple as moving it to the desired location and plugging in power. The Kinect v2 sensor used to sense proximity to the board is mounted between the wheels of the stand. Alternatively, the screen can be hanged on a wall.
As shown in Figure 4, the architecture of the dBoard system consists of two main parts: the dBoard, which is the board itself; and thebackend which handles communication between dBoards and integration with external tools.
On startup, the dBoard launches the dBoard frontend application in full screen. The dBoard frontend is an HTML5 and JavaScript application built with AngularJS and designed for Google Chrome. Two connected dBoards send and receive video and audio using WebRTC, which is a peer-to-peer based JavaScript framework while all other information (such as tasks, user stories and state information) is communicated through the server using web-sockets.
The dBoard backend consists of three main components: (i) a Node.js web server, (ii) a Microsoft Team Foundation Server (TFS), and (iii) the activity-centered infrastructure NooSphere [2] with a plugin to communicate with the TFS instance.
The Node.js server is responsible for serving the AngularJS web application to the dBoards along with facilitating web-socket connections for task and interface synchronization between the boards and the backend. Any change made on the dBoard or in TFS is synchronized through NooSphere. NooSphere exposes all Scrum activities (i.e. sprints, user stories, tasks, bugs and users) through a RESTful web interface. We added this extra layer on top of TFS as it allows for easily changing the task tracking software from TFS to, e.g., Jira without modifying the rest of the application. Changing or adding task management systems can be done by writing a plugin. Other tools would then in turn also be able to access the same data in NooSphere making it an infrastructure able to support other collaborative tools.
User Studies
The dBoard was subject to both lab-based pilot studies as described in [1] as well as deployed for real use in a software company working across Denmark and Germany. Figure 5 shown a picture from this deployment study in which the dBoard is used for daily scrum standup meetings.
References
[Bibtex]
@inproceedings{esbensen2015dboard,
title={The dBoard: a digital scrum board for distributed software development},
author={Esbensen, Morten and Tell, Paolo and Cholewa, Jacob B and Pedersen, Mathias K and Bardram, Jakob},
booktitle={Proceedings of the 2015 International Conference on Interactive Tabletops \& Surfaces},
pages={161--170},
year={2015},
organization={ACM}
}
[Bibtex]
@inproceedings{houben2013noosphere,
title={NooSphere: an activity-centric infrastructure for distributed interaction},
author={Houben, Steven and Nielsen, S{\o}ren and Esbensen, Morten and Bardram, Jakob E},
booktitle={Proceedings of the 12th International Conference on Mobile and Ubiquitous Multimedia},
pages={13},
year={2013},
organization={ACM},
tag={conference,abc,nexgsd}
}