Abruptly WFH: 11 Things Changed and 8 Things Stayed The Same
Abruptly WFH: 11 Things Changed and 8 Things Stayed The Same
Since working won't be the same for a while, this team has taken a hard look at how the new work-from-home reality is affecting their processes.
Join the DZone community and get the full member experience.Join For Free
Work-life balance is taking on a new meaning for many. The dev team at LinearB is no exception now that we’re abruptly working from home.
My team works out of our Tel-Aviv office. There are 10 of us here. Recently, we decided to prepare for our team to operate remotely for an extended period. To do this, we decided to run a remote “test day.” What we didn’t know at the time is that the remote prep day ended up becoming the first day of the new “normal” way for our team to work.
Editor’s note: Over the last week, we’ve really gotten tired of saying “in the new world” or “since the coronavirus-induced change” or “now that we’re all remote” so our shorthand is just to say “PCV”, for Post-COVID-19.” You’ll see PCV used throughout the article.
The main purpose of the remote prep day was to assess how successfully our team could run while not in the office including:
- Understand the impact on our release process
- Be responsive to our external customers and internal teams
- Support our team to work productively PCV
- Determine if our meetings are the right length and frequency
- Maintain our high level of communication and camaraderie
How Will Our Release Process Work?
Our team has always worked in the office. In normal times, we all work in an open office environment, with desks all in the same area. If there’s a question, the answer usually lies within 10 feet. Given this, running through our first release while 100% remote was a great test of our process.
Test: Can We Access the Systems We Need to Release PCV?
For our systems, we use the cloud-based versions of Jira and GitHub, so we were able to access those systems as if we were in the office, without a VPN or additional login steps. The same goes for our AWS instance.
When we release, we post the Jira ticket containing all the JIRA stories and artifact tags we’d like to push, the links to the PR in GitHub, and any notes in our Slack channel to keep everyone updated. This is especially important when working remotely so that everyone can see that the release has happened.
Test: Will Our Current Process Adapt?
Our current release process:
- Automated CI tests run
- Release the feature to dev environment and developers manually test it
- Run E2E automated tests
- If it passes ALL tests, invite product management to review
- Cycles of changes based on PM review
- Merge all pull requests related to the new feature after our CI checks pass as well
- Our CD will push it automatically to the staging environment
- Test against our live data (we use LinearB internally, too)
- Ask PM for final approval
- Push to production
We have a dedicated Slack channel to update the team on the status of our releases.
Overall, we thought that the process wouldn’t need a lot of updating and after having completed our first release with a fully remote team, we validated that. During our first release, the team completed each of the steps and the release went out as expected.
Test: How Will PR Reviews Work Now that We’re Remote?
The review process was found to be the biggest sticking point. Steps needing review from other devs or our PM had to be more explicit and we needed to allow for additional time. As a dev, you can’t ask the person sitting next to you to just take a look at something PCV.
What Stayed the Same?
- Our systems and how we accessed them.
- Our release process, the steps we take as a team to push new releases.
- Once reviews are complete, our actual time to release stayed consistent.
- The way we conduct PR reviews. It’s no longer sufficient PCV to ask the dev sitting next to you to look at something and shoot them a link in Slack. We need to be more regimented about reviews and going forward we are scheduling review meetings.
- Our cycle time jumped. A big reason was that our pickup time for reviews jumped. I think this is mainly due to being remote. We can’t just tap someone on the shoulder and ask for their time. Also, if a reviewer has a question, we can’t answer it verbally without a Slack call or Google Hangout.
Can We Continue to Deliver Exceptional Customer Service?
We have some awesome customers and pride ourselves on how we support them. A big component of this question was answered by our release process (see above). With the release question answered, we can be sure that updates, hotfixes, etc can get to customers without interruptions.
So, our focus here was more on our internal process and how we can efficiently route issues and respond PCV.
Test: Will Our Current Issue Ticket Routing Process Work PCV?
Current ticket routing process
What I discovered during our remote day is that our (potentially) over-engineered review process is now set up perfectly for remote work. We have a fairly rigid documented process for responding to customer support tickets. All tickets are taken in by customer success, before they get to us. We create a Jira ticket, validate there is an issue, and then decide how/when we can respond. In general, communication back to the customer routes through customer success so we can ensure a consistent voice.
What Stayed the Same?
Our process overall held up. Because our front line customer service are mostly not in the same office, we had already built our process around this. They continued to field customer issues and quickly pass onto us with a Jira ticket.
Is it weird to say nothing? Our process will remain in place. One thing I did learn was that when it comes to processes and documentation, there’s no such thing as over-engineered. With a relatively small team, it would have been easy to operate on a more as-needed basis, but I’m glad we’re not building this process while dealing with the transition to remote work.
Can Our Team Be Productive?
Ensuring productivity was a big unknown. I needed to make sure the team was set up well to continue to hit our commitments, and then I needed to understand when it was appropriate for me to step in and unblock a team member.
Test: How Would Our Team Adjust to A Remote Work Environment?
Most of our team is married with kids. With schools closed and kids home, and spouses also needing to work from home, this is a big challenge. Some on the team have a room, closet, or other space with a door that they can close off. This is ideal. For others, being out in the open is a necessity. The bottom line is that I needed to trust my team to find an environment that works for them. This includes being flexible with working times and being available to help them think through how to deal with a workplace that suddenly included spouses and kids.
Test: Does Our Team Have the Right Equipment to Work Remotely?
I had a fear about equipment for my team. Specifically, many generally leave their power cords in the office but take their laptop home in the normal course of things. In the office, we also have 2nd monitors, good chairs, etc to make sure they are comfortable and productive. We worked with our team and had conversations about getting any needed equipment. A good set of headphones is a must. This is also been the main topic of conversations on my 1 on 1 meetings. Some team members were able to order desks and chairs, and others even rearranged some things in their house to clear out a space to work.
Test: How Will I Know When I Need to Step in And Unblock My Team to Keep Us Delivering?
For me, this was a challenge. In the office, it’s easy to understand when someone is blocked, and it’s easy for them to get unblocked. We communicate our commitments in our morning daily and follow up with them in the new afternoon sync meeting. We had a situation this week where three team members were working together on a new feature and made some pretty aggressive commitments. To be honest, I was skeptical they would hit their commitments, especially given that they were splitting the work between the 3 of them and then bringing it together at the end. On the daily sync I was prepared to hear them say they needed to push, but instead, they told me it was done and working in our dev environment.
What Stayed the Same?
Communication continues to be of utmost importance. On our team, we have a rule: If you get stuck, tell someone as soon as possible. It doesn’t have to be your team lead or manager, etc. Just tell anyone. We are all here to support each other. This rule still applies PCV, maybe now more than ever.
- We use LinearB to help us identify bottlenecks. We call it LinearB on LinearB. Even though we sit in the same place usually, LinearB helps me get additional visibility into the whole team without doing the “walk-around”. It is even more useful now that the walk-around isn’t a feasible option.
The team view lets me see which teams are overloaded and how I can distribute work.
We found the need to add a second daily “sync” meeting in the afternoon.
We definitely needed to adjust for environment. I learned to use environmental disruptions to my advantage. During meetings, we used kid interruptions as team-building opportunities that brought some lightness into our conversation. We would pause (when appropriate) to talk to the kid who walked into the shot. It helped our team to understand it wasn’t a huge issue or something to be embarrassed about and helped the families to feel more comfortable with the situation.
Unfortunately, though not unexpectedly, our productivity took a hit PCV. This started before we all had to go remote. You can see below where our current iteration and the one before had productivity dips. This was happening as our team was preparing to go remote, schools were getting canceled, etc. Not unexpected. This also impacted our cycle time. My job now is to get the team re-focused and to quickly regain our superb delivery cadence.
How Will Our Meetings Work PCV?
In addition to release procedures, our team has a number of regular meetings and a way of operating. We have a daily standup, weekly retro meeting, sprint planning, etc. On our remote day, we had 2 meetings to run remote, our daily and weekly.
Test: Will Google Hangout Support Our Meetings? Do We All Have Adequate Internet Connectivity?
PCV, our meetings are now all web meetings. We use Google Hangouts, which has been known to be buggy at times. For us, GHO worked great. I quickly got used to the view that our US team tells me is called the Brady Bunch view. Audio and video worked great.
Published at DZone with permission of Ariel Illouz . See the original article here.
Opinions expressed by DZone contributors are their own.