Why can't this happen online?
Why can't this happen online?
Can it happen online? Probably. But proximity vastly decreases friction and increases the chances of success. Even between offices with enterprise-grade fibre and high-end videoconferencing-integrated conference rooms, telepresence isn't that good yet. There's no substitute for unscheduled hallway conversations and impromptu whiteboarding. These things might be unnecessary distractions if your job is to churn out code that fulfills well-defined specifications, but if you're doing something new and innovative and not fully understood yet, or something complex enough to require deep interactions with your coworkers (beyond task assignment and status updates), they are a major boon.
Yes. It works if you agree that "local" doesn't exist anymore. If one person is remote, everybody is "remote". As long as that's the agreed medium, many issues go away - it actually gets better sometimes, because that private water-cooler conversation which would be interesting to other parties is sometimes available for copy-paste.
It's fairly controversial, especially among engineers. Not all engineers, but a sizable percentage of engineers are not comfortable in social collaboration - especially forced social collaboration stretching over multiple hours for difficult tasks.
As far as 'easier' goes, 'easier' isn't always 'better'. While that online collaboration across a slack channel may have higher friction, it would also have many benefits as well. Other people can follow the entire process, so continuous status updates aren't required. The chat can be stored so if the issue happens again, it's easy to reference back to what was done.
> But it's entirely unsurprising to me that innovation is more likely to come from collocated teams.
I don't think this is proven anywhere, and may be one of those things where you think it is correct, but it really isn't. Fully integrated remote work as we have today is a very new phenomenon and there hasn't been much research into it. Further, many quick growing startups that are looking very promising are taking the 'remote first' approach and seem to be benefiting from it from an outsider's perspective.
There's some upper limit on what you can accomplish as a sequestered lone-wolf genius. I don't deny that people with such working styles have made impressive contributions, but the bar for "innovation" is rapidly climbing and will soon surpass what anyone can do in isolation. That's a pretty normal thing to happen as a field matures.
The detached, contractor-like model where you only need to communicate to receive well-defined tasks and deliver well-defined output has substantial benefits for fulfilling many business needs. If I worked on a software assembly line, there would be no need for communication outside the ticketing system. But when you're doing something new, not yet understood, and bigger than one person, you're going to need to talk about it. (Obviously you can still do that with phone/videoconferencing, but the friction it imposes on conversation is real).
I don't think this part is up for debate. It's more about how that social collaboration is handled in the best manner for everyone involved that would be up for debate.
Just because social collaboration is needed, doesn't mean everyone has to go out for drinks together or live together in a small apartment. That part is obvious, right? But just because social collaboration is needed doesn't mean people have to be together in the same physical space either.
I don't know if this is substantive but I think that's the argument.
Even when everyone is local, I have found the best communication occurs when forcing everyone to pretend they are remote. So many times person A talks to B and they make some incorrect decision or assumption that person C would have been able to head off if they were involved.
Having the same conversation in group chat or group email does two things. First, it lets others engage if they need to without being actively interrupted. In my example above person C could have stepped in when noticing the conversation in group chat.
Second, the conversation is now perfectly documented. "What was that decision we made 2 weeks ago? Oh yeah, it's in chat/email." I also find that writing really makes people think. Bezos is famous for forcing people to write their ideas down in memos before meetings[1].
The missing person scenario above can be worked around if everyone is in the same office, but people hate sharing open spaces today. It also does not solve the documentation issue.
[1] http://www.qcommservices.com/blog/jeff-bezos-writing-memo-im...
It's been my experience across three different jobs and many more teams that these problems all get much worse when developers are no longer collocated.
And I know there's always someone like yourself popping up in the comments saying that it can work well, but I've never personally experienced this.
I've worked on very remote-friendly teams, the tendency to work in isolation was a constant problem. But properly using tools like email/slack/wikies was sufficient once we addressed the cultural aspect.
Among higher level folks that don’t code or design or other technical work perhaps it’s more important for the ad hoc communication styles.
Maybe it’s even just rate of communication though? I type easily over 100 wpm and my typing is probably faster than I can talk. But when typing it’s synchronous versus conversations are streamed protocols with chances for interruption and such to reclarify meaning that is much slower when you have to buffer everything first in one payload and wait for ack. Maybe someone that’s studied communication can actually give some concrete data on my hunch?
The average rate of speech for English speakers is 150 wpm: http://www.ncvs.org/ncvs/tutorials/voiceprod/tutorial/qualit...
My code (central library six products used to interchange data) was good because I saw it reflected in the experiences of my coworkers.
To experience that I had to train people to interact with me when they got stuck. I needed to be absent one day a week so that I had an opportunity to do something about what I learned. To execute the plan I had built up all week. Almost half of the code I wrote all week was done on fridays. But it was often the most useful.
I saw an interesting quote recently: “Alone we go faster but together we get farther”.
Open office is the complete disaster result of an unholy alliance of management trying to skate by on the cheap and agile consultants pimping their latest slogans.
Even without open office, there is so much chit-chat, gossip, politics, posturing (how about a meeting to discuss the upcoming meeting), and other crap that gets swept under the rug as collaboration.
Don't forget that certain personality types just can't handle working from home or in a quiet environment. They'll just go bonkers, so they run around telling everybody else that you can't be creative and collaborate without chatting someone up in the urinal next to you.
The top comment spin is so humorous that you would almost think it's a troll, but probably not.
Time zones and work schedule discrepancies are a bigger hindrance for remote teams in my experience.
When you don’t have that luxury, it takes so much longer to get patches upstreamed precisely because the design controversies have to be hammered out in asynchronous text. Even then, it’s often down to a benevolent dictator for the project or the topic area to approve or deny, there’s nothing like the genuine collaboration of two employees in the same building working towards consensus.
What many projects don't discover until too late is that the practices that let you work effectively across ∆x are the same ones you need to work effectively across ∆t, and no airline can fly the new hires to last year's face-to-face.
For instance, after my second cup of coffee I'm ready to really start cranking through some ideas, troubleshooting, solutioning, etc. But my colleague in New York has just finished a big lunch and is settling in to spend the rest of his afternoon focusing on the problem he researched that morning. He is understandably annoyed at having to deal with my caffeine fueled mania.
1. extremely well defined problem domains
2. incrementalism
For lots of engineers, those 2 points describe their job. Lots of (incremental) value is created that way.
But I'd argue that the larger gains accrue to those companies -- or those cities -- where work is being done in non-well-defined problem domains. And not incrementally, but by big leaps, experiments, and messy failures.
In fact, you could go farther and argue that in a competitive landscape, companies will quickly match each other in their performance in well-defined problem spaces, and the only way to actually compete at the margins is in problem areas that are, by definition, newer and not well defined.
I don't even know we're I could find people with commitment to such ideas anymore. Maybe some private slack instances, or diving into one of the distributed Twitter replacements?
I'm not saying these were placed where invocation actually happened, but I know they were a jump start place for many people. It's hard to have meaningful, small, dedicated communities online these days. Anything good gets popular and anything too popular gets bad in the end.
Most people working on a FOSS project are passionate about it. People working traditional, physically centralised jobs do it because they need money.