Individual Productivity – Personal Analytics

Deep Work
Developer Productivity
Personal Analytics
Wellbeing

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.

 

What is Personal Analytics?

Personal Analytics project was originally initiated by André N. Meyer and Prof. Dr. Thomas Fritz from HASEL at the University of Zurich (UZH). Our goal is to build a self-monitoring tool that knowledge workers (e.g. developers, designers, administrators) install on their computer and that allows them to get insights into their work and productivity, and come up with positive behavior changes. The basis are a number of computer interaction trackers (e.g. application usage, emails/meetings, user input) and biometric trackers (e.g. Fitbit, Polar, Garmin, Muse, Tobii) that non-intrusively track data, store them locally on the users machine (to avoid privacy issues!) and then visualize them in a daily/weekly summary, the retrospection.

Anyone is welcome to extend PersonalAnalytics with new trackers or improve existing ones. Feel free to use PersonalAnalytics to get insights into your own work habits, or use it for research studies. In case you re-use PersonalAnalytics, make sure to cite our work.

Publications

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

Deep Work
Developer Productivity
Personal Analytics
Wellbeing
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.

Design Recommendations for Self-Monitoring in the Workplace: Studies in Software Development

Deep Work
Developer Productivity
Personal Analytics
Wellbeing

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

Deep Work
Developer Productivity
Personal Analytics
Wellbeing
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.

Software Developers’ Perceptions of Productivity

Deep Work
Developer Productivity
Personal Analytics
Wellbeing
The better the software development community becomes at creating software, the more software the world seems to demand. Although there is a large body of research about measuring and investigating productivity from an organizational point of view, there is a paucity of research about how software developers, those at the front-line of software construction, think about, assess and try to improve their productivity. To investigate software developers' perceptions of software development productivity, we conducted two studies: a survey with 379 professional software developers to help elicit themes and an observational study with 11 professional software developers to investigate emergent themes in more detail. In both studies, we found that developers perceive their days as productive when they complete many or big tasks without significant interruptions or context switches. Yet, the observational data we collected shows our participants performed significant task and activity switching while still feeling productive. We analyze such apparent contradictions in our findings and use the analysis to propose ways to better support software developers in a retrospection and improvement of their productivity through the development of new tools and the sharing of best practices.

Characterizing Software Developers by Perceptions of Productivity

Deep Work
Developer Productivity
Personal Analytics
Wellbeing
Understanding developer productivity is important to deliver software on time and at reasonable cost. Yet, there are numerous definitions of productivity and, as previous research found, productivity means different things to different developers. In this paper, we analyze the variation in productivity perceptions based on an online survey with 413 professional software developers at Microsoft. Through a cluster analysis, we identify and describe six groups of developers with similar perceptions of productivity: social, lone, focused, balanced, leading, and goal-oriented developers. We argue why personalized recommendations for improving software developers' work is important and discuss design implications of these clusters for tools to support developers' productivity.

The Work Life of Developers: Activities, Switches and Perceived Productivity

Deep Work
Developer Productivity
Personal Analytics
Wellbeing

Today was a Good Day: The Daily Life of Software Developers

Deep Work
Developer Productivity
Personal Analytics
Wellbeing

Selection of Blogs referencing our Research

Additional material for paper: Design Recommendations for Self-Monitoring in the Workplace: Studies in Software Development (CSCW’18)

Additional material for paper: Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight (CHI’17)

Additional material for paper: Characterizing Software Developers by Perceptions of Productivity (ESEM’17)

Additional material for paper: The Work Life of Developers: Activities, Switches and Perceived Productivity (TSE’17)