When the global pandemic first hit and people started to quarantine, Informatics Professor Iftekhar Ahmed heard conflicting stories from software engineering friends and colleagues regarding levels of productivity. He recalls how some would say, “I love working from home; I’m feeling so much more productive,” while others would admit, “I’m spending so many hours taking care of my kids that my productivity is way down.” So, as a software engineering researcher, he wondered how COVID-19 might be influencing software projects and development activities.
Working with collaborators from Microsoft Research, Federal University of Bahia (UFBA), Federal University Rural of Pernambuco (UFRPE), and Singapore Management University, Ahmed set out to further explore the effects of the pandemic. The team studied 100 GitHub projects developed in Java using 10 different metrics and surveyed 279 software development professionals about their daily activities and well-being. In “A Deep Dive on the Impact of COVID-19 in Software Development,” a paper the team recently submitted to Empirical Software Engineering, they outline their observations related to productivity, code quality and well-being.
The team looked at both the macro and micro levels. At the macro level, they looked to see whether projects were producing more code and gaining contributors, for example. At the micro level, they looked at whether individual contributors were writing more code, creating more issues, reporting more bugs, and so on.
“As we suspected, what we found is that it’s not binary,” says Ahmed. “Out of the 100 projects, 60% saw an improvement and 40% saw a decline in productivity.” The percentages were the same for individual productivity.
Based on these observations, the team outlines recommendations for practitioners, organizations and the research community. As noted in the paper:
Practitioners can use our recommendations to maintain a healthy work-life balance during a pandemic. Organizations can learn from our survey respondents and take steps to remain productive while creating high-quality code. The research community can explore the social and human aspects to understand the impact of developer personality during a pandemic.
In addition, the team is planning follow-up studies to analyze how the impact of COVID-19 on software development might change over time. “This is important because this is not the last pandemic or disaster that is going to hit us,” explains Ahmed. “We need to be prepared from the software engineering perspective so that things keep going. The show must go on.”
— Shani Murray