Представьте, что вы пилот.
Вы отвечаете за общее направление самолета, а ваш второй пилот отвечает за навигацию и может давать советы по пути.
Время от времени ваш второй пилот ненадолго берет бразды правления в свои руки.
При парном программировании два разработчика сидят за одним столом или совместно используют экран, как это делают наши удаленно работающие разработчики.
Пилот пишет код (его часто называют «водителем»), а второй пилот («штурман») просматривает код по мере его написания.
Время от времени пара меняется ролями.
Недавнее исследование показало, что парное программирование улучшает качество дизайна, уменьшает дефекты, снижает кадровый риск, улучшает технические навыки, улучшает общение в команде и считается более приятным, чем индивидуальное программирование.
Наша небольшая команда разработчиков часто работает в паре, особенно при работе над сложными проектами, такими как запуск нового продукта.
Почему мы любим парное программирование в Cronofy
Учиться должен каждый
Обмен знаниями — важная часть саморазвития для каждого разработчика.
Когда мы обучаем новому навыку, это помогает укрепить наше понимание этого, одновременно помогая кому-то другому расти и приобретать новые знания. Это беспроигрышная ситуация.
Неважно, что мы делаем или насколько мы старше — всегда найдется кто-то, кто знает что-то, чего не знаем мы.
Быть в паре означает иметь возможность делиться знаниями, что позволяет компании и ее команде разработчиков быстрее расти вместе.
Качество кода лучше, ошибок меньше
Часто требуется несколько итераций кода, прежде чем он будет готов к запуску, что может легко превратить дневную работу в недельную.
Когда кто-то просматривает код в том виде, в котором он написан, потребность в таком количестве итераций уменьшается — вместо этого ошибки можно обнаружить по мере написания кода.
Выявление ошибок по мере продвижения дает каждому больше времени, чтобы сосредоточиться на создании новых функций, а не на исправлении старых. — Стивен, стригущий яков Кронофи.
Это означает, что специалистам по контролю качества остается меньше информации, меньше ошибок, которые нужно исправлять позже, и в целом меньше работы для всех.
Это снижает затраты на разработку и позволяет быстрее запускать новые продукты и функции.
Меньше вероятность блокировки программиста
У всех нас были моменты, когда мы смотрели на экран, не зная, что написать дальше, поэтому мы проверяем Facebook или делаем чашку чая.
При парном программировании меньше шансов застрять, потому что всегда есть кто-то, с кем можно решить проблему, когда вы упираетесь в стену.
С парным программированием всегда есть кто-то, с кем можно решить проблему, если вы застряли.
Если вы это сделаете, вы сможете обмениваться вопросами друг с другом и быстрее находить решение.
Это сбивает темп
Смотреть весь день на экран компьютера и писать код — как бы вам это ни нравилось — может стать одиноким и повторяющимся.
Ускорение темпа может подтолкнуть к новым идеям и остановить затягивание дня.
Потенциальные препятствия
Это работает не для всех и не для всех
Всегда будут случаи, когда работа в одиночку более эффективна, чем работа с кем-то еще.
Важно использовать парное программирование только тогда, когда оно того стоит, а не ради него.
Например, в Cronofy наши разработчики не объединяются в пары каждый день. Они делают это, когда хотят поделиться знаниями или поработать над новым продуктом.
Людям нужно личное пространство
Когда два человека сидят вместе перед ноутбуком или монитором в течение нескольких дней, все может стать уютнее.
Вы оба хотите видеть экран, но не хотите подходить слишком близко.
Вместо того, чтобы сгорбиться над одним и тем же ноутбуком, вы можете использовать внешний монитор, проецировать код на экран или делиться экраном.
Таким образом, вы оба можете видеть, что пишется, и ничего не становится слишком уютно. Вы даже можете подключить программу удаленно!
Руководство не всегда заинтересовано
Иногда самое большое препятствие, с которым вы сталкиваетесь, когда дело доходит до парного программирования, исходит от руководства.
Они не всегда понимают, почему это эффективнее, или, что еще хуже, не верят в код-ревью!
Когда вы сталкиваетесь с кем-то подобным, важно сообщить им факты.
Чем больше фактов об эффективности парного программирования вы им расскажете, тем больше у вас будет шансов их завоевать.
Эго может мешать
Парное программирование работает только в том случае, если вы оба можете сообщить, что вы чувствуете, и в каком направлении, по вашему мнению, должен развиваться ваш проект.
Если кто-то плохо общается или считает, что знает лучше всех, проект может провалиться еще до того, как вы начнете.
Если вы чувствуете, что работаете с кем-то, кто плохо общается, попросите его сформулировать свои идеи по-другому.
Продолжайте задавать вопросы, пока не почувствуете, что они предоставили вам детали, которые вам нужны.
Чем больше вопросов вы зададите, тем больше начнете понимать, откуда они берутся.
Если вы все еще можете спросить «Почему?» или «Как?» на их предложение, они не дали достаточно подробностей.
При парном программировании важно не позволять эго мешать.
Однако, когда один человек знает больше, чем другой, это может быть побочным эффектом.
При парном программировании важно не позволять эго мешать. Все должны быть на одной странице и иметь те же цели. — Стивен, стригущий яков Кронофи.
Если кто-то в паре считает, что их путь — лучший и единственный, попросите его объяснить, почему.
Попробуйте образумить их и объяснить им альтернативные точки зрения.
Если вы чувствуете, что это поможет, пригласите других членов команды, которые могут внести свой вклад в обсуждение.
Вывод
Как и в случае с Marmite, парное программирование подходит не всем.
Тем не менее, он становится все более распространенным в среде разработчиков из-за множества преимуществ, которые он дает.
Наличие кого-то, кто может предложить поддержку и с кем вы можете обсудить идеи, помогает предотвратить прокрастинацию.
Это также помогает выполнять работу быстрее и эффективнее, а кто этого не хочет?
Внедрили ли вы парное программирование в свою команду разработчиков? Что работает хорошо для вас, и что, по вашему мнению, можно было бы улучшить? Мы будем рады узнать, как вы себя чувствуете в Твиттере!
Призыв к действию
Как разработчик, вы, вероятно, уже работали над синхронизацией календаря.
Поскольку каждая служба календаря использует свой собственный API, все может очень быстро запутаться.
Cronofy Calendar API работает со всеми основными службами календаря и позволяет вам встраивать функции интеллектуального планирования в ваше программное обеспечение.
Создайте бесплатную тестовую учетную запись прямо сейчас для 20 пользователей!
Первоначально опубликовано на www.cronofy.com 13 июня 2017 г.
GIF-файлы предоставлены GIPHY.