Coronavirus forces switch to remote work for DevOps teams
The new coronavirus pandemic will force most DevOps teams to work remotely and may also interfere with work schedules. Experts share advice on how to weather the disruption.
As the new coronavirus disrupts communities and economies around the world, DevOps teams will need to adapt their practices to support remote work amid calls for social distancing.
The good news for DevOps teams is that even at companies where other employees have to report to an office, they are more likely to work remotely, or to have experience collaborating with offshore development teams in other parts of the world. Most IT management tools can be accessed through a web interface, especially those for public cloud.
"I don't know anyone who doesn't have remote access via VPN in the worst-case scenario," said Tom Petrocelli, analyst at Amalgam Insights. "However, the disasters people plan for aren't this disaster – they plan for one site or another to be down, but not, 'what if nobody can come in to work?'"
DevOps team disruptions inevitable with COVID-19
Among enterprise DevOps teams, there's a mixed outlook on the impact of social distancing and remote work. IT pros know they can fall back on IT automation tools that require little coordination and manual intervention to run critical systems. But many Agile and DevOps practices had been developed around daily or weekly team meetings in front of shared whiteboards, and organic conversations among co-located employees.
This article is part of
Guide to work-from-home tech, IT support during the pandemic
"A lot of things happen organically -- you may have a hallway conversation," said Gary McKay, director of Agile service delivery at Somos, a registry management vendor for telecommunications customers, based in East Brunswick, N.J. Somos' employees switched to remote work this week. "Most of our [development] targets that were in flight are still in flight, but there may be a little bit of a delay because we're not having the face-to-face coordination -- it's taking more conversation [to get done]."
Gary McKayDirector of Agile service delivery, Somos
Overall, remote work among enterprises had become relatively unpopular in recent years, as blue chips such as Yahoo and IBM famously called remote workforces back to co-located offices, and many other large companies followed suit.
"This is kind of the chickens coming home to roost," Petrocelli said. "Some companies eliminated remote work a few years ago and all adjusted to the idea of working in proximity to each other, and there will be disruptions in management."
Tips to cope with remote work for DevOps teams
Standardize on communication and collaboration tools. This should be the first task as DevOps teams switch to remote work, according to experts. Such tools should also be standardized at the "lowest common denominator" of individual access -- for example, if not everyone on the team can video conference, the entire team should use audio conferencing only.
"When people have a choice about which tools to use, that defeats the purpose of common collaboration tools and makes them ineffective," said Jeremy Pullen, principal technical consultant at Polodis, a digital transformation consulting firm in Atlanta. "Everyone has to be at the same standard. Even if you have half the team remote and half the team in the office, everyone should still be on a conference call together."
McKay's team at Somos has standardized on Slack chats, with telephone calls as needed, but will avoid email as a communications tool as much as possible while it works remotely.
"Things get lost in translation with email," he said. "It's easier to just pick up the phone."
Abandon individual specialization. This is an Agile development and DevOps best practice: The seminal DevOps book The Phoenix Project includes the cautionary tale of "Brent," an IT "hero" upon whom a fictional DevOps team becomes too dependent, which makes them less productive and resilient. Enterprises' embrace of this concept is about to face a harsh trial by coronavirus disruption.
DevOps teams working remotely should create a centralized work queue that anyone on the team can draw from when they're available. This will be especially crucial as employees care for children being kept home from school, tend to family members who may be ill or become ill themselves.
"Even though no one wants to go through this, I think we're actually going to become better, because it's going to force us to do some things we should've already been doing," said Carmen DeArdo, an independent DevOps consultant, as well as a senior value stream management strategist at Tasktop, a software lifecycle management company in Vancouver, B.C. "It will force us to get away from command and control meetings to more true collaboration and more of a work pool model."
Carmen DeArdo Independent DevOps consultant
Make work visible and measurable. To create shared work queues and maintain organized workflows, DevOps teams must be as diligent as possible about documenting and measuring work using tools such as Jira, Slack, Trello and IT ticketing systems.
"When you have everyone at a whiteboard, you can get lazy about updating Kanban cards and other systems," DeArdo said. But when teams are remote, "it's crucial that people be able to pull detailed information about an issue or work item," he added
Not only does this ensure consistency and eliminate duplication of work, but it maintains flexibility as team members' regular schedules may be in upheaval.
"It helps with people's anxiety not to have to choose between taking care of their kids, for example, or attend a meeting, because they can catch up with a recording or Slack channel history later," DeArdo said.
Making work product visible and measurable can also put a spotlight on employees who are less productive without close supervision if necessary, he added.
Focus on quality. While employees with fewer distractions in a remote environment may produce more work, the quality of that work can suffer, according to a recent report by global management consulting firm McKinsey & Company.
"Comparing project teams that were 40% versus 100% co-located, the percentage of bugs in the latter group was 50 percent smaller, suggesting that co-location may well improve quality," the report reads.
Thus, DevOps teams working remotely should put an extra emphasis on measurable, smaller work increments that are thoroughly tested using automated tools, experts advised.
"Distributed teams can deliver faster, but quality issues emerge when that distributed work is reintegrated," said Charles Betz, an analyst at Forrester. "Now is the time to double down on automated testing before things are put into production."
Don't micromanage people. Structure, routine and management coordination are typically key to employee productivity, but these are abnormal times, experts agreed. Micromanagement of DevOps team members at a time of widespread fear, disruption, uncertainty and shifting family responsibilities is a foolhardy pursuit.
"Focus more on results than activity," DeArdo said. "Focus on specific goals rather than whether people are 'doing' something and 'looking busy' -- if you're requiring every employee to be 'green on Slack' from 8 to 5, that's a sign you're already lost."
Do be prescriptive about which collaboration tools are used, but don't be prescriptive about how they are used. Encourage an attitude of experimentation among DevOps team members. Be prepared for some disruption as teams get used to remote workflows. Find ways to give employees recognition online that they might otherwise get in co-located offices on bulletin boards.
"Something as simple as a virtual appreciation wall can help morale and mental health," Betz said. "These are still important points of social interaction even when everyone's sitting in front of a screen."
Catch up on back-burner projects. A prolonged economic slowdown as a result of the coronavirus pandemic has already begun. Once existing DevOps backlogs are completed, teams may find themselves without as full a pipeline as they're used to.
That will be a good time to work on projects that are otherwise on the back burner, or "nice to have" ideas, experts said. Most DevOps teams have such long-term to-do lists that are often neglected, from finding new ways to automate and secure infrastructure to refining software delivery pipelines for greater efficiency.
"The whole damn economy is distracted right now -- nobody's going to be innovating," Betz said. "Now's the time to patch the roof, update your inventory and work on quality issues."