Posted on

Effective Distributed Collaborative Work

Everyone’s talking about remote or distributed work these days. Here’s another opinion, for what it’s worth.

Steve Glaveski describes Matt Mullenweg’s concept of five levels of distributed work in a March 29 article on Medium. You can read it for yourself. In fact, you should do so, as I’m not going to summarize it. The rest of this article assumes you’re familiar with it.

Just now I’d like to make an observation about Level 4, Asynchronous Communication, and the implications for software development teams in particular.

On the path from dealing with distributed work in an ad hoc way (Level 1, Non-Deliberate Action) toward the goal state (Level 5, Nirvana), “where your distributed team works better than any in-person team ever could,” the ability for individuals to work effectively without constantly interrupting each other is consistently equated with “better.” As people build skills in doing this, and the organizational culture adapts to it, performance improves.

That’s probably true for many kinds of office work, but not for all kinds.

Software development is an area of work that benefits greatly from collaboration. Granted, there are different forms of collaboration. It’s fair to say when one person asks a colleague a question and receives an answer, that’s a form of collaboration. It’s fair to say when an infrastructure team creates a test environment to support a testing team, that’s a form of collaboration. It’s fair to say when analysts, programmers, testers, and stakeholders meet to discuss customer needs and potential solutions, that’s a form of collaboration. But it’s not a sufficient level of collaboration to deliver customer value effectively and sustainably.

What I’m thinking of is direct collaboration among team members (the broader “team”) most of the time during the day, with cross-team collaboration occurring as needed and on a planned basis. Individual work and asynchronous communication are used when necessary, but not as the preferred approach.

The surprising thing (almost a jarring thing, for a software developer) is that Matt’s company, Automattic, is a software and services organization. They support WordPress, Tumbler, WooCommerce, and a long list of other familiar and widely-used products. If you’re reading this on my site, neopragma.com, then you’re using WordPress and WooCommerce right now.

Yet they believe the WordPress plugin P2 is a viable substitute for in-person osmotic communication. They believe “nirvana” is an operational mode in which distributed individuals deliver value more effectively than collocated teams “ever could.”

I’m going to assert it’s axiomatic (for software development, anyway) a distributed team can never achieve the same level of effective value delivery as a collocated team. Having said that, I’m going to turn around and defend the Automattic model on a different basis, and suggest a tweak to support effective software delivery.

Machines and Humans

In all the articles, blog posts, tweets, emails, newsletters, videos, and podcasts I’ve consumed recently on the subject of “newly-remote workers during the pandemic,” the sole focus has been on the mechanical efficiency of the work. When people have written or spoken about the human toll of unexpected and unsupported remote work, it has been in the context of the effect on mechanical efficiency.

Indeed, before the pandemic most material about various ways of working have tended to focus exclusively (or at least primarily) on maximizing “productivity.”

In my view, our organizations exist to serve us; we don’t exist to serve them. I’ve pontificated about–um, that is, commented on–this before.

Jon Miller, a recognized expert on the Toyota Production System and a Japanese-English translator, clarifies in a piece on the Gemba Academy blog that the catch-phrase, 人間性尊重, loses something in its typical English translation, “respect for humanity.” It has the deeper implication of “holding precious what it is to be human.”

When we sacrifice ourselves on the altar of mechanical efficiency by seeking to maximize productivity (merely: output over input for a given time interval), we lose “what it is to be human.”

For all the terrible human costs of the pandemic, the situation is providing us with an opportunity to reconsider our manic drive to grind up the planet and convert it into pollution and garbage. We’re seeing it’s possible to live in a reasonably comfortable way on a sustainable basis, just by dialing back the activity a bit. With fewer mills milling and fewer trucks trucking, there’s less pollution.

An April 4 article in the Hindustan Times reports that people living in Jalandhar, Punjab, are able to see the Dhauladhar mountain range in Himachal Pradesh, over 200 kilometers away, for the first time in 30 years. The reason is reduced air pollution. Images of reduced levels of airborne nitrogen dioxide in China, resulting from reduced industrial activity during the pandemic, have been repeated by many news outlets. There are numerous reports of wild animals re-entering areas where humans have limited their excursions from home, and of fish repopulating areas that had been fished out. These things are happening over very short time scales.

The lesson: It isn’t necessary to grind up the planet in pursuit of never-ending “growth” in order to have a successful and sustainable economy. It’s a deliberate choice.

I suggest this choice is an artifact of contemporary culture. In the 1936 movie version of H.G. Wells’ Things to Come, the bright vision of the post-war future was all about grinding up the world and turning everything into shiny metal structures. Toward the end of the film, one of the characters says (in effect), “See that mountain over there? We’re gonna grind it up and make shiny things!” There was no place for nature in that happy place.

We tend to think the same way today. “Progress” and “success” and “value” are all seen in the light of Industrial Era values. Machine values; not human ones.

Even our self-perception of value as humans is calculated in the coin of “productivity,” as if we were merely machines on an assembly line. People who have been forced to work from home worry, deeply and sincerely and to their emotional detriment, that their “productivity” may drop by a few percentage points.

And these are people who work in companies (service industries, not manufacturing) where an analysis of process cycle efficiency would show over 98% of the time spent in the office is wasted. What makes them so sure what they were doing before the work-from-home mandate was so wonderful? What “productivity” are they trying to preserve? Is it worth the human cost to do so? Would the company really suffer if “productivity” dropped a bit, especially if “waste” were simultaneously reduced by applying Lean thinking and Systems thinking?

We can maintain the same economic strength and standard of living without burning ourselves out. We might even achieve a higher standard of living, measured in the currency of satisfaction and happiness instead of productivity.

Mindset shift

You might be thinking, sure, Dave, that all sounds nice. Wouldn’t it be pretty? But what about the Real World®?

As I write this, there’s talk of implementing a guaranteed basic income program in Canada. Twitter is alight with comments for and against. One person worries that Canadians will stop working and lower their expectations to align with the guaranteed minimum income. Demand for high-quality products will decline in favor of cheap products “from Walmart and China.” They wonder how a Canadian could possibly live on $2,000 a month.

It reminded me of an article I read recently about software developers in Lagos, Nigeria. Apparently, a software developer there earns about $2,700 annually, before taxes. Not monthly, annually. Housing costs about $2,000 annually. Standard practice by landlords is to require a year’s rent up front in cash. They’re doing the same work as their colleagues in Canada and the US. How can they live on that salary?

For a less extreme comparison, consider Europe. I’m living and working in both Italy and the US just now, and I’m pulling a European salary. I can tell you Europeans earn far less than Americans, and they suffer a bigger bite from taxes and fees. They do enjoy a superior healthcare system, but when it comes to over-the-counter medications the shoe is on the other foot – a bottle of 200 ibuprofen pills in the US costs the same as a blister-pack of 2 pills in Italy; a box of 10 lidocaine patches in the US costs 1/3 what a package of 2 costs in Italy. And yet, Europeans have All the Things – nice clothes, new cars, big televisions, the latest cell phones, etc. They go to concerts, eat at restaurants, and travel for vacations.

How can we live on $2,000 a month? Rather than lamenting the numbers (which are, after all, just numbers), we should be thinking about how to live the way we want to live on the sustainable economy that we can build.

Think of all the people who have found ways to make personal protective equipment and ventilators out of houshold objects, office supplies, 3D printed parts, and needle and thread. Supplies that normally cost hundreds of dollars can be made for pennies. An emergency was required to draw out people’s creativity and determination, but once drawn out those qualities yielded great results.

The lesson from the pandemic is that we can make the things we need at lower cost than we are accustomed to doing. We’ve gotten into some pretty inefficient and wasteful habits over the years. We can change that, if we choose.

Best of both worlds?

Getting back to distributed software development work, let’s consider whether we want to replicate the same practices and procedures we used at the office when we’re working in a distributed setup. I suggest we do not.

Clearly, distributed work lends itself nicely to the attitude of “don’t interrupt me, I’m busy” and “I’ll get around to replying when I get around to it.” But that isn’t how software is built and delivered, with any real attention to customer needs or product quality.

Level 5, Nirvana, is not that your distributed team works better than a collocated team ever could. Nirvana is partly that your distributed team pays attention to the things that make collocated teams effective. Nirvana is also partly that we set our expectations realistically; distributed individuals will never be more effective–or even as effective–as collocated teams.

But that is not the point. To worry about that is to elevate machine values over human values. Let’s try being human for a change.

So, what’s all the fuss about collocated teams, anyway? We hear this from our “agile” friends all the time. Why can’t distributed teams work better than collocated teams?

One of the software development processes that inspired the authors of the Agile Manifesto is Extreme Programming (XP). According to one of the originators of XP, Agile Manifesto author Ron Jeffries, “[a]ll the contributors to an XP project sit together, members of one team.”

The value comes from the collaboration, not from “sitting together” as such. When I go to the cinema I’m “sitting together” with lots of people, but we don’t produce anything. To the extent it’s possible to collaborate effectively in a distributed setup, we can achieve results approaching those that are possible in a collocated setup.

There are aspects of collocation that can’t be replicated remotely, and there are benefits of distributed work that aren’t present when we’re collocated. This is not new information, although the pandemic has brought it back into active discussion.

With all that in mind, my tweak to the Automattic model of distributed work is to increase the focus on genuine, close collaboration. Take whatever steps are feasible to enable such collaboration in a distributed setup. For software development work in particular, don’t assume distributed individuals, working solo and communicating only or primarily asynchronously will ever approach the effectiveness of a cohesive, cross-functional, collaborative team that is physically collocated. Set that expectation from the beginning and let it ride, unless you think you can make the sun rise in the west just by wishing it.

Once you’ve come to grips with that reality, then reconsider your values. When you rate human values above machine values, you won’t be bothered too much by a slight drop in “productivity” with distributed work. It wouldn’t surprise me if effectiveness went up, even as productivity dropped, because of the positive effects of treating humans as humans.

But what about work-life balance?

One issue people have with working from home is that it blurs the distinction between work time and personal time. It’s a valid concern, and it doesn’t happen automatically. It requires self-discipline.

If you work in an office, you’ve already cultivated the self-discipline to do the following things:

  • Wake up at a certain time every day.
  • Clean yourself up and get dressed.
  • Have breakfast.
  • Go to the office.
  • Work (and occasionally deal with a personal issue).
  • Leave the office at the appropriate time.
  • Live (and occasionally deal with a work-related issue).

Here’s how that list changes when you’re working from home:

  • Wake up at a certain time every day.
  • Clean yourself up and get dressed.
  • Have breakfast.
  • Go to the office.
  • Work (and occasionally deal with a personal issue).
  • Leave the office at the appropriate time.
  • Live (and occasionally deal with a work-related issue).

The main difference is what your “office” looks like in the physical world. My home office in Italy is a small table in the living room with space for a single laptop, and a very uncomfortable chair. My home office in the US is a spare bedroom with a door, two desks, several computers and other work-related equipment. Your home office might be anything in between those extremes. Whatever it looks like and however it must fit into the available space in your home, it’s “the office.” It’s the place you go when it’s time to work, and it’s the place you leave when it’s time to go home.

Kids? Pets? Other distractions? Yes, of course. And at the company’s office: Sudden meetings, ad hoc questions, production issues, fire drills, other distractions. You already know how to deal with those things.

But it’s not the same! I don’t want work intruding into my home! Of course you don’t. And you never pause to talk about sports or politics at the office, or Google for those new shoes you’ve been wanting, for the same reason: you don’t want your personal life intruding into your work. (Yeah, right.)

You already manage your work-life balance. The only difference with distributed work is the physical location of “the office.”