I am proud to have been given the chance to author three chapters in our new productivity book, which is the result from a thought-provoking and discussion-intensive Dagstuhl Seminar in 2017. It was edited by Caitlin Sadowski and Thomas Zimmermann, and is available for free (OpenAccess). In the book, software engineering researchers review and discuss productivity, by covering definitions and core concepts related to productivity, guidelines for measuring productivity in specific contexts, best practices and pitfalls, and theories and open questions on productivity. You’ll benefit from the many short chapters, each offering a focused discussion on one aspect of productivity in software engineering.Read more →
Category: Research (page 1 of 3)
I am excited to announce that another paper that I’ve worked on during my second internship at Microsoft Research was just accepted to the IEEE Transactions on Software Engineering Journal.
Abstract: What is a good workday for a software developer? What is a typical workday? We seek to answer these two questions to learn how to make good days typical. Concretely, answering these questions will help to optimize development processes and select tools that increase job satisfaction and productivity. Our work adds to a large body of research on how software developers spend their time. We report the results from 5971 responses of professional developers at Microsoft, who reflected about what made their workdays good and typical, and self-reported about how they spent their time on various activities at work. We developed conceptual frameworks to help define and characterize developer workdays from two new perspectives: good and typical. Our analysis confirms some findings in previous work, including the fact that developers actually spend little time on development and developers’ aversion for meetings and interruptions. It also discovered new findings, such as that only 1.7% of survey responses mentioned emails as a reason for a bad workday, and that meetings and interruptions are only unproductive during development phases; during phases of planning, specification and release, they are common and constructive. One key finding is the importance of agency, developers’ control over their workday and whether it goes as planned or is disrupted by external factors. We present actionable recommendations for researchers and managers to prioritize process and tool improvements that make good workdays typical. For instance, in light of our finding on the importance of agency, we recommend that, where possible, managers empower developers to choose their tools and tasks.
I am excited to announce my first paper to the CSCW conference!
Abstract: One way to improve the productivity of knowledge workers is to increase their self-awareness about productivity at work through self-monitoring. Yet, little is known about expectations of, the experience with, and the impact of self-monitoring in the workplace. To address this gap, we studied software developers, as one community of knowledge workers. We used an iterative, user-feedback-driven development approach (N=20) and a survey (N=413) to infer design elements for workplace self-monitoring, which we then implemented as a technology probe called WorkAnalytics. We field-tested these design elements during a three-week study with software development professionals (N=43). Based on the results of the field study, we present design recommendations for self-monitoring in the workplace, such as using experience sampling to increase the awareness about work and to create richer insights, the need for a large variety of different metrics to retrospect about work, and that actionable insights, enriched with benchmarking data from co-workers, are likely needed to foster productive behavior change and improve collaboration at work. Our work can serve as a starting point for researchers and practitioners to build self-monitoring tools for the workplace.
Co-Authors: André N. Meyer (University of Zurich), Gail C. Murphy (University of British Columbia), Tom Zimmermann (Microsoft Research), Thomas Fritz (University of Zurich)
You can download the pre-print here.
Knowledge workers experience many interruptions during their work day. Especially when they happen at inopportune moments, interruptions can incur high costs, cause time loss and frustration. Knowing a person’s interruptibility allows optimizing the timing of interruptions and minimize disruption. Recent advances in technology provide the opportunity to collect a wide variety of data on knowledge workers to predict interruptibility. While prior work predominantly examined interruptibility based on a single data type and in short lab studies, we conducted a two-week ﬁeld study with 13 professional software developers to investigate a variety of computer interaction, heart-, sleep-, and physical activity-related data. Our analysis shows that computer interaction data is more accurate in predicting interruptibility at the computer than biometric data (74.8% vs. 68.3% accuracy), and that combining both yields the best results (75.7% accuracy). Read more →
One topic that many software developers in our productivity studies are very vocal about are meetings. For example, in an online survey with 379 developers, 58% described meetings as a waste of time – one of the main reasons for feeling unproductive. In this blogpost, I explore reasons why meetings are so unpopular, especially for developers, and discuss why I think meeting agendas could make your meetings more efficient and successful!
I am often thinking and talking to other people about how to reach a balance in work-life; a balance that I sometimes reach, but often cannot hold for long. The reason is that I often lose track of what really matters, what brings me forward, and what I enjoy doing. I start to say ‘yes’ to all requests, start to work long hours, stop my exercise routine, and slowly find myself (again) fighting against the storm of work and obligations…
This work has been conducted by André Meyer (UZH), Thomas Zimmermann (Microsoft Research) and Thomas Fritz (UBC). This research has been published to the industrial papers track at the ESEM’17 in Toronto. Thomas Zimmermann will present it on Thursday, November 9th, 2017 at 1pm in Session 4B: Qualitative Research.
Studying Developers’ Perceptions of Productivity instead of Measuring it
To overcome the ever-growing demand for software, we need new ways of optimizing the productivity of software developers. Existing work has predominantly focused on top-down approaches for defining or measuring productivity, such as lines of code, function points, or completed tasks over time. While these measurements are valuable to compare certain aspects of productivity, we argue that they miss the many other factors that influence the success and productivity of a software developer, such as the fragmentation of their work, their experience, and so on.
This work has been conducted by André Meyer (UZH), Laura Barton (UBC), Gail Murphy (UBC), Thomas Zimmermann (Microsoft) and Thomas Fritz (UZH).
Many software development companies strive to enhance the productivity of their engineers. All too often, efforts aimed at improving developer productivity are undertaken without knowledge about how developers spend their time at work and how it influences their own perception of productivity and well-being. For example, a software developers’ work day might be influenced by the tasks that are performed, by the infrastructure, tools used, or the office environment. Many of these factors result in activity and context switches that can cause fragmented work and, thus, often have a negative impact on the developers’ perceived productivity, quality of output and progress on tasks.
Besides “artificial intelligence” and “virtual reality”, “machine learning” (short: ML) is probably the most hyped technology in the past few years. And, at least in my opinion, with every right. However, it’s not that as if ML was just invented recently, as the term was first coined in 1959 by Arthur Samuel, a pioneer in the field of ML who described the technology as:
Machine learning is a field of study that gives computers the ability to learn without being explicitly programmed.
What is ML?
ML is a computational, or rather, statistical, method that uses experience to improve the performance of a topic or make accurate predictions. The ‘experience’ in that case is based on past data that we can access and that is labelled or categorized (by humans). The quality of the predictions depends on the accuracy and amount of the data.
I am extremely happy to announce our newest project, FlowLight, a traffic-light-like light for knowledge workers to reduce their interruptions at work, and makes them more productive! The research project, published with the title “Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight”, was conducted in close collaboration with researchers at ABB. It was also awared with an Honorable Mention award.
What is productivity? Many would describe it as the time you spend in “the zone” when you get things done. The time you are fully present, totally engaged with what happens, time you spend in the productive flow. But how to get there? David Allen, one of the responsible people that elicited my interest in researching productivity, talked about his time-management method getting things done in on TED a few years back.
Being appropriately engaged with what is going on
The secret to stress-free productivity, according to Allen, is to be totally committed and engaged with just a single thing at a time. The more that is on your mind at the same time, the more inappropriately you are engaged, and the less you can focus on just doing the thing you should be doing. It may sound counter intuitive or even awkward, but the key to being able to fully engage with the current project/task is to park everything unrelated to the task on a separate list that you regularly revisit in the right time and trust that it lets you never forget a thought or idea.
We all have this in common: We live in a busy world. And we all have got the same 24 hours to spend. While (at least in theory) we can choose what to spend our time on, most of us are always in a hurry. And we often excuse ourselves with: “I don’t have time for that.” But that’s not entirely true…
I was regularly thinking or saying “I don’t have time for that.”. Was. Until I saw a Ted talk by Laura Vanderkam, a time management expert, who studies how busy people spend their lives. She discovered that extremely busy people, such as a woman with multiple kids, a houshold to take care of and a very successful career, still had time to go for a hike on a Wednesday – a weekday!
In my strive to make people more productive, less stressed and generally happier at work, I’ve found an interesting article on Business Insider who interviewed Eric Potterat, a former head psychologist for the US Navy SEALs. He mentions that one similarity of “elite people”, whether they are athletes or military members, is how they cope with stress. He describes that people who control stress can control their performance in any environment, and that anyone can learn it and turn it into a habit.