Pair Programming

Pair Programming

Парное программирование

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

Описано Кентом Беком в книге «Экстремальное программирование».

Один из лучших вариантов (но не единственный) — когда роли в команде разделены на

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

Навигатор видит, «едет» ли водитель в нужном направлении, а водитель сконцентрирован на реализации.

Это не значит, что в команде роли «намертво» закреплены за людьми. Лучше, если роли в паре меняются раз в 15–60 минут: смена ролей помогает каждому из команды освежить взгляд на задачу и код и предлагать лучшие решения.

Этапы работы над кодом

  1. Понимание проблемы.
  2. Обменяйтесь своим видением проблемы: Что происходит сейчас, как должно быть. Сверьте, какие моменты непонятны для одног или обоих партнёров — эти вопросы нужно обсудить с продакт-оунером до начала работы. Еще раз пройдитесь по всем пунктам и убедитесь, что у вас есть всё для начала работы.
  3. Поиск решения.
  4. Обсудите, какие потенциальные решения проблемы вы видите, какие у них есть преимущества и недостатки.
  5. Спланируйте реализацию пошагово.
  6. Выдерите порядок действий, который поможет вам получить готовый продукт. План лучше записать — так вы точно не забудете.
  7. Напишите код по этапам из п. 3
  8. Останавливайтесь для синхронного code review и обсуждений — там вы сможете сделать код более чистым и рабочим уже во время написания. Возможно, во время обсуждения вам придут новые идеи, как выполнить задачу более изящно.

Преимущества парного программирования

На разработку фичи при парном программировании тратится только на 15% больше времени, чем при одиночном. Но эти «потери» с избытком компенсируются за счет более высокого качества:  меньше времени нужно на отладку и дебаггинг.

Это НЕ парное программирование

  • Два человека работают за одним компьютером параллельно, ничего не обсуждая.
  • Два человека работают над одной проблемой параллельно.
  • Один из пары отвлекается на другие проблемы или на телефон.
  • Один из пары переходит в режим микроменеджмента.
  • Нет регулярного переключения между ролями «водителя» и «навигатора».

Подробнее о Continuous Integration

Wikipedia о парном программировании`

Другие статьи

Смотреть все

Отчуждаемый IT-контур: признаки

Читать

Trunk Based Development

Читать

Не будь самонадеянным

Читать

Ваша заявка отправлена успешно

Отправить снова

Базовый курс управления и построения IT-контура компании. Поток 05.09.23

Контакты

С вами свяжется модератор курса Алексей Клоков