Пара стоит вдвое дороже по человеко-часам, и спор о ней всегда упирается в этот счёт. Возражение состоит в том, что часть работы, которую при одиночной разработке делают позже и отдельно, здесь уже включена: обзор кода, передача знаний, обсуждение решения.
Роли
- За клавиатурой: пишет код и проговаривает вслух, что делает.
- Штурман: держит в голове задачу целиком, замечает ошибки и предлагает следующий шаг.
Роли меняются по таймеру или после каждого пройденного теста. Пара, где один молча смотрит в телефон, пользы не приносит и портит репутацию практике.
Что показали измерения
Уильямс с соавторами получили около пятнадцати процентов роста трудозатрат при заметном снижении числа дефектов. Более поздние обзоры дали разброс: выигрыш зависит от сложности задачи и опыта участников. На простой работе пара почти не окупается, на сложной и незнакомой окупается быстро.
Разновидности
Пинг-понг: один пишет падающий тест, второй доводит код до зелёного, потом меняются. Работа за одним экраном командой из трёх и более человек относится к тому же семейству и применяется на самых запутанных участках.
- Сложный или незнакомый участок системы
- Ввод нового человека в проект
- Знание держится в одной голове, и это создаёт риск
- Критичный код: платежи, права доступа, расчёты
- Рутина, где решение очевидно с первой минуты
- Исследование, требующее долгого чтения документации в тишине
- Часовые пояса расходятся настолько, что общего окна почти нет
В команду приходит разработчик, и первые две недели он работает в паре с тем, кто писал модуль расчётов. К концу второй недели он вносит правки самостоятельно, а вопросов в чате становится меньше, потому что их задают вслух и сразу. Прежний срок адаптации в этой команде был около двух месяцев.
Ограничивайте сессию двумя-тремя часами. Парная работа плотнее одиночной и к концу дня перестаёт давать выигрыш. Заранее договоритесь, кто начинает за клавиатурой и когда меняетесь, иначе роль штурмана незаметно превращается в наблюдение. Если пара разбирала сложное решение, вынесите вывод в базу знаний: через месяц его будут выяснять заново.