goal-setting; developer; productivity; social sharing; measurement; retrospection
Meyer André N., Murphy Gail C., Zimmermann Thomas, Fritz Thomas (2021), Enabling Good Work Habits in Software Developers through Reflective Goal-Setting, in
IEEE Transactions on Software Engineering, 47(9), 1872-1885.
Pilzer Jan, Rosenast Raphael, Meyer André N., Huang Elaine M., Fritz Thomas (2020), Supporting Software Developers' Focused Work on Window-Based Desktops, in
CHI '20: CHI Conference on Human Factors in Computing Systems, Honolulu HI USAACM, New York, NY, USA.
Meyer André N., Züger Manuela, Satterfield Chris, Kevic Katja, Murphy Gail C., Zimmermann Thomas, Fritz Thomas (2020), Detecting Developers' Task Switches and Types, in
IEEE Transactions on Software Engineering, 1.
Meyer André N, Murphy Gail C, Fritz Thomas, Zimmermann Thomas (2019), Developers' Diverging Perceptions of Productivity, Springer, Berkeley, 137-146.
Meyer André N, Fritz Thomas, Zimmermann Thomas (2019), Fitbit for Developers: Self-Monitoring at Work, Springer, Berkeley, 261-270.
Züger Manuela, Meyer André N, Fritz Thomas, Shepherd David (2019), Reducing Interruptions at Work with FlowLight, Springer, Berkeley, 271-279.
Meyer Andre, Barr Earl T., Bird Christian, Zimmermann Thomas (2019), Today was a Good Day: The Daily Life of Software Developers, in
IEEE Transactions on Software Engineering, 1-1.
Meyer André N (2018), Fostering software developers' productivity at work through self-monitoring and goal-setting, in
Doctoral Symposium, Proc. of the 2018 IEEE/ACM 40th International Conference on Software Engineering, 480-483, ACM, New York480-483.
Züger Manuela, Müller Sebastian C., Meyer André N., Fritz Thomas (2018), Sensing Interruptibility in the Office: A Field Study on the Use of Biometric and Computer Interaction Sensors, in
Proc. of the ACM Conference on Human Factors in Computing Systems 2018 (CHI'18), ACM, New York.
Meyer André N, Zimmermann Thomas, Fritz Thomas (2017), Characterizing Software Developers by Perceptions of Productivity, in
Empirical Software Engineering and Measurement (ESEM), 2017 International Symposium, IEEE, New Jersey.
Meyer Andre N., Murphy Gail C., Zimmermann Thomas, Fritz Thomas (2017), Design Recommendations for Self-Monitoring in the Workplace: Studies in Software Development, in
Proc. ACM on Hum.-Comput. Interact., 1(CSCW), ACM, New York 1(CSCW).
Züger Manuela, Corley Christopher, Meyer André N., Li Boyang, Fritz Thomas, Shepherd David, Augustine Vinay, Francis Patrick, Kraft Nicholas, Snipes Will (2017), Reducing Interruptions at Work: A Large-Scale Field Study of FlowLight, in
Proc. of the ACM Conference on Human Factors in Computing Systems 2017 (CHI'17), 61-72, ACM, New York61-72.
Meyer André N., Barton Laura E, Murphy Gail C, Zimmermann Thomas, Fritz Thomas (2017), The Work Life of Developers: Activities, Switches and Perceived Productivity, in
IEEE Transactions on Software Engineering, 1-15, IEEE, New Jersey1-15.
Fritz Thomas (2016), Measuring Individual Productivity, Morgan Kaufmann, Boston, 67-72.
There is an ever-growing demand for software being produced--"software is eating the world" as Andreessen called it. Yet, there never seem to be enough software developers to satisfy the demand, despite the immense growth in the number of professional software developers over the years, with an estimate of eleven million professional developers in 2014. One way to address this excess demand is to increase the productivity of each individual software developer, raising the question of what it really means for an individual developer to be productive or more productive.A substantial amount of research has looked into developers' productivity, introducing specific definitions for measuring productivity that are generally based on a ratio of output to input, such as the number of lines of code to the coding effort in man-months or function points per developer's work hour. A lot of productivity research thereby focuses on the organizational or company level, such as the effect of workplace characteristics or hiring the right people on productivity. Fewer approaches have focused on productivity on the individual level. The most notable one is the Personal Software Process (PSP), which provides a framework for measuring and analyzing individual developers' work to improve productivity. Surprisingly, there has been no work that we have been able to find that examines when individual developers perceive themselves to be productive or unproductive. A better understanding of developers' perceptions of productivity can help to inform how productivity is defined, measured, assessed and how to best support developers in improving their productivity while also helping to avoid measurement dysfunction.The broader vision of our research is to understand and improve productivity bottom-up, starting on the developer level to determine meaningful measures and improve productivity, rather than defining productivity top-down from the organizational level. For the proposed project, the goal is to help software developers improve their productivity by investigating how they perceive their own productivity and by developing an approach that supports developers in a retrospective analysis of their productivity. In particular, this project consists of the following tasks:T1 - Studying Developer's Perception of Productivity.We plan to conduct a set of studies with professional developers to investigate how developers perceive and asses their own productivity, which activities they consider productive or unproductive and practices they use for improving their own productivity. We will combine survey based studies with individual observations and interviews of professional developers to elicit general themes and investigate these in more detail. An analysis of the data will provide valuable insights and help to inform how productivity is defined, measured, assessed and supported by tools and best practices.T2 - Retrospective Analysis for Developers.Self-monitoring and reflection can provide valuable insights into one's own behavior and can be used to change one's behavior. Based on the findings from T1, we plan to devise a developer-centric model to capture information relevant to a developer's productivity and determine ways to abstract and aggregate the information to provide a meaningful retrospection to the developer. We will develop a method to collect and visualize the information and assess how the provision of such information enables retrospection and hopefully drives up productivity.T3 - Goal-Setting and Social Sharing.Goal-setting and social sharing are techniques that have been shown to motivate behavior change in combination with self-monitoring. We plan to investigate how we can support developers in specifying and monitoring their goals in combination with the retrospection (from T2) to further motivate them for improving their productivity. We also plan to explore which data and with whom developers might be interested in sharing, provide support for it and examine its effect on their productivity.T4 - Evaluation of Retrospective Analysis, Goal-Setting and Sharing.Throughout the development of the approach for retrospection (T2 and T3), we will continuously evaluate the developed prototypes and integrate user feedback. For a more thorough evaluation, we will conduct a longitudinal field study with professional developers using our prototype over several weeks, collecting usage data before and while using the approach and interviewing participants on their experience. An analysis of the collected data will allow us to assess the value and effectiveness of our approach and provide opportunities for future improvements.We will carry out the empirical studies in close connection with professional development teams at international sites, such as Microsoft in the USA, Tasktop in Canada, and IBM in Switzerland. In particular, we will collaborate with Thomas Zimmermann from Microsoft Research, Gail Murphy from UBC and Tasktop, and Florian Georg from IBM.