Towards the Visualization of Usage and Decision Knowledge in Continuous Software Engineering

Continuous software engineering (CSE) includes activities to continuously evolve software artifacts. Along with these activities, developers employ knowledge such as usage and decision knowledge. Usage knowledge helps developers to understand how users apply software, while decision knowledge comprises all decisions taken during CSE and their rationale. However, due to the frequency, extent, and complexity of knowledge in CSE environments, accessing and processing knowledge is challenging for developers. We propose a dashboard for developers that visualizes knowledge from various sources. This enables developers to follow, reflect, interact, and react on knowledge in CSE environments. We introduce springboards that serve as knowledge selectors while the selected extract of knowledge is visualized in widgets. Widgets allow developers to gain insight into knowledge. We suggest three widget classes: spot, compare, and range. We discuss dashboard extensions such as interaction triggers to add, modify, or combine knowledge. We plan to implement the dashboard and evaluate it with teams during software development projects in an industrial setting.

[1]  Luis A. Leiva Automatic web design refinements based on collective user behavior , 2012, CHI EA '12.

[2]  Mario Linares Vásquez,et al.  ChangeScribe: A Tool for Automatically Generating Commit Messages , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[3]  Stefan Elsen VisGi: Visualizing Git branches , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[4]  Günther Ruhe,et al.  DEVis: A tool for visualizing software document evolution , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[5]  Tom-Michael Hesse,et al.  DecDoc: A Tool for Documenting Design Decisions Collaboratively and Incrementally , 2016, 2016 1st International Workshop on Decision Making in Software ARCHitecture (MARCH).

[6]  Jan Bosch,et al.  Continuous Software Engineering: An Introduction , 2014, Continuous Software Engineering.

[7]  Bernd Brügge,et al.  Software Engineering Project Courses with Industrial Clients , 2015, TOCE.

[8]  Bernd Brügge,et al.  Metrics in Agile Project Courses , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[9]  Philippe Kruchten,et al.  A Tool to Visualize Architectural Design Decisions , 2008, QoSA.

[10]  Peng Liang,et al.  Improving understandability of architecture design through visualization of architectural design decision , 2010, SHARK '10.

[11]  Jan Ole Johanssen,et al.  Towards a Systematic Approach to Integrate Usage and Decision Knowledge in Continuous Software Engineering , 2017, CSE@SE.

[12]  Frank Maurer,et al.  Information Visualization for Agile Software Development , 2014, 2014 Second IEEE Working Conference on Software Visualization.

[13]  Bernd Brügge,et al.  FAVe: Visualizing User Feedback for Software Evolution , 2014, 2014 Second IEEE Working Conference on Software Visualization.

[14]  Klaas-Jan Stol,et al.  Continuous software engineering: A roadmap and agenda , 2017, J. Syst. Softw..