Teleconferencing Is the Pair Programming of the Future
By: Sj Porter
Tags: Development, Programming, Agile Methodology, Teamwork, Agile

AGILE DEVELOPMENT

Teleconferencing Is the Pair Programming of the Future

Collaboration for developers has never been easier.

Coding via teleconference is similar to the situation above, but nobody has to shower!

My challenge to you…

If you’re a leading member of a development team that typically works separately, I triple-dog-dare you to:

Pick a task that you think will take two weeks for your development team to complete (working separately). Perhaps an upcoming backlog item. Invite your entire team to a call on MS Teams, Zoom, or whichever teleconferencing tool you use. Have them drop as many meetings as possible so that they’re free for all or most of the day. Start sharing your screen, talk about what you’re trying to do, and start coding while the rest of the team is watching. Start asking a few questions. Don’t force any structure on the process. Don’t stop coding. Work the entire day this way. (note: you may want to have the fastest typer do the screen-sharing/coding) Repeat the process for at least another 2–3 days that same week. ??? Profit.

Why?

Well, screen-sharing over a teleconference is essentially pair programming without having to crowd around a single computer. There’s a number of additional advantages as well:

Your team can work from anywhere in the world. This is particularly important now, of all times, due to the COVID-19 pandemic.

Instead of being limited to a “pair”, you can have N developers (or even non-developers) contributing on the call.

Anyone on the call who isn’t coding/screen-sharing can help by googling any issues that arise or pulling up documentation. They could also use their own machine to work on a related task while staying on the call.

A long session with voice and video promotes team engagement and eliminates delays in communication.

Developers can mute, take a break, etc. without disrupting the rest of the team.

Developers can swap between which screen is being shared.

Modern teleconferencing tools like MS Teams let developers take control of each others’ computers.

Developers have connected the world together in real-time. It’s time to use those same tools to accomplish great things together from anywhere in the world.

My personal experience

Whether I realized it or not, I’ve been doing this for about 2 years now. I have a small team, and we screen-share via teleconference almost every single work day at some point. Often times we screen-share for most of the day. It’s not a special event to work this way; it’s just how we collaborate. I can’t believe what we’ve been able to figure out as a small, cohesive group vs. what each of us would’ve been able to figure out individually in the same timeframe. I’ve used this same practice a few times with people outside of the team to great success as well.

The combined knowledge of a development team is immense, and (in my opinion) it’s a shame if that knowledge is fragmented rather than working towards the same goal.

Something that one developer forgets might be something that another developer remembers. There’s minimal lag between a question being asked and the question being answered. After the call finishes, every developer knows exactly what happened and what work is remaining on the task or project.

Try it out and see for yourself.