The Science of Asynchronous Collaboration

In The Science of Asynchronous Collaboration, CEO and Co-founder of Quod AI Herve Roussel shares his thoughts on the practices to enable effective remote collaboration among engineering teams.

Quod AI
September 10, 2020
in
Webinar
The Science of Asynchronous Collaboration

The Science of Asynchronous Collaboration

As the world emerges from the lockdown, organisations are rethinking their approach to the future of work. Social distancing measures have demonstrated the importance of a company’s dev team to operate with flexibility, but made the challenges of virtual collaboration among engineers even more glaring. 

In The Science of Asynchronous Collaboration, CEO and Co-founder of Quod AI Herve Roussel shares his thoughts on the practices to enable effective remote collaboration among engineering teams.

This talk was presented during the Effective Engineering Collaboration in the Age of Remote Working webinar, hosted jointly by Quod AI and SGInnovate on 1 July, 2020.

 

Key Takeaways

  • Real-time collaboration limits engineering productivity as it allows low quality communication to interrupt developers’ productivity. 
  • Conversely, asynchronous collaboration can plug those gaps - but require thoughtful written communication.
  • To get the most out of asynchronous collaboration, we need to shock, personalize, contextualize, and focus in our communication.

 

Table of Contents

Slack + Zoom = Remote solved… Right?

The Limitations of Real-time Collaboration

How to communicate thoughtfully

Optimizing the cognitive learning path

Watch the full recording of the talk

 

Slack + Zoom = Remote solved… Right?

With so many tools on the market made for collaborative working, remote collaboration seems easy enough. Just get the team to use Slack and Zoom, and voilà! Remote synchronous communication settled, right?

Well, the engineering leaders of some of the top tech companies would disagree. 

In the words of Jason Fried, Co-Founder and President at Basecamp:

“Group chat is like an all-day meeting with random participants and no agenda.”

As quoted from The Remote Manifesto by Sid Sijbrandij, Co-Founder & CEO GitLab:

Don't take someone from their work (if you don't have to).”

And as a study by Microsoft reports:

“Disruptions fragment developers’ workdays, allowing them to only spend little time focused on their coding tasks (...) This increases frustration and tensions in the team.”

 

The Limitations of Real-time Collaboration

Engineers prioritise having control over their day. For productive work to happen, there should be minimal interruptions

“By lowering the barrier to initiate communication, the hidden side effect is that Slack has the quiet capacity to exponentially increase communication overhead. Resulting in much more voluminous, lower quality communication.” 

Alicia Liu, VP of Engineering at Nava PBC

 

Stress, interruptions and inefficiency

Real-time communication through messaging apps tend to result in greater stress, frequent interruptions, and higher inefficiency. Low quality communication slips through too easily, and it is immensely difficult to disconnect.

Synchronous

Asynchronous 

❌ Constant interruptions & context switches  

❌ Knee jerk responses  

❌ Information scatter  

✅ Deep work 

✅ High quality responses 

✅ Recorded answers

 

For effective engineering collaboration, we need thoughtful, written communication.

Here’s the problem: developers are terrible at written communication. In fact, the number 1 pet peeve among developers, at 74.5% according to HackerRank’s 2019 Developer Skills Report, was badly written documentation.

If documentationthat is prepared communicationis bad, just imagine how much worse communication is, when it is not prepared for! That is why real-time, synchronous collaboration faces limitations.

But asynchronous collaboration is not easy.

After all, as we emphasize again, asynchronous collaboration still requires thoughtful, written communication.

 

High cognitive load would likely translate to slow learning and poor code quality.”

Dr. Mikhail Filippov, Chief Scientist at Quod AI

 

How to communicate thoughtfully 

When communicating something to someone, you are essentially setting up a learning path in their brain. Thus, you should aim to maximise germane load and reduce extraneous load in order to communicate thoughtfully and effectively.

 

The 4 pitfalls of developer communication (and how to overcome them)

❌ Unclear problem

We’ve all had conversations which made us wonder, where is this going? This problem comes from not knowing what is actually relevant - as a result, we dump a load of information on the people we are speaking to.

To communicate thoughtfully, we want to go straight to the point and, essentially, aim to shock. Ask yourself, “Why does the person I’m speaking to need to care about (the problem)?”

So instead of spending too much time on unnecessary information ("So you remember how last month, we enabled the logs because there were some slow queries? Logs are now overflowing the disk…”), engage the end-goal and state the problem from the first sentence ("The database is down."). 

❌ Non-adaptive path

Communication, especially between teams, can be confusing. We need to personalize our communication. Ask a lot of questions to the person you are communicating with, to better understand what their current understanding of the problem is - that way, you can quickly grasp where the boundaries of their cognitive map is, and fill them in quickly.

❌ Lack of context

Most of us would have experienced the situation where we receive an email or a Slack message stating, “It’s not working” - completely missing in context. It is important to ensure that you contextualise - for instance, when coding, make sure to use comments. With comments, the context is already attached automatically! And if it’s a message on Slack, include the links - to your JIRA tickets, issues, or Confluence pages.

❌ Distractions

During large group meetings, it is easy to get sidetracked even if there is a goal in mind - there is a lot of information irrelevant to the main conversation, or not necessarily relevant to everyone attending the meeting. 

In those situations, remember to focus and take control of the conversation. Break apart the side conversations to another wiki page or github issue, or simply postpone it to another meeting.

 

Optimizing the cognitive learning path

In summary, to get the most out of asynchronous collaboration, you need to pay attention to how you deliver new information. You want to:

🤯Shock 

📛Personalize

📍Contextualize

🧘‍♀️Focus


 

Watch the full recording of the talk

This talk was presented during the Effective Engineering Collaboration in the Age of Remote Working webinar, hosted jointly by Quod AI and SGInnovate on 1 July, 2020.

Featured posts

The Science of Asynchronous Collaboration

The Science of Asynchronous Collaboration

In The Science of Asynchronous Collaboration, CEO and Co-founder of Quod AI Herve Roussel shares his thoughts on the practices to enable effective remote collaboration among engineering teams.
Quod AI
September 10, 2020
The Key to Enhancing the Developer Experience

The Key to Enhancing the Developer Experience

Nowadays, customer experiences are frequently mediated through digital channels. At the root of the digital experience is software. However, in the process of building and delivering products catered towards providing the digital experience, some things are neglected--including the developers behind much of the software development work.
Quod AI
July 22, 2020
How to Foster Better Remote Engineering Collaboration

How to Foster Better Remote Engineering Collaboration

It’s easy for software engineers to code, build, and deploy remotely. But it’s much harder for software engineers to brainstorm and collaborate remotely. What has been the impact of remote on engineering collaboration? And what can engineering leaders do to empower their engineers to be more effective with remote collaboration?
Quod AI
July 15, 2020