Research group leaders and university vice presidents are responsible for tracking progress of many different projects at the same time. Kanban boards have turned into a surprisingly popular approach for project management over the last decade. Their usage spans the management of software development teams following an agile approach, business task management, and organizational development undertaken by collaborative teams. More recently, Kanban boards have also proven to be useful for personal task management. Users are required to break projects down into a collection of individual tasks. The visualization of these tasks (or a subset) helps to prioritize and focus on only a small number of tasks at a time, while tracking progress of their status. Software support for this type of task is highly desirable, but prone to data loss and corruption under concurrent updates. In this paper, we describe the functionality of software products that provide implementations of Kanban boards. We discuss how concurrent operations on these boards, such as moving entries on a board, can lead to unexpected and undesirable results. This type of bugs can be prevented by disallowing concurrent modifications of the application data. Using a formal model of a Kanban board specified in our verification tool Repliss, we show how techniques such as conflict-free replicated data types (CRDTs) can improve the programmability of highly-available systems and where their limits are.
[1]
Annette Bieniusa,et al.
Cure: Strong Semantics Meets High Availability and Low Latency
,
2016,
2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS).
[2]
Sérgio Duarte,et al.
Write Fast, Read in the Past: Causal Consistency for Client-Side Applications
,
2015,
Middleware.
[3]
Clarence A. Ellis,et al.
Concurrency control in groupware systems
,
1989,
SIGMOD '89.
[4]
Peter Zeller,et al.
Testing properties of weakly consistent programs with Repliss
,
2017,
PaPoC@EuroSys.
[5]
Arnd Poetzsch-Heffter,et al.
Towards a Proof Framework for Information Systems with Weak Consistency
,
2016,
SEFM.
[6]
Yanchun Zhang,et al.
Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems
,
1998,
TCHI.
[7]
Chengzheng Sun,et al.
Operational transformation in real-time group editors: issues, algorithms, and achievements
,
1998,
CSCW '98.
[8]
Marvin Theimer,et al.
Session guarantees for weakly consistent replicated data
,
1994,
Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.