Па́рноепрограмми́рование — техника программирования, при которой исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом.
Один из них работает непосредственно с текстом программы, другой просматривает его работу и следит за общей картиной происходящего. При необходимости клавиатура свободно передается от одного к другому. В течение работы над проектом пары не фиксированы: рекомендуется их перемешивать, чтобы каждый программист в команде имел хорошее представление о всей системе. Таким образом, парное программирование усиливает взаимодействие внутри команды.
Достоинства:
· Повышение дисциплины. Программисты в паре чаще «делают то, что нужно» и реже устраивают длинные перерывы.
· Лучший код. Партнёры в паре менее склонны к неудачным решениям и производят более качественный код.
· Гибкий поток работы
· Высокий боевой дух
· Коллективное владение кодом. Коллективное владение (пары меняются) означает, что каждый несёт ответственность за весь код. Таким образом, каждый вправе вносить изменения в любой участок кода. Парное программирование поддерживает эту практику: работая в парах, все программисты получают доступ ко всем частям кода. Важное преимущество коллективного владения кодом заключается в том, что оно ускоряет процесс разработки, поскольку, при появлении ошибки, её может устранить любой программист.
· Наставничество. Каждый, даже начинающий программист, знает что-то, чего не знают другие. Парное программирование — безболезненный способ распространить эти знания.
· Командный дух.
· Меньше прерываний.
· Экономическая обоснованность.
· Высокое качество дизайна.
· Обратная связь.
· Непрерывность проверки кода. Ошибки обнаруживаются сразу же, как только появились, это позволяет экономить и время, и деньги. Команда разработчиков сплачивается, что позволяет закончить работу раньше и в лучшем качестве.
· Обучение. Программисты постоянно обмениваются знаниями.
Недостатки:
· Отсутствует возможность сосредоточиться. Непрерывно отвлекают.