André Meyer, Thomas Zimmermann, Thomas Fritz, Characterizing Software Developers by Perceptions of Productivity, In: International Symposium on Empirical Software Engineering and Measurement, Toronto, CA, 2017-11-09. (Conference or Workshop Paper published in Proceedings)
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. |
|
André Meyer, Gail C Murphy, Thomas Zimmermann, Thomas Fritz, Design Recommendations for Self-Monitoring in the Workplace: Studies in Software Development, PACM on Human-Computer Interaction, Vol. 1 (CSCW), 2017. (Journal Article)
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. |
|
Katja Kevic, Thomas Fritz, Towards Activity-Aware Tool Support for Change Tasks, In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), IEEE, 2017-10-17. (Conference or Workshop Paper published in Proceedings)
|
|
Lada Murchych, DayO: Optimizing Workdays Based on Time and Productivity Constraints, University of Zurich, Faculty of Business, Economics and Informatics, 2017. (Bachelor's Thesis)
Knowledge workers have multiple competing responsibilities, ranging from answering emails, attending meetings to performing highly demanding tasks. To be successful at work and get things done, workers have to continuously plan ahead or determine what's best to work on right now. Planning is vital for completing projects and accomplishing longer tasks, since keeping a high-level picture in mind while simultaneously concentrating on the solution is challenging. Productivity of the knowledge worker depends on many different factors, ranging from environmental like interruptions to personal like sleep duration and quality. However, none of the existing approaches for automated task scheduling takes personal productivity factors into account.
To alleviate the planning effort and help knowledge workers in allocating their personal resources of time and energy to achieve effective task execution, we have devised a concept of constraint-based workday planning and implemented as a prototype, DayO. Taking the list of tasks created by the user, DayO generates schedule suggestions based on task characteristics, appointments scheduled for today and productivity factors. The evaluation of DayO with knowledge workers has shown that suggestions of workday plan display high accuracy and that concept presented in this thesis can be used for task scheduling at work. |
|
Katja Kevic, Using Eye Gaze Data to Recognize Task-Relevant Source Code Better and More Fine-Grained, In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), IEEE, 2017-06-20. (Conference or Workshop Paper published in Proceedings)
|
|
Katja Kevic, Brendan Murphy, Laurie Williams, Jennifer Beckmann, Characterizing Experimentation in Continuous Deployment: a Case Study on Bing, In: International Conference on Software Engineering, Software Engineering in Practice, Buenos Aires, 2017. (Conference or Workshop Paper published in Proceedings)
|
|
Manuela Züger, Christopher Corley, André Meyer, Boyang Li, Thomas Fritz, David Shepherd, Vinay Augustine, Patrick Francis, Nicholas Kraft, Will Snipes, Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight, In: Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, ACM, New York, NY, USA, 2017-05-06. (Conference or Workshop Paper published in Proceedings)
Due to the high number and cost of interruptions at work, several approaches have been suggested to reduce this cost for knowledge workers. These approaches predominantly focus either on a manual and physical indicator, such as headphones or a closed office door, or on the automatic measure of a worker's interruptibilty in combination with a computer-based indicator. Little is known about the combination of a physical indicator with an automatic interruptibility measure and its long-term impact in the workplace. In our research, we developed the FlowLight, that combines a physical traffic-light like LED with an automatic interruptibility measure based on computer interaction data. In a large-scale and long-term field study with 449 participants from 12 countries, we found, amongst other results, that the FlowLight reduced the interruptions of participants by 46%, increased their awareness on the potential disruptiveness of interruptions and most participants never stopped using it. |
|
Katja Kevic, Getting the Right Code Changes Done Right, University of Zurich, Faculty of Business, Economics and Informatics, 2017. (Dissertation)
|
|
André Meyer, Laura E Barton, Thomas Fritz, Gail C Murphy, Thomas Zimmermann, The work life of developers: activities, switches and perceived productivity, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 43 (12), 2017. (Journal Article)
Many software development organizations strive to enhance the productivity of their developers. 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. To fill in this gap, we deployed a monitoring application at 20 computers of professional software developers from four companies for an average of 11 full workdays in situ. Corroborating earlier findings, we found that developers spend their time on a wide variety of activities and switch regularly between them, resulting in highly fragmented work. Our findings extend beyond existing research in that we correlate developers’ work habits with perceived productivity and also show productivity is a personal matter. Although productivity is personal, developers can be roughly grouped into morning, low-at-lunch and afternoon people. A stepwise linear regression per participant revealed that more user input is most often associated with a positive, and emails, planned meetings and work unrelated websites with a negative perception of productivity. We discuss opportunities of our findings, the potential to predict high and low productivity and suggest design approaches to create better tool support for planning developers’ workdays and improving their personal productivity. |
|
Katja Kevic, B M Walters, T R Shaffer, Bonita Sharif, D C Shepherd, Thomas Fritz, Eye gaze and interaction contexts for change tasks – Observations and potential, The Journal of Systems and Software, Vol. 128, 2017. (Journal Article)
The more we know about software developers’ detailed navigation behavior for change tasks, the better we are able to provide effective tool support. Currently, most empirical studies on developers performing change tasks are, however, limited to very small code snippets or limited by the granularity and detail of the data collected on developer’s navigation behavior. In our research, we extend this work by combining user interaction monitoring to gather interaction context – the code elements a developer selects and edits – with eye-tracking to gather more detailed and fine-granular gaze context-code elements a developer looked at. In a study with 12 professional and 10 student developers we gathered interaction and gaze contexts from participants working on three change tasks of an open source system. Based on an analysis of the data we found, amongst other results, that gaze context captures different aspects than interaction context and that developers only read small portions of code elements. We further explore the potential of the more detailed and fine-granular data by examining the use of the captured change task context to predict perceived task difficulty and to provide better and more fine-grained navigation recommendations. We discuss our findings and their implications for better tool support. |
|
Katja Kevic, Recognizing Relevant Code Elements During Change Task Navigation, In: 38th International Conference on Software Engineering Companion, ACM Press, New York, New York, USA, 2016. (Conference or Workshop Paper published in Proceedings)
|
|
Felienne Hermans, Janet Siegmund, Thomas Fritz, Gabriele Bavota, Meiyappan Nagappan, Abram Hindle, Yasutaka Kamei, Ali Mesbah, Bram Adams, Leaders of tomorrow on the future of software engineering: a roundtable, IEEE Software, Vol. 33 (2), 2016. (Journal Article)
Nine rising stars in software engineering describe how software engineering research will evolve, highlighting emerging opportunities and groundbreaking solutions. They predict the rise of end-user programming, the monitoring of developers through neuroimaging and biometrics sensors, analysis of data from unstructured documents, the mining of mobile marketplaces, and changes to how we create and release software. |
|
Thomas Fritz, Measuring individual productivity, In: Perspectives on Data Science for Software Engineering, Morgan Kaufmann, Burlington, Massachusetts, p. 67 - 71, 2016. (Book Chapter)
Measuring productivity of individual developers is challenging. In some domains, such as car manufacturing, specific outcome measures over time, such as the number of cars produced in a day, can work well to measure and incentivize productivity. However, the less clearly defined and more flexible process of software development makes it difficult, if not impossible, to define such measures. In particular, there is no single and simple best metric that can be used for all software developers and more individual combinations of measures are wanted and needed that also take into account the process and not just the final outcome. In this chapter, we will discuss some of the challenges and previous insights on the measuring of individual developer productivity. |
|
Katja Kevic, Braden M Walters, Timothy R Shaffer, Bonita Sharif, David C Shepherd, Thomas Fritz, Tracing Software Developers’ Eyes and Interactions for Change Tasks, In: 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, s.n., Bergamo, Italy, 2015-08-30. (Conference or Workshop Paper published in Proceedings)
|
|
Vinay Augustine, Patrick Francis, Xiao Qu, David Shepherd, Will Snipes, Christoph Bräunlich, Thomas Fritz, A Field Study on Fostering Structural Navigation with Prodet, In: International Conference on Software Engineering, Software Engineering in Practice, IEEE Press, Piscataway, NJ, USA, 2015. (Conference or Workshop Paper published in Proceedings)
Past studies show that developers who navigate code in a structural manner complete tasks faster and more correctly than those whose behavior is more opportunistic. The goal of this work is to move professional developers towards more effective program comprehension and maintenance habits by providing an approach that fosters structural code navigation. To this end, we created a Visual Studio plugin called Prodet that integrates an always-on navigable visualization of the most contextually relevant portions of the call graph. We evaluated the effectiveness of our approach by deploying it in a six week field study
with professional software developers. The study results show a statistically significant increase in developers’ use of structural navigation after installing Prodet. The results also show that developers continuously used the filtered and navigable call graph over the three week period in which it was deployed in production. These results indicate the maturity and value of our approach to increase developers’ effectiveness in a practical and
professional environment. |
|
Will Snipes, Emerson Murphy-Hill, Thomas Fritz, Kostadin Damevski, Mohsen Vakilian, Anil R Nair, David Shepherd, A practical guide to analyzing IDE usage data, In: Perspectives on Data Science for Software Engineering, Morgan Kaufmann/Elsevier, Burlington, Massachusetts, p. 85 - 136, 2015. (Book Chapter)
Integrated development environments such as Eclipse and Visual Studio provide tools and capabilities to perform tasks such as navigating among classes and methods, continuous compilation, code refactoring, automated testing, and integrated debugging, all designed to increase productivity. Instrumenting the integrated development environment to collect usage data provides a more fine-grained understanding of developers' work than was previously possible. Usage data supports analysis of how developers spend their time, what activities might benefit from greater tool support, where developers have difficulty comprehending code, and whether they are following specific practices such as test-driven development. With usage data, we expect to uncover more nuggets of how developers create mental models, how they investigate code, how they perform mini trial-and-error experiments, and what might drive productivity improvements for everyone. |
|
Katja Kevic, Thomas Fritz, Towards Developer- and task-tailored navigation models, In: 1st International Workshop on Context in Software Development, CSD, Hong Kong,China, 2014-11-16. (Conference or Workshop Paper)
|
|
André Meyer, Thomas Fritz, Gail C Murphy, Thomas Zimmermann, Software Developers’ Perceptions of Productivity, In: FSE 14, s.n., Zürich, 2014-11-16. (Conference or Workshop Paper published in Proceedings)
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. |
|
Thomas Fritz, David C Shepherd, Katja Kevic, Will Snipes, Christoph Braeunlich, Developers' code context models for change tasks, In: 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering/ FSE 2014, ACM, Hong Kong, China, 2014-11-16. (Conference or Workshop Paper published in Proceedings)
|
|
Katja Kevic, Thomas Fritz, David C Shepherd, CoMoGen: An approach to locate relevant task context by combining search and navigation, In: 30th International Conference on Software Maintenance and Evolution, Institute of Electrical and Electronics Engineers, Victoria, Canada, 2014-09-28. (Conference or Workshop Paper published in Proceedings)
|
|