Constant demands for increased software developer productivity are running up against increasing levels of burnout caused by pandemic stress, shifting working conditions, and the multiple tools that require context switching.
All these factors can prevent developers from reaching optimal levels of performance. Some barriers to productivity are easy to identify; others are far less visible but just as impactful. Recognizing that these stumbling blocks exist is just the first step towards finding a solution.
The Downsides of Remote Work
According to Derrick Morton, CEO at FlowPlay, the biggest issue you find with developers is not being clear on the task or goal. “In the olden days, that was fixed a lot of times just watercooler conversations—office life cured a lot of bad communication problems,” he said. “In these times, communication needs to be extra clear—you can't assume that people have either heard for the grapevine or read the document that something should have been changed.”
Even more difficult: trying to brainstorm as a team when people are working remotely, often on asynchronous schedules. “This is when you are having conversations with people around how the end product will actually take shape, and it's difficult over Zoom because Zoom, for some reason, is by its very nature, very transactional,” Morton said. “It just feels weird doing brainstorming over Zoom.”
In addition to rendering things more inefficient, remote work could make maintaining a company’s developer culture even harder. “We're super worried about that right now,” Morton added. “That's one of the things we're kind of dealing with now and trying to figure out. It's very hard.”
Patrick Dunn, director of engineering at Hired, thinks that, in remote settings, life around the house can become a barrier to productivity unless developers take proactive steps. “Context switching and the mental toll therein, for personal or work reasons, can be a productivity killer if it happens too often,” he said. “Encouraging the use of tools like Pomodoro timers and other focus-related apps can aid developers in reducing context switching.”
For teams everywhere, it’s also important to estimate the time needed between completing the coding and pushing things live to production. Accurately scheduling cycles of code and product review can allow developers to plan their time more efficiently.
“Are the tools simple to use and understand, especially if something goes wrong? How easily can you roll back a mistake?” Dunn said. “Developers might be slow to move if the cost of taking an action in this post-development phase is high, so consider how you can reduce that friction while being mindful of your organization’s needs.”
It’s Not All About Output
Focusing too much on output and driving your developers hard can transform into a barrier to productivity. “It is incredibly demoralizing if you’ve already been telling your developers that they’ve been working really hard but guess what we’re doing next quarter—working harder!” Dunn said. “Be willing to allow an ebb and flow to productivity. Sometimes a slow productive period is necessary for recharging your creativity and reducing exhaustion, which means in the long run, you’ll be even more productive.”
Peter Pezaris, vice president of strategy and developer tools at New Relic, said it’s key to acknowledge the intangibles when it comes to measuring developer productivity. In addition to standard metrics such as commit history and bug escape rates, a team leader or manager also needs to acknowledge there are things like morale that are much harder to measure—again, especially in a remote context.
“We've all got to adjust to a new way of working where more and more of our hours are scheduled on Zoom calls,” he said. “If you're not regularly talking to your development team and the individual contributors about how they are doing, how are they coping with the pandemic, then I think that that creates a dark place where negative sentiment can build.”
Pezaris said he also thinks it's important for managers to shift their perspective in how they evaluate productivity. “We should be careful not to make assumptions about people's shifts in behaviors because we are going all going through challenges that we wouldn't have had otherwise,” he said. “It comes back to making sure that you allocate the time to talk openly about those things, and we should all be open and flexible about personal situations.”
With remote work becoming more mainstream amidst the ongoing pandemic, many leaders are focusing on how employees are working longer hours due to the lack of separation between home and work life. Organizations need to take stock of the amount of time their developers are putting into their day-to-day work, as well as their overall availability, especially if they’re working on teams across multiple time zones.
“Long hours, especially hidden long hours, will erode their productivity, and this is a problem you can identify before tangible impacts are felt,” Dunn said. Previously reliable developers might begin to unexpectedly miss deadlines or misjudge development estimates.
“Developers can slip from time to time, but the beginnings of a pattern of issues is an indicator that you should reach out and address what’s happening,” he added. But having a one-on-one conversation can often help: “Come to them with an open mind and open ears. Make it clear that you’re there to make things better and want to fix current problems and eliminate barriers. Let them know that they can air their complaints without repercussions.”
Use Your Data
Finally, collect data from your development team and work with a smaller focus group to collate everything into actionable tasks. Developing a comfortable roadmap based on those tasks can help your developers potentially eliminate a lot of barriers and inefficiencies holding them back. Enlist developers in figuring out what might work best for the team overall.
“This may seem counterintuitive since it takes away a developer or two from their normal work, however, in the long run, it will have a positive impact on your whole team,” Dunn said. “As your developers see their own productivity increase and witness the fruit of their work, they will find satisfaction and happiness that can lead them to be even more productive.”