Research

We focus on empirically studying software developers and on using personal and biometric data to improve software developers’ productivity and well-being.

By better understanding what software developers need, what they experience, and how they operate, we are able to provide better and more tailored support to developers as well as improve their productivity and the quality of the software they produce.

Developer Productivity

Understanding software developers’ productivity, and devising approaches to allow developers to identify productive behavior changes through retrospection and self-reflection that fosters productivity and focus at work.

Biometric Sensing

Exploring biometric (aka. psycho-physiological) sensors to measure cognitive and emotional states of developers, and using these measures to provide better support, such as, by intervening before a developer creates a bug or the developer’s productivity is impeded.

Information Needs

Empirically studying developers’ information needs, and devising developer-centric models that provide easy access to the relevant project information or artifact, such as work item, code snippet, email, website, or file, at the right time.

Selected Projects

Team Productivity

Exploring the patterns and challenges in building software products, and developing strategies to improve collaboration and wellbeing in the workplace.

Members: Alexander Lill, Anastasia Ruvimova, André Meyer, Thomas Fritz

Developer Productivity
Virtual Reality

Can we use virtual reality to create an immersive, tailored experience to boost mood and focus while working?

Members: Anastasia Ruvimova, Thomas Fritz

Developer Productivity
Extended Reality
Individual Productivity – Personal Analytics

Understanding software developers’ productivity, and devising approaches to allow developers to identify productive behavior changes through retrospection and self-reflection that fosters productivity and focus at work.

Members: André Meyer, Thomas Fritz

Deep Work
Developer Productivity
Personal Analytics
Wellbeing
FlowLight & FlowTeams – Fostering Productive Work in Hybrid Workplaces

In today’s collaborative work environments, knowledge workers experience frequent interruptions from their co-workers, either in-person at the office or through online channels. We previously developed a research prototype, FlowLight, which reduces 46% of interruptions at work, by visualizing users’ current focus in a physical LED light. We are now aiming to adapt the FlowLight to today’s hybrid workplace scenarios and make it available to the public, to help foster deep work.

Members: André Meyer, Thomas Fritz

Deep Work
Developer Productivity
Wellbeing
Supporting Developer Workflows

One of the biggest impediments to software developer’s productivity in today’s (hybrid) work scenarios is the high work fragmentation, with developers constantly switching between tasks, and artifacts. Our work focuses on sensing software developers’ workflows and task context, to better support the cross-application, cross-artifact and multi-tasking nature of development work.

Members: Roy Rutishauser, André Meyer, Thomas Fritz

Developer Productivity
HASEL
Papers
Personal Analytics
Research
Sensing and Supporting Developers’ Flow

Software developers regularly experience difficulties, fatigue or frustration in their work that can lead to defects in the code, as well as consume extra time and effort. New technologies and devices, such as eye-tracking, smart watches or EEG sensors, allow us to capture various physiological data related to a developer’s cognitive and emotional states in less invasive ways than previously possible. The objective of this project is to examine and develop approaches to measure a developer’s cognitive and emotional states and provide interventions to increase flow, reduce code difficulty, and improve overall well-being at work.

Deep Work
Developer Productivity
HASEL
Personal Analytics
Research
Wellbeing

Selected Publications

An Exploratory Study of Productivity Perceptions in Software Teams

Software development is a collaborative process requiring a careful balance of focused individual effort and team coordination. Though questions of individual productivity have been widely examined in past literature, less is known about the interplay between developers' perceptions of their own productivity as opposed to their team’s. In this paper, we present an analysis of 624 daily surveys and 2899 self-reports from 25 individuals across five software teams in North America and Europe, collected over the course of three months. We found that developers tend to operate in fluid team constructs, which impacts team awareness and complicates gauging team productivity. We also found that perceived individual productivity most strongly predicted perceived team productivity, even more than the amount of team interactions, unplanned work, and time spent in meetings. Future research should explore how fluid team structures impact individual and organizational productivity.

Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight

Interruptions at the workplace can consume a lot of time and cause frustration, especially if they happen at moments of high focus. To reduce costly interruptions, we developed the FlowLight, a small LED Lamp mounted at a worker's desk that computes a worker's availability for interruptions based on computer interaction and indicates it to her coworkers with colors, similar to a traffic light. In a large study with 449 participants, we found that the FlowLight reduced interruptions by 46%. We also observed an increased awareness of the potential harm of interruptions and an increased feeling of productivity. In this chapter, we present our insights from developing and evaluating FlowLight, and reflect on the key factors that contributed to its success. Interruptions at the workplace can consume a lot of time and cause frustration, especially if they happen at moments of high focus. To reduce costly interruptions, we developed the FlowLight, a small LED Lamp mounted at a worker's desk that computes a worker's availability for interruptions based on computer interaction and indicates it to her coworkers with colors, similar to a traffic light. In a large study with 449 participants, we found that the FlowLight reduced interruptions by 46%. We also observed an increased awareness of the potential harm of interruptions and an increased feeling of productivity. In this chapter, we present our insights from developing and evaluating FlowLight, and reflect on the key factors that contributed to its success.

“Transport Me Away”: Fostering Flow in Open Offices through Virtual Reality

Open offices are cost-effective and continue to be popular. However, research shows that these environments, brimming with distractions and sensory overload, frequently hamper productivity. Our research investigates the use of virtual reality (VR) to mitigate distractions in an open office setting and improve one's ability to be in flow. In a lab study, 35 participants performed visual programming tasks in four combinations of physical (open or closed office) and virtual environments (beach or virtual office). While participants both preferred and were in flow more in a closed office without VR, in an open office, the VR environments outperformed the no VR condition in all measures of flow, performance, and preference. Especially considering the recent rapid advancements in VR, our findings illustrate the potential VR has to improve flow and satisfaction in open offices.

Enabling Good Work Habits in Software Developers through Reflective Goal-Setting

Software developers are generally interested in developing better habits to increase their workplace productivity and well-being, but have difficulties identifying concrete goals and actionable strategies to do so. In several areas of life, such as the physical activity and health domain, self-reflection has been shown to be successful at increasing people’s awareness about a problematic behavior, motivating them to define a self-improvement goal, and fostering goal-achievement. We therefore designed a reflective goal-setting study to learn more about developers’ goals and strategies to improve or maintain good habits at work. In our study, 52 professional software developers self-reflected about their work on a daily basis during two to three weeks, which resulted in a rich set of work habit goals and actionable strategies that developers pursue at work. We also found that purposeful, continuous self-reflection not only increases developers’ awareness about productive and unproductive work habits (84.5%), but also leads to positive self-improvements that increase developer productivity and well-being (79.6%). We discuss how tools could support developers with a better trade-off between the cost and value of workplace self-reflection and increase long-term engagement.

Detecting Developers’ Task Switches and Types

Developers work on a broad variety of tasks during their workdays and constantly switch between them. While these task switches can be beneficial, they can also incur a high cognitive burden on developers, since they have to continuously remember and rebuild the task context–the artifacts and applications relevant to the task. Researchers have therefore proposed to capture task context more explicitly and use it to provide better task support, such as task switch reduction or task resumption support. Yet, these approaches generally require the developer to manually identify task switches. Automatic approaches for predicting task switches have so far been limited in their accuracy, scope, evaluation, and the time discrepancy between predicted and actual task switches. In our work, we examine the use of automatically collected computer interaction data for detecting developers’ task switches as well as task types. In two field studies–a 4h observational study and a multi-day study with experience sampling–we collected data from a total of 25 professional developers. Our study results show that we are able to use temporal and semantic features from developers’ computer interaction data to detect task switches and types in the field with high accuracy of 84% and 61% respectively, and within a short time window of less than 1.6 minutes on average from the actual task switch. We discuss our findings and their practical value for a wide range of applications in real work settings.