Неожиданная вспышка коронавируса вынудила людей изменить свои привычки, оставаться дома, а компании – срочно перевести персонал в режим удаленной работы. По разным оценкам, на удаленную работу перешли от 30%, а в некоторых сегментах рынка и до 80% сотрудников. По данным портала «Работа.ру», в марте 2020 число вакансий с удаленной работой выросло в целом по России на 71%, в Москве – на 25%, а количество резюме на удаленную работу возросло на 220%. В апреле 2020 доля россиян, работающих в компаниях, полностью перешедших на удаленную работу, увеличилась с 3% до 14%.
К счастью, Auriga освоила удаленную работу задолго до того, как это стало насущной необходимостью. Участники наших распределенных команд работают в разных городах мира и при этом успешно сотрудничают между собой на протяжении многих лет. В первые месяцы пандемии наш эксперт поделился лайфхаками о том, как продуктивно работать из дома. В этой статье мы ответим на еще один непростой вопрос: возможно ли настроить эффективную удаленную работу с оборудованием?
В каких случаях мы работаем с оборудованием удаленно
Причины, по которым инженеры работают с оборудованием удаленно, варьируются от проекта к проекту. Наладить удаленный доступ к оборудованию может быть выгоднее, чем пересылать его к месту дислокации команды, если оно:
- нетранспортабельное (слишком громоздкое и тяжелое);
- дорогостоящее или уникальное, и заказчик не хочет им рисковать;
- существует в ограниченном количестве, недостаточном для обеспечения всей команды;
- должно постоянно модифицироваться на стороне заказчика;
- или когда это оборудование является частью более крупной системы, которую нецелесообразно разделять на составляющие.
Недавно европейский медицинский стартап поручил нам разработать систему визуализации высокотехнологичного катетера для малоинвазивных операций на сердце. На этом проекте мы работали с оборудованием удаленно, т.к. периодически необходимо было его тестирование и настройка в оптической лаборатории заказчика. Другой наш клиент, производитель полупроводниковых приборов, первым в мире создал устройство на новой архитектуре. Это было ультрановое оборудование, тестовых образцов было совсем мало, поэтому мы работали с ними дистанционно.
Выгоды удаленной работы для заказчиков в этих случаях достаточно весомы: не нужно пересылать оборудование через границы, рисковать безопасностью IP. Можно создать распределенную команду, которая будет работать с оборудованием независимо от местоположения и часовых поясов, и выбрать оптимальный вариант ценообразования, чтобы быстрее вывести продукт на рынок в рамках целевого бюджета. Казалось бы, одни плюсы. Однако, как это всегда бывает, есть и подводные камни. Чтобы действительно преуспеть, важно найти опытного и надежного партнера. Такой партнер должен не только разбираться в тонкостях работы с оборудованием, разработки и тестирования встроенных систем, но уметь наладить коммуникации (удаленная работа требует больше общения), необходимые процессы и процедуры, а также смягчить риски, если что-то пойдет не так.
Проблемы и их решения в работе с удаленным оборудованием
Может показаться, что основная проблема в работе с удаленным оборудованием – организовать доступ к нему. Однако, на практике это не совсем так. Настоящие сложности возникают, когда доступных единиц оборудования меньше, чем инженеров в команде. Независимо от того, удаленное это оборудование или локальное, время доступа придется делить с коллегами. Поэтому главная сложность в работе с удаленным оборудованием – это грамотное распределение доступа к ограниченному числу устройств. Решать эту проблему быстро и эффективно помогает опыт. За 30 лет в отрасли мы в Auriga научились планировать удаленный доступ еще на старте проекта. Мы всегда обсуждаем наш план с клиентом и приводим его в соответствие с необходимыми практиками и процедурами.
Другая проблема возникает, когда по какой-то причине важно видеть и слышать само устройство. В процессе разработки, тестирования и отладки программного обеспечения для уникального оборудования бывает необходимо знать, что написано на экране, какая лампочка загорелась, какой звук оно издает и какой громкости. А вдруг оборудование задымилось и вот-вот загорится? В таких случаях мы обычно используем веб-камеру или другие инструменты, чтобы наблюдать за устройством на расстоянии.
Когда проблемы с доступом и визуальным доступом к оборудованию решены, может возникнуть еще одна сложность. Иногда инженеру нужно физически воздействовать на устройство: нажимать кнопки, менять конфигурацию и т.п. Здесь вряд ли быстро найдется универсальное решение, но можно попробовать разные подходы. Можно собрать мини-систему с соленоидами, которые будут нажимать кнопки, или использовать готовые промышленные решения, например, от National Instruments. В крайнем случае, можно попросить дежурного коллегу из офиса подойти к оборудованию и произвести необходимые действия. Но «физические» тесты требуются очень редко и на начальном этапе ограничиваются необходимостью нажать кнопку перезагрузки или активировать реле. Подавляющее большинство задач выполняется удаленно.
Кроме того, эффективность удаленной работы может зависеть от скорости и надежности Интернет-канала. Если оборудование далеко, то скорее всего работать с ним будет не так удобно, как если бы оно было рядом. Это было большой проблемой 30 лет назад, когда скорость соединения была низкой, а нам приходилось удаленно отлаживать драйвера для операционной системы реального времени (но наши инженеры нашли решение и тогда). Сегодня Интернет работает на порядки быстрее и стабильнее, а в нашем распоряжении появилось много эффективных инструментов отладки. На самом деле, тестирование и отладка занимают лишь 10% рабочего времени инженера, остальные 90% – это мыслительная деятельность. Всю основную часть работы можно делать локально в batch режиме, поэтому скорость соединения не оказывает существенного влияния на результат.
Наконец, бывают случаи, когда простой веб-камеры или даже специального инструмента недостаточно для решения задачи. В этом случае проект выручают полнофункциональные эмуляторы. Эмуляторы – это техническая инвестиция, которая всегда оправдывает себя. Они значительно повышают возможности автотестирования, позволяя проигрывать сложные сценарии. На проектах, где разрабатывается «железо» и/или прошивка, помогают симуляторы. Симуляторы аппаратного обеспечения позволяют командам по разработке «железа» и прошивки работать параллельно. Это сокращает количество степпингов (итераций выпуска прототипов «железа») до выхода на рынок. Кроме того, симуляция позволяет интегрироваться c OS kernel и тестировать прошивку, прототипировать само «железо» и строить гибридные аппаратно-программные симуляторы. Это дает возможность включать в тестирование компоненты железа по мере их готовности до достижения MVP в команде, разрабатывающей «железо». Отличия симулятора от эмулятора доступно описаны в недавней статье на нашем блоге.
Конечно, нельзя однозначно сказать, чем определяется успех в работе с удаленным оборудованием. Все зависит от самого оборудования, а точнее, от того, как оно будет использоваться. Такие проекты требуют от инженеров гибкости и креативности. Так, в одном из наших медицинских проектов нам нужно было включать и выключать питание медицинского устройства, а также подключаться в его консоль. Первую проблему мы решили тем, что подключили эти устройства через Web Power Switch для удаленной перезагрузки. Чтобы попасть в консоль, мы воспользовались возможностями протокола SSH – настроили SSH-туннель через несколько промежуточных серверов. Весь нужный трафик можно завернуть в SSH-туннель и работать с оборудованием так, как будто оно подключено к локальной сети. «Физические» тесты составляли лишь 5% от общего числа тестов. Для их выполнения требовалась командировка к заказчику, но это случалось не чаще раза в год.
Елена Баранова, Директор по инжинирингу в Auriga, прокомментировала:
Пандемия короновируса повлекла за собой беспрецедентные изменения во всем мире, но я бы хотела заверить наших клиентов, что Auriga продолжает работать эффективно, открыто и качественно. Внедряя новые, надежные и безопасные инструменты и технологические решения для удаленной работы с оборудованием, мы создаем совместную среду, в которой клиенты и команды Auriga имеют доступ к одной и той же инфраструктуре и могут выполнять свои проектные задачи независимо от их физического местоположения.
Готовы обсудить ваш проект с нашими экспертами? Свяжитесь с нами!