В конце 2022 года мы начали экспериментировать с парным программированием.
Сначала всё выглядело идеально: задачи решаются быстрее, качество растёт, команда сплочённее. Первые месяцы подтверждали это. Мы общались больше, делились знаниями, учились друг у друга.
Но через полгода появились проблемы. Постоянная работа в парах выматывала. Люди начали избегать её на простых задачах, чтобы хоть немного передохнуть. Директор не понимал, почему два человека работают над одной задачей, а скорость не удваивается.
Пришлось пересмотреть подход.
Теперь мы используем парную работу только для сложных задач. Если нужно разобраться в чём-то нестандартном или глубоком, подключаются два человека. Парное программирование стало инструментом для особых случаев.
А потом пришла мысль: а что, если парное программирование — это только часть чего-то большего? Универсальный метод, который подходит для любых сложных задач: инженерных, бизнес или творческих. Для многих это, может быть, давно очевидно. Для меня — открытие. Если убрать специфический контекст, останется простая, но мощная идея…
Парная работа создаёт такие условия, которых невозможно добиться в одиночку. Люди обмениваются опытом, замечают ошибки, учатся прямо в процессе.
Когда человек работает один, он видит только свою часть задачи. Ему сложно учесть весь контекст или заметить слабые места. В паре один предлагает идею, другой сразу её проверяет. Вместе они быстрее находят лучшее решение.
Обсуждение задач вслух помогает выявить проблемы на раннем этапе. То, что кажется логичным в голове, не всегда выдерживает проверку диалогом. Проблемы всплывают раньше, чем становятся ошибками.
Парная работа помогает учиться. Знания передаются не через долгие инструкции, а прямо во время обсуждений. Это быстро, применимо здесь и сейчас, и результативно.
Кроме того, прокрастинация вдвоём почти невозможна. Стыд перед напарником не даст уйти в соцсети или отвлечься. Работа идёт быстрее и сосредоточеннее.
Но самое ценное — люди начинают лучше понимать друг друга. Парная работа создаёт неформальное пространство, где коллеги взаимодействуют без формальных тимбилдингов. Это укрепляет команду.
Парная работа — это способ глубже понять задачу, найти простое и правильное решение. Она делает процесс понятным, а результат — качественным.
1. Начни с себя, начни с малого
Не пытайтесь сразу внедрить парную работу во всей команде. Это создаст излишнее сопротивление и усложнит процесс.
Найдите одного человека, который готов попробовать. Например, я договорился с Дзимкой. Я предложил ему поработать вместе над новой задачей. Мы обсудили проблему, согласовали, кто что делает, и начали.
Так всё и закрутилось: задача была решена быстрее и с меньшими правками. Дзимке понравилось, и он с удовольствием согласился попробовать этот подход с другими ребятами.
2. Установи правила
Чтобы практика устаканилась, ей нужны регламенты, ориентиры и лучшие практики. Я решил, что нам нужен некий "Обязательный процесс разработки". Его идея была простой: дать новичкам чёткие шаги, чтобы они быстрее влились в работу. Конечно, он был "навязан" мной, а не выработан коллективно.
На бумаге процесс выглядел безупречно: всё продумано, всё учтено. Вот как он выглядел:
Взять задачу.
Найти пару.
Позвонить заказчику и описать разговор в тикете.
Позвонить экспертам и заинтересованным лицам. Экспертами по общим вопросам будут: CEO, COO, тимлид, директор по рискам.
Если в ходе обсуждения кому-то было непонятно или неизвестно хоть что-то о нашем продукте, коде, бизнесе — тот пишет заметку в документацию. Чем короче, тем лучше.
Написать тексты тест-кейсов прямо в комменты в жиру. Буквально:
Я как админ с такими-то правами захожу в админку в раздел такой-то.
Нажимаю (пока ещё не существующую) кнопку, на которой написано «Скачать отчёт».
Обновляется страница и появляется надпись «Отчёт успешно запланирован».
Написать надо основной положительный сценарий и пару сценариев, когда ожидается ошибка. Сильно не упарываться.
Конечно, процесс не стал "обязательным". Правила, спущенные "сверху", редко приживаются.
Я не настаивал на их соблюдении. Все знали, что они существуют. Я знал, что их не соблюдают. Все знали, что я знаю. И меня это устраивало. Даже немного радовало: команда умела игнорировать идиотские навязанные правила.
3. Возненавидь и отряхни от чепухи
Любая практика — это костыль. Мы решаем одну проблему, но порождаем кучу побочных эффектов, которые иногда оказываются хуже, чем сама проблема.
С парной работой произошло то же самое. Ребята начали уставать от долгих сессий. Они избегали работы в парах на задачах, которые казались им понятными. Наш CEO терял терпение, не понимая, зачем два разработчика делают одну и ту же работу, причём делают это не в два раза быстрее.
Мы пришли к выводу, что парная работа в своём первоначальном виде больше не подходит. Её нужно было ужать.
Теперь ребята зовут напарника только для больших или сложных задач. В остальных случаях — работают по одному. Парная работа стала инструментом для особых случаев, а не универсальным правилом. Главное — использовать её там, где она действительно приносит пользу.
Парная работа — это не только для программистов. Это способ решать задачи вместе, когда один человек может не заметить что-то важное, а другой это увидит.
Она полезна там, где нужно искать нестандартные решения или разбираться с чем-то сложным. Инженерные проекты, креативные задачи, даже обсуждение стратегии — парная работа помогает.
Попробуйте её в своём деле. Возможно, она станет удобным инструментом, который упростит сложное и сделает работу интереснее.