It feels great.
After walking my daughter to school, I tend to log on around 9. Perhaps chat to a few people, maybe a quick code review or take a fresh look at yesterdays work in progress, before we all join the virtual standup around 9:25. 5 minutes for sharing stories about the night before, then down to business. I share a screen and we work through the board. Anything new on the backlog? What's getting discussed in 3-Amigos? And then down the coding column. If the story is ready to pull, we discuss what should happen to it next (QA, UAT or straight to Done) and if it's in progress we talk about how it's going, others might make a quick suggestion or agree to talk later. And then it's the QA column. Our QA Manager starts and all sorts of people get involved here, we might have people from support helping or our multi-talented development manager. Everyone cares about quality.
It's 9:45, there might be something to demo or our CTO or one of our process consultants might have something to share or discuss, if not we're done and it's time for coffee. Some of us go for herbal tea, builders tea or one guy has a bean-to-cup expresso machine. Nespresso machines are popular but lately I've been experimenting with the Japanese pour over technique. A quick lap of the garden to get warmed up and I'm ready for some pairing.
Yep, since we went remote, pairing has become really popular. No sharing body odour with your colleague, we just share our screens with a headset on. We learn from each other and challenge each other. We keep each other honest and out of rabbit holes. When things get tricky we grab another pair for a quick swarm. There is banter, it's fun and there is a strong commitment to quality. We continually question our practices and listen to each others' frustrations. "Are we really creating something that is really needed or just getting those stories across the board?"
We may be separated by hundreds of miles but everyone is usually equally accessible. If I want to chat to the CEO I do exactly the same as I do with anyone else in the company. A quick message "gotasec?" and we are talking, if they are in another call they might pull me into their call, or message me back when they are free. We try to keep our conversations focused without losing the social element of work life.
There are no closed office doors. We share a common purpose and we know we can't do it alone. Our collaboration is deliberate and promiscuous. We code, undisturbed by office distractions. We don't waste our time on a commute or hiding in a cubicle. Our focus is on delivering great software not climbing hierarchies. We have more time with our friends and families, time to write books and run meetup groups. Collaborative Remote Software Development makes the office feel redundant.