The coronavirus pandemic has placed unprecedented challenges on IT organizations, and among those challenges is the difficulty of following DevOps methodologies when team members are working from home.
Today, most enterprises have implemented at least some DevOps practices. According to the 14th Annual State of Agile Report, sponsored by Digital.ai, 76% of organizations either already have a DevOps initiative underway or plan to start one within the next 12 months. In addition, 90% of those who took part in the survey said that a DevOps transformation was important to their company, with 43% saying it was very important.
Many experts say that DevOps is easiest to implement when team members are in close proximity to one another. For example, in Continuous Delivery and DevOps — A Quickstart Guide, Paul Swartout writes, "Not having a physical presence is always a barrier." Close collaboration is one of the defining characteristics of DevOps, and it just stands to reason that teams whose members are located close to each other will find it easier to collaborate.
Interestingly, however, survey data doesn't always bear out expert opinion in this regard. While some studies have found that remote teams struggle with DevOps, others have found that remote DevOps teams are actually more effective. For example, a couple years ago, the 2018 Global Developer Report from GitLab found that remote teams were more likely to say they had a well-established DevOps culture and had visibility into what others were working on.
Why the apparent contradictions in the survey data?
It seems that having a collocated team or a remote team isn't in itself likely to be the determining factor in why a particular DevOps initiative succeeds or fails. In other words, it is entirely possible to succeed with DevOps even if no one on your team is in the same building.
That's important for the current situation, because many DevOps team members are currently working from home. A Gallup poll found that 63% of people were working from home at one point during the pandemic, and during the last week of May, only 33% of people said that they had been to their place of work in the last 24 hours. Given the nature of their work, IT professionals are more likely than many other occupations to be at home during this time.
So, what should IT leaders be doing if they want their teams to succeed with DevOps while working remotely? The following slides offer 10 tips for managing your DevOps team while you work from home.
1. Take Advantage of Schedule Overlaps
For many DevOps teams, working from home means working at different times of the day. Some IT workers who are immigrants or who were in the United States on visas headed to other countries when the pandemic began and are now working from other time zones. Others are juggling childcare duties with their significant others and can only be available during certain hours of the day. And some teams may even have been forced to take intermittent unpaid furloughs as a result of the crisis.
The net result of all this upheaval means that DevOps team members may not be working at the same time. Experts recommend that leaders offer as much flexibility as possible while also making the most of the time when everyone is available. Try to schedule standups, meetings, and critical work during the hours when most people are on the clock.
2. Get the Right Tools
DevOps experts will tell you that there is no single set of DevOps tools that is right for every organization. But by the same token, you probably can't do DevOps well if you are relying solely on email for collaboration and spreadsheets for project management.
This might be a good time to evaluate your current toolset. Do your tools integrate well with other? Do they include good collaboration capabilities, or do they support your other collaboration tools? Does your team have good visibility into what their coworkers are doing? Do your tools offer an appropriate level of security for a remote workforce? And do they allow you to automate as much of your day-to-day work as you would like?
Buying DevOps tools won't turn you into a DevOps shop, but you do need some tools in order to implement DevOps successfully.
3. Rely on Automation
Automation is one of the hallmarks of DevOps practices, and it is more important than ever while people are working from home during the pandemic. At its core, automation allows people to accomplish more in less time. Use of an automation management tool like Chef, Ansible, Jenkins, Puppet, or others also makes automation scalable, allowing teams to replicate automation for similar tasks. When everyone is working remotely, both the productivity and scalability benefits become more important. Working from home often means that IT professionals need to devote a larger portion of their day on collaborating and communicating with their coworkers. Automation frees them up from some of the day-to-day busywork so that they can have that extra time, and an automation platform makes it easy for the team to replicate and maintain each other's work while working remotely.
When the members of a DevOps team sit near each other, lots of informal communication happens throughout the day. People overhear one another's discussions, and they can ask each other questions easily. But when everyone is remote, that informal communication goes away, and everyone needs to be much more deliberate about telling each other what is going on. That may take the form of multiple daily video conferences or team chat or even regular emails. The technology isn't as important as creating a culture where people regularly share their ideas and work together -- despite being located in different places. Some experts say that if you start to feel like you are communicating too much, you are probably doing almost enough.
5. Convey Expectations Clearly
One of the things that leaders should be overcommunicating to remote DevOps teams is their expectations for remote work. This can include basic things like the expected hours of work per day and acceptable dress code for video conferences, as well as the more important information, like policies, procedures, and assigned tasks. You also need to make sure your team understands the cultural shift required to implement a successful DevOps initiative, such as the need to communicate and work together as a team. And because the pandemic has resulted in so many stressful changes in people's lives, it's also a good idea to express support and understanding for your team, letting them know where you can be flexible and where you cannot.
6. Leave Time for Team Interaction
As mentioned in the earlier slide on automation, collaborating remotely often takes more time than collaborating face-to-face. Typing a message in your team chat and waiting for a reply sometimes seems like it takes forever. And even if you are using video conferencing, you have the inevitable technical difficulties involved in getting it all to function correctly. It's easy to get frustrated in these situations, but make sure your team understands that despite the hurdles involved in working together, collaboration is an integral part of DevOps culture, and it will pay off in the form of higher productivity, better quality, and less rework. Also, be careful that you don't assign them too many tasks. Sometimes staffers with a lot of work to accomplish will feel tempted to shortchange the amount of time they spend collaborating, which will be detrimental in the long run.
7. Promote a Culture of Transparency
People will do better work when they feel like their managers are being open and honest with them and when they feel like they understand what their colleagues are doing. If everyone can see what everyone else is working on, it helps avoid the problem of one person feeling like they are doing more than other people. And in a time of uncertainty -- like a pandemic -- your team will need to hear right away about any organizational decisions that might affect them. People can feel disconnected when working from home. It's up to you as a leader to make sure that they understand their role in the team and in the larger organization.
8. Document Everything
Documentation sometimes falls by the wayside when a team is focused on a particular project deadline, but remote teams can't afford to neglect this part of their job. As the pandemic has made all too clear, you never know when someone on the team will suddenly not be available for work. And if people haven't been documenting their work, you might spend hours just figuring out what's going on, plus more time for rework. In addition, documentation makes it easier for remote teams to communicate with each other even if everyone is showing up for work every day. Whether individuals on your team handle their own documentation or you have a technical writer or both, make sure you are documenting the work as it progresses.
9. Improve and Iterate
Iterating to improve over time is a core DevOps principle that you can also apply to remote working practices. Few organizations get remote work right the first time they try it. If you were suddenly thrust into remote work by the pandemic, you might have made a few mistakes in the beginning. Successful Agile and DevOps teams understand that it's all about the journey, not the destination. If a particular policy or practice didn't work out, eliminate it and try something else. In the same way that you continuously improve your code and your IT environment, you can continually improve your ability to work as a DevOps team.
An IBM survey found that 75% of people surveyed hoped to continue working from home at least part of the time after the crisis has ended. What you learn now about remote working could continue to benefit your team for a long time to come.
10. Keep Learning
In keeping with the previous thought on continuously improving your remote working skills, working from home is also an excellent time to continue improving your team's technical and DevOps skills. During the pandemic, many conferences that are usually sold out and/or very expensive have been available online for free or at a reduced cost. Some universities and online learning organizations have also added new online courses or made their existing courses more affordable. Encourage your team to use this time to take advantage of those opportunities. You could emerge from the time of crisis as a much stronger team than when the pandemic began.
Read more articles on DevOps:Cynthia Harvey is a freelance writer and editor based in the Detroit area. She has been covering the technology industry for more than fifteen years. View Full Bio