4.6 Article

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

Journal

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
Volume 47, Issue 5, Pages 863-880

Publisher

IEEE COMPUTER SOC
DOI: 10.1109/TSE.2019.2904957

Keywords

Software; Productivity; Task analysis; Encoding; Tools; Collaboration; Birds; Software developer workdays; productivity; job satisfaction; good workdays; typical workdays; quantified workplace

Funding

  1. EPSRC [EP/J017515/1] Funding Source: UKRI

Ask authors/readers for more resources

The study surveyed nearly 6,000 professional developers at Microsoft and found that developers spend little time on actual development and have an aversion to meetings and interruptions. Additionally, the research revealed new findings, such as the minimal impact of emails on workdays and the productivity of meetings and interruptions in different phases of development. The key takeaway is the importance of developers' agency over their workdays.
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 5,971 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 percent 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.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.6
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

Article Computer Science, Software Engineering

Mining Treatment-Outcome Constructs from Sequential Software Engineering Data

Maleknaz Nayebi, Guenther Ruhe, Thomas Zimmermann

Summary: The study introduces an analytical approach called the Gandhi-Washington Method (GWM) to investigate the impact of recurring events in software projects. By mining treatment-outcome constructs from data, the method analyzes the influence of events sequences. The applicability of this method is demonstrated in empirical studies on file editing, code ownership, and release cycle time sequences.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2021)

Article Physics, Multidisciplinary

Getting Ahead of the Arms Race: Hothousing the Coevolution of VirusTotal with a Packer

Hector D. Menendez, David Clark, Earl T. Barr

Summary: Malware detection is an evolving arms race where attackers and defenders constantly seek advantage. White hats must be conservative to avoid false positives, while black hats usually only need to make incremental changes to evade detection. The method presented aims to accelerate the white hat's ability to counter the black hat's moves, forcing black hats to make disruptive moves more often.

ENTROPY (2021)

Article Computer Science, Software Engineering

The Effect of Work Environments on Productivity and Satisfaction of Software Engineers

Brittany Johnson, Thomas Zimmermann, Christian Bird

Summary: The work environment of software engineers has significant effects on their satisfaction and productivity, with private offices and the ability to work privately with no interruptions being key factors. Communication with the team and leads is also important for perceived productivity.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2021)

Article Computer Science, Software Engineering

Mind the Gap: On the Relationship Between Automatically Measured and Self-Reported Productivity

Moritz Beller, Vince Orgovan, Spencer Buja, Thomas Zimmermann

Summary: This article aims to bridge the gap between using automated product or process measures and self-reported or perceived productivity, through an empirical study of 81 software developers at Microsoft.

IEEE SOFTWARE (2021)

Article Computer Science, Software Engineering

The Assessor's Dilemma: Improving Bug Repair via Empirical Game Theory

Carlos Gavidia-Calderon, Federica Sarro, Mark Harman, Earl T. Barr

Summary: Our study reveals that priority inflation can lead to misallocation of developer time. By analyzing 42,620 issues from Apache's JIRA and using the TaskAssessor EGTA modeling approach, we confirm the common issue of QA engineers assigning priority labels and its susceptibility to priority inflation.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2021)

Article Computer Science, Software Engineering

Detecting Developers' Task Switches and Types

Andre N. Meyer, Chris Satterfield, Manuela Zuger, Katja Kevic, Gail C. Murphy, Thomas Zimmermann, Thomas Fritz

Summary: Researchers propose using automatically collected computer interaction data to accurately detect developers' task switches and types in real work settings, with a short time discrepancy from the actual task switch. These findings have practical value for a wide range of applications.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2022)

Article Computer Science, Software Engineering

Towards a Theory of Software Developer Job Satisfaction and Perceived Productivity

Margaret-Anne Storey, Thomas Zimmermann, Christian Bird, Jacek Czerwonka, Brendan Murphy, Eirini Kalliamvakou

Summary: Developer satisfaction and work productivity are crucial considerations for software companies, as they can impact employee attraction, retention, cost reduction, and customer satisfaction. The relationship between job satisfaction and perceived productivity is a debated topic. Social and technical factors play a role in influencing satisfaction and productivity, but it is unclear which factors have the most impact, especially in specific development contexts.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2021)

Article Computer Science, Software Engineering

Correlating Automated and Human Evaluation of Code Documentation Generation Quality

Xing Hu, Qiuyuan Chen, Haoye Wang, Xin Xia, David Lo, Thomas Zimmermann

Summary: Automatic code documentation generation is a crucial task in software engineering, but current automatic evaluation metrics for generated documentation are not reliable enough to replace human evaluation. Studies show that the ranking of generated documentation from automatic metrics is different from that evaluated by human annotators, with METEOR showing some correlation with human evaluation metrics.

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY (2022)

Article Computer Science, Software Engineering

Accessibility in Software Practice: A Practitioner's Perspective

Tingting Bi, Xin Xia, David Lo, John Grundy, Thomas Zimmermann, Denae Ford

Summary: This article discusses the challenges and benefits of incorporating accessibility into software development and design. The study gathered qualitative and quantitative data from practitioners in various countries to understand their perception of accessibility in practice. The findings reveal significant gaps between groups, highlighting the need for guidelines and remedies to improve accessibility development and design. The article emphasizes the importance of prioritizing accessibility throughout the software development process.

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY (2022)

Article Computer Science, Software Engineering

A Tale of Two Cities: Software Developers Working from Home during the COVID-19 Pandemic

Denae Ford, Margaret-Anne Storey, Thomas Zimmermann, Christian Bird, Sonia Jaffe, Chandra Maddila, Jenna L. Butler, Brian Houck, Nachiappan Nagappan

Summary: The COVID-19 pandemic has caused developers to work from home, leading to a variety of experiences with benefits and challenges. Some developers appreciate the proximity to family members, while others find it disruptive to have family sharing their workspace.

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY (2022)

Article Computer Science, Software Engineering

How do Practitioners Perceive the Relevance of Requirements Engineering Research?

Xavier Franch, Daniel Mendez, Andreas Vogelsang, Rogardt Heldal, Eric Knauss, Marc Oriol, Guilherme H. Travassos, Jeffrey C. Carver, Thomas Zimmermann

Summary: Practitioners generally perceive Requirements Engineering (RE) research as essential or worthwhile, but there is still a higher percentage of non-positive ratings. Factors influencing perception of relevance include research's links to industry, research methods, and respondents' roles. Positive perceptions are mainly related to problem relevance and solution soundness, while negative perceptions are more varied.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2022)

Proceedings Paper Computer Science, Software Engineering

Artefact Relation Graphs for Unit Test Reuse Recommendation

Robert White, Jens Krinke, Earl T. Barr, Federica Sarro, Chaiyong Ragkhitwetsagul

Summary: Reuse of artefacts is crucial in software development for cost reduction and quality improvement. RASHID framework predicts connections between artefacts to aid in reuse, while RELATEST approach significantly decreases developer effort in test creation. Users find RELATEST recommendations useful in practice.

2021 14TH IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST 2021) (2021)

Proceedings Paper Computer Science, Software Engineering

Where should I comment my code? A dataset and model for predicting locations that need comments

Annie Louis, Santanu Kumar Dash, Earl T. Barr, Michael D. Ernst, Charles Sutton

2020 IEEE/ACM 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING RESULTS (ICSE-NIER 2020) (2020)

No Data Available