For about year I was in a team of two people. We always said that we were doing Software Teaming but we had to have a think about why would say that and not that we did Pair Programming. We were only a pair after all?

The difference comes down to how you think about the work that the team does: is it programming or system development? In pair programming, you sit down with the code and program. You can use different techniques, such as ping pong or strong style, but in the end, you’ll be focused on the code.

Software teaming, on the other hand, encompases all the activities required to go from an idea to production and well into support and maintainance. It can involve answering Slack messages from the team account rather than individual accounts, going to meetings together, updating secrets in GCP, preparing a demo, etc…

This is one of the reasons that live code sharing within a code editor such as LiveShare in Visual Studio Code isn’t enough when doing Software Teaming. The code editor is only a small part of every day work. You need to share a computer in order to able to make good progress.

Doing Software Teaming is not so much about the number of participants, but rather the mindset of collaborating on all work that is done in the team.