Remote Ready with VMware Tanzu Labs

June 17, 2020 Darryl Snow

Image courtesy of Blush Design

Even before the COVID-19 outbreak began, VMware Tanzu Labs (formerly called Pivotal Labs) had for years been delivering great outcomes while working with fully remote and partially distributed teams. 

Just one example of such delivery was last year in Singapore. In 2019, we began a five-month product development engagement. Our client was a global technology enterprise, and our team was spread across multiple time zones, from India to the U.S. In this instance, circumstances led us to decide, along with our client, to begin the engagement remotely, an arrangement we felt confident about based on our past experience adapting to previous clients’ varying needs and situations. There was some initial apprehension around whether we would be sacrificing the strong relationships and short feedback loops that being co-located helps to foster, but the successful outcome from our day one kickoff gave our client the assurance they needed.

Our product development engagements begin with a discovery and framing exercise. This involves a set of extremely collaborative activities in which the team explores, ideates, discusses, prioritizes, and tests ways to deliver value against our business objectives as quickly as possible. 

We were aware that conducting these activities remotely would require additional planning for our team and orientation for our clients. So we spent time with our client stakeholders and partners beforehand to better understand their experience, share knowledge, and align on their goals and objectives. We also outlined and agreed on the kind of collaborative activities we would be conducting, namely:

  • Ideating 

  • Messaging and chatting

  • Pair programming

  • Scheduling and recording events

  • Conducting team retrospectives

  • Sharing documents

  • Managing the product backlog

  • Tracking team to-do items

  • Measuring progress

Remote collaboration tools

We decided to use Miro as our online whiteboard collaboration tool and Zoom for video conferencing and screen sharing. We set up a session with the client team to practice using the tools before the engagement started, and used it as an opportunity to get to know each other and build team rapport. 

We also created a collection of re-usable facilitation templates for the discovery and framing activities, which saved us time and enabled a smooth process from day one. While we would typically facilitate these activities on physical whiteboards in our office, conducting them on Miro conferred some notable advantages:

  • It gave us a single, easy-to-read repository of documentation, learnings, and decisions made.

  • It was easy to transfer or link directly to the content on the virtual whiteboard.

  • We had more virtual space than we would have had in our physical office.

  • We had access to handy additional tools like auto-alignment, timers, voting polls, and Kanban boards, all of which would have required extra work to set up and maintain offline.

  • Having everyone facing a screen and using the whiteboards at the same time helped to maintain a high level of engagement from all participants.

Remote collaboration techniques

Whether working together in person or remotely, we always work as a balanced team usually composed of engineers, designers, and product managers. This helps us to make decisions and ensure the product we’re building is feasible, desirable, and valuable. We also like to work in pairs, with a VMware Tanzu Labs practitioner working alongside a client team member all day, every day in order to transfer to them core product development skills and knowledge over the course of the engagement.

For this client engagement, we set up separate, persistent video conferencing rooms for each pair to work in. We also had a persistent team room for daily team activities such as stand-ups, stand-downs, and planning meetings. We often need to have quick, ad-hoc conversations, for example when designers need to consult engineers on the technical feasibility of something they’re working on. In these cases, we used Slack as a team messaging tool, a Slack message being equivalent to a virtual tap on the shoulder. Indeed, we’ve found that remote work requires a heightened sense of etiquette and politeness.

One of our core engineering practices is pair programming, where two engineers share a screen to write and review code in parallel. Pair programming lends itself quite well to remote working, and we’ve experimented in the past with several tools to facilitate shared screens, shared cursors, and code highlighting. Throughout this engagement, we used Microsoft’s Visual Studio Code as the development environment, which has a Live Share feature for remote pairing. But no matter which role we played on the team, we found ourselves thinking aloud more to better align with our respective pairs whenever we lacked visual cues.

Lessons learned 

Ultimately, we found that from day one we were able to maintain all of our agile practices remotely without sacrificing the deep connection and close collaboration we foster with our clients when working in person. The main challenges we faced were around:

  • Daily routines — Working from home, especially when in different time zones, requires some flexibility. We established working agreements and experimented with different routines to help everyone on the team stay productive.

  • Equipment and working environment — Poor audio quality affects everybody and exacerbates fatigue. So we purchased high-quality gaming headsets with directional microphones and urged our clients to do the same.

  • Network and machine latency— If screen sharing and video conferencing exert too much strain on the development machine or internet connection, it can be especially disruptive to engineers while pair programming. Sometimes ethernet cables are a good fallback, and there are tools that optimize for screen sharing.

Here is some other practical advice we have gathered to help product teams stay productive remotely:

  • Set a regular routine, and experiment with changes until you find what works best

  • Plan time for ways to socialize with each other, such as playing online games or taking coffee breaks

  • Set team working agreements and ground rules

  • Establish boundaries and transitions between home and work

  • See and be seen, hear and be heard—encourage video, use gallery view to see your team, and optimize your audio quality for the benefit of others

  • Learn which tools, equipment, and templates will save you time and make work easier; seek out pro tips for those tools

  • Create and share individual and team user manuals to build mutual empathy

  • Make an effort to be kinder, more inclusive, and genuinely expressive

  • Stay healthy and hydrated—don’t forget to rest your eyes and stretch your muscles

  • Don’t suffer in silence—use team retrospectives to discuss how to support each other, and keep each other engaged, energized, and included

The COVID-19 pandemic has brought with it a steep learning curve for everyone when it comes to adapting to remote work. One of the strengths of VMware Tanzu Labs is how we share knowledge and resources internally across the organization. We have access to learnings from remote practitioners with years of experience, and we have shared facilitation guides and templates across our internal teams to help us conduct all of our collaborative activities using the various different tools preferred by our clients. All of which ensures that we can make remote work—for everyone.

 
Previous
Maximizing Team Agility for a Post-COVID-19 Era
Maximizing Team Agility for a Post-COVID-19 Era

There are three critical areas of team agility that are changing due to this global pandemic: communication...

Next
May 14 - High Performance Remote Software Engineering
May 14 - High Performance Remote Software Engineering