Pair Programming π―ββοΈ
The secret skill of high-performing engineering teams
There are well-known engineering practices everyone respects, and then there are secrets.
Things that radically change the way you work, provide strong benefits to your team, yet few companies adopt.
Secrets are often hidden in plain sight. They just look unappealing and uncomfortable until you discover their power.
One of such secrets was remote work. For more than a decade, remote engineering has been a prerogative of open source communities and a handful of visionary companies. Then, the pandemic brought it front and center and shifted the conversation completely.
I argue there is another massive secret in engineering today, and that is pair programming.
Pair programming is the practice of making two people work on the same code, at the same time. If they work in an office, they literally sit side by side. If they work from home, they share their screen and do it remotely.
Pair programming, just like remote work, is counterintuitive. Even more so, it looks bad to all stakeholders:
πΌ To managers, it feels like a waste β it's two devs working on the same code, when they could be doing two separate things.
π¨ To developers, it feels uncomfortable β social interaction is draining. And what about the sacred state of flow?
Nevertheless, there exist very successful companies who pair regularly, or most of the time, or even all the time. In some cases, they have been doing so for decades, and they loudly advocate the case for it.
This article is my best attempt to demystify this practice and tell you everything you should know about it:
ποΈ Why you should pair program β a wide range of benefits that include code quality, productivity, and overall team happiness.
π How to pair program β a detailed process to do it right, standing on the shoulders of teams who have been doing it for decades.
βοΈΒ When you should pair program β let's see if these benefits apply to all kinds of tasks and situations.
πΊοΈ How to plan for it β how pairing changes management and general planning, how to get stakeholders' buy-in, and everything that's beyond programming itself.
π» Remote pair programming β pairing is especially effective with remote work. Let's find out why and what are the best tools to support it.
πΒ More articles to deep dive β case studies, tutorials and scientific research from an all-star cast that includes Alistair Cockburn, Laurie Williams, Martin Fowler, Eduardo Ferro, and more.
Let's dive in π


