After a COVID-induced kumbaya moment, not all is harmonious between employers and employees at big tech companies. You see it in the headlines: “The CEOs drawing a hard line on return-to-office policies” or “TikTok rankles employees with RTO tracking tools.” Or just visit r/programming.
Twenty years ago, an Extreme Programming (XP) team at work looked like this: a group of people in a common space, separated from other teams, but sitting together. Communication swirled, verbally, non-verbally, and on the walls. Astute observers might say that sitting together physically was part of the fabric of XP.
A pandemic later, XP teams are more likely to work remotely than sit together. So what changes about XP when working remotely? Does it even still work?
Extreme Programming is a deliberately social style of software development. Even those not comfortable socializing generally can participate because the social interactions are designed for safety and productivity.
Sitting together in a common space encourages productive serendipity.
Working remotely doesn’t block communication so much as it blocks communication getting started. Once you’re pairing you’re pairing. Once you’re chiming in you’re chiming in. Once you’re talking to a customer you’re talking to a customer.
Remote XP teams replace those serendipitous moments of discovery with scheduled time. So while an XP team sitting together views regularly scheduled meetings as a symptom of lack of communication better solved some other way than a meeting, remote teams deliberately schedule time. For example:
(Subject to local conditions and lessons learned, of course.)
XP rests on a foundation of shared values:
Those values don’t change with physical location. You will see them expressed differently in a team sitting together versus a team working remotely, but geography is irrelevant.
The next layer of XP is a set of principles for turning the values into action. Some of these principles are:
Again, these principles don’t change with geography. We always explore together, using uncertain means to reach an uncertain end. The principles of doing so effectively don’t change much when we change where we sit.
That said, some principles require greater emphasis when working remotely: flow for example. Larger batches of work might seem attractive because the cost of initiating interactions is higher. “Oh, just integrate once a day.”
But moving away from flow is a mistake. Flow acknowledges that we don’t just divide and conquer; we divide, conquer, and integrate. That integration step is expensive and unpredictable. Working remotely tends to leave more problems lurking, not fewer. Shrinking batches is thus more valuable when working remotely.
XP is XP, sitting together or remote. Old geezer me, if I had to choose, I would still sit together with my team. I love the juice. The coming together. The separation at the end of a hard, productive week. The building buzz on Sunday night.
But that’s me. Many factors make remote collaboration attractive. It’s part of our world now. The conflicting constraints on software development remain—and staying true to value and principles helps teams respond effectively to those constraints.
No ultimatums needed.
Dan Podsedly, my colleague at Mechanical Orchard, will grab the baton in a few weeks, to talk about concrete, simple ways we’re adapting XP to a remote world.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere. uis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.
Delete