Алекс

Введение

Недавно мы провели семинар по картированию пользовательских историй с семью участниками, а также с командой UVD, поэтому мы с Джеем предложили поработать из дома в течение двух дней, чтобы освободить место, а также не отвлекаться. Поскольку мы занимались парным программированием на Limpid Markets, мы хотели найти способ продолжить работу в те два дня, когда нас не было в офисе. Живя в разных концах Лондона, мы не могли встретиться, если только мы не оказывались где-то рядом с офисом, поэтому мы рассмотрели некоторые варианты удаленного парного программирования.

Мы рассмотрели несколько технологий, таких как Screenhero от Slack и плагин AtomPair, но они либо имели свою цену, либо требовали некоторой настройки. Поскольку мы оба используем MacBook Pro, мы решили использовать встроенное приложение для совместного использования экрана, которое позволяет одному пользователю быть хостом, а другому — удаленным, чтобы мы могли продолжать использовать инструменты, к которым мы привыкли.

Работа с демонстрацией экрана

Чтобы настроить общий доступ к экрану на Mac, пользователь хоста должен включить его. Вы можете сделать это, перейдя в «Системные настройки» > «Общий доступ», затем отметьте «Общий экран» и выберите «Все пользователи».

Как только это будет сделано, гостевой пользователь может открыть приложение «Общий экран». Вы можете легко найти это, открыв Spotlight (cmd + пробел) и выполнив поиск «Общий экран». При выборе этого открывается приложение, которое позволяет вам ввести имя хоста или Apple ID пользователя, к которому вы хотите подключиться. Просто введите их Apple ID (адрес электронной почты их учетной записи Apple) и подключитесь.

Мы обнаружили, что это был удивительно безболезненный процесс. Соединение было почти мгновенным, и плохих соединений почти не было, хотя мы оба использовали высокоскоростное волокно Virgin. Качество звука было хорошим, лучше, чем мы обычно получаем от услуг видеозвонков, а качество видео было превосходным, в основном это выглядело так, как будто я был на своем собственном компьютере, со случайными моментами нечеткости и небольшой задержкой.

Было лишь несколько незначительных недостатков; один из них — фиксированное разрешение экрана. 15-дюймовый экран ноутбука Джея был слишком мал для моего 13-дюймового экрана, но также имел большую рамку вокруг моего 24-дюймового монитора. Были также некоторые проблемы с управлением мышью. Жесты не работали, и клавиша управления полетом не работала на хосте, поэтому управлять несколькими рабочими столами было немного сложнее, чем обычно. Нам было проще использовать один рабочий стол и щелкать значки в доке или использовать прожектор для смены окон. Еще одна незначительная жалоба заключалась в том, что прокрутка мыши с помощью колеса почти остановилась, но ее было достаточно легко обойти, перетащив полосу прокрутки, а иногда и просто попросив Джея выполнить прокрутку.

Удаленное парное программирование

Плюсы

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

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

Минусы

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

У нас также было несколько вопросов к Эдди, нашему ведущему разработчику. Мы справились, задавая вопросы в Slack и показывая коммиты в BitBucket, но более сложные проблемы могли быть проблемой. Обычно он подходил к моему столу, и мы могли вместе решать более сложные задачи.

Наконец, у нас был запасной план на самый худший случай. Если бы у нас возникали технические проблемы, мы планировали, что я буду продолжать работу над Limpid Markets, а Джей добавит новую функцию в Botty McBotface, нашего полезного бота, который организует наши выходные, но, к счастью, нам не пришлось прибегать к тот.

Мы планируем сделать это снова в ближайшее время. Чтобы избежать некоторых проблем с совместным использованием экрана, мы попробуем использовать сочетание совместного использования экрана и AtomPair. Это не одна из наших основных IDE, но мы считаем, что преимущества стоят того, чтобы попробовать их в течение дня. Мы обновим этот пост в блоге, чтобы узнать, как мы справились.