29
3.2. Парное программирование
Парное, или совместное, программирование является, наверно, самой
спорной практикой гибких технологий разработки программного
обеспечения, поэтому остановимся на этом вопросе подробнее. Парное
программирование – это процесс создания программного обеспечения двумя
программистами, работающими одновременно за одним компьютером,
оснащенным одной клавиатурой и одной мышью. На самом деле слово
«программирование» в данном
случае не очень удачно, так как
программирование – это лишь один процесс из множества других,
возникающих во время разработки программного обеспечения. Работая в
паре, разработчики осуществляют анализ, дизайн, тестирование,
кодирование, оптимизацию и рефакторинг кода. Когда используется термин
«программирование в паре», то имеется в виду все перечисленные процессы,
из которых лишь одно
– программирование.
Необходимо также отметить, чем не является парное
программирование:
• Парное программирование не предполагает, что один человек
работает, а второй на это смотрит. В каждой паре существует
две роли: первый партнер, который сидит за клавиатурой и
непосредственно программирует, а второй – следит за
направлением работы, помогает разобраться в сложных местах,
предлагает
альтернативное решение и исправляет ошибки. Таким
образом, обе роли являются активными.
• Парное программирование также не является сеансом обучения.
Конечно, иногда случается так, что пара программистов
существенно отличается с точки зрения опыта или понимания
предметной области. В этом случае первые сеансы
программирования в такой паре будут похожи на уроки: менее
опытный
партнер задает много вопросов и разрабатывает
относительно немного кода. Однако спустя относительно
небольшое время уровень программистов в паре выравнивается
настолько, что они начинают продуктивно работать на равных. В
результате чего увеличивается производительность и возрастает
удовлетворение, получаемое от сделанной работы.
• Парное программирование также не является средством от скуки.
Два разработчика
интенсивно работают над решением самых
актуальных задач. При этом их совокупный опыт и знания
гарантируют, что они выполняют свою работу максимально
эффективным образом.
Состав пар может и должен меняться динамически. Партнеры, которые
утром работали вместе, днем могут войти в состав других пар. При этом
необходимо учитывать следующее правило: нежелательно менять партнера
тогда, когда решение задачи, над которой работает пара, еще не завершено.
Заметим, что для того, чтобы привыкнуть работать в паре, требуется