Думаю большинство разработчиков программного обеспечения согласится со мной, что парное программирование намного эффективнее программирования в одиночку. Но исследование литературы по методологиям разработки программного обеспечения привело меня к выводу, что понятие парного программирования немного неоднозначное. В литературе выделяют как минимум 2 подхода:

  • Разработчик без клавиатуры полностью погружен в код, так же как и разработчик, пишущий его
  • Разработчик без клавиатуры занимается анализом архитектурных решений и анализом решаемой проблемы

Лично я рассматриваю парное программирование как воплощение первого подхода. Разработчики обмениваются опытом, выполняется двойной контроль кода, сообща решаются архитектурные вопросы.

Но второй подход также имеет право на жизнь. В то время, как один программист пишет код, второй обдумывает архитектурные решения, анализирует написанный ранее код, проводя в нем поиск узких мест, дает указания разработчику, занимающемуся кодированием.

Первый подход является затратным по времени, но в результате получается более качественный продукт. Второй же подход можно использовать для задач, требующих быстрого решения.