Collaborative programming in remote-first environment
vtorosyan.github.io
vtorosyan.github.io
So, what's the point of collaborative programming for someone who already knows how to manage their time (including focus time), keeps track of WiP and insists on writing down all the knowledge gleaned from the code during reviews?
Not that you need pair programming to get that kind of closed loop. But the closed feedback loop is essential in the long run.
I wonder how those experiments are going? The expected benefits do make sense, I wonder if there are any downsides (expected or experienced) at all? It's never all free lunch, and wondering about the two sides.
The calendar-based call-out to the team when one's ready for some collaboration is an interesting tool, and something I'm gonna try. I'd guess a cousin of the "focus time" calendar events when the activity is very similar (still coding), except preferring solo rather than collaborative.
While it’s a bit early to make right conclusions, we already have some learnings and outcomes. We do see increase in overall happiness and mood in the team, knowledge is shared more effectively and we started slowly to break silos. Another interesting side-effect seems to be that regardless people collaborate on particular problem or not, disagreements somehow got easier to resolve, as we understand each other better. Another interesting change is that we need less synch meetings.
So far the biggest challenge is respecting individuals preferences, as the more people collaborate together, the more it becomes implicit expectation, whereas not everyone wants to do it, or some days you want some others not. So making sure that we don’t get pulled to any extreme is very important. Time zone differences is another challenge, sometimes because energy level really differs and its hard to find the harmony working together.
We don't have problems with roles or scheduling or anything of the sort and we're 5 hours apart timezones as well
I wonder if I'm the outlier or if this article is bikeshedding about nonexistent problems
That said, I have seen it more not working than working. I think it depends a lot on the environment and conditions that people are working/operating, for example we are a relatively newly formed team (90% of the team joined within last 10-12 months), and we definitely see the outlined problems more, while we learn how it is to work together.