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

Те, кто предпочитает избегать этого подхода, говорят о том, что он замедляет работу, особенно в парах разработчиков с разным уровнем опыта. Они также говорят о снижении концентрации и трудностях работы на одном компьютере из-за разных подходов к работе у участников.

Есть несколько способов применения парного программирования

У ПП нет единого подхода для всех способов ведения дел, однако есть способы, упрощающие его реализацию.

Использование явного стиля ПП, такого как Navigator, Driver или Ping Pong, помогает поддерживать порядок и структурированность сессий.

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

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

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

Telegram-канал по теме
NOP::HumorИТ-юмор и мемы о боли разработчиков
Подписаться

Благодаря частым перерывам при использованием такой техники, как Pomodoro (выделение определенного количества времени для работы, после которого следует короткий перерыв), можно не только отдохнуть, но и повысить концентрацию.

Только парное программирование при выполнении «сложных» задач может привести к их упрощению.

Парное программирование требует наличия этикета

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

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

При проживании с соседом по комнате требуются такие нормы этикета, как уборка за собой и своевременная оплата аренды, и у ПП есть аналогичные требования:

  • Члены пары должны выполнять работу с комфортной для обоих участников скоростью. Это означает, что действия одной половины пары должны сопровождаться объяснениями и пониманием со стороны другой половины.
  • Время, проведенной с мышью и клавиатурой, должно быть разделено поровну между участниками.
  • Необходимость сохранять спокойствие.
  • Эмпатия и вера в то, что коллега делает все возможное, используя свои навыки и опыт по максимуму.
  • Открытость по отношению не только к собственным идеям, но и к идеям коллеги.
  • Желание веселиться и обучаться.

Парное программирование — это нелегко

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

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

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

Даже такие детали, как другие привязки клавиш на компьютере и другие инструменты у напарника, могут полностью разрушить привычную зону комфорта разработчика.

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

Иными словами, переход к такому режиму работы будет непростым.

Преимущества парного программирования хорошо документированы и неоспоримы. Его недостатки гораздо менее задокументированы, однако не менее важны.

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

Читайте также:


Перевод статьи Tylor Borgeson: What they don’t say about Pair Programming

Мы в Telegram — подписывайтесь
NOP::Nuances of ProgrammingСтатьи и переводы для разработчиков — каждый день
Подписаться
NOP::HumorИТ-юмор и мемы о боли разработчиков
Подписаться
NOP::Recruiter RemoteУдалённые ИТ-вакансии с вилками
Подписаться
Предыдущая статьяR - язык для статистической обработки данных. Часть 2/3
Следующая статьяДекораторы в JavaScript