Initially Pair Programming was one of the practices of XP (Extreme Programming), but currently it finds it’s own place in the modern agile programming methodologies. The main advantage of Pair Programming is the quality of code developers produce using this technique. A bit less important is its option to protect a project from the low “Bus Factor”.
In our company we do not practice Pair Programming widely (in its initial meaning), but it is a usual thing when our senior or mid developer is sitting with a junior helping he/she to code and implement some complex features. Although we do not practice it permanently, we just do it occasionally and each developer in our company has his own working place with the individual workstation. And in order to increase the quality of our code we are using the GitHub flow within which we develop each feature in a separate branch with a pull-request and follow the code review. For some quite large and complex projects we set-up and configure the Continues Integration flow and also try to follow the BDD technique.