Что такое асинхронная работа

что такое асинхронная работа

Периодически мы стремимся оптимизировать подходы к организации рабочих процессов и общения. Чтобы решать задачи эффективнее, можно попробовать работать асинхронно.

Мы перевели статью Remote о том, что такое асинхронная работа и как применять такой подход.


Асинхронная работа — это способ организовать порядок выполнения задач в соответствии с собственным расписанием. При таком подходе общение не должно быть мгновенным, а членам команды не обязательно быть в сети в одно время. Если настроить процессы правильно, такой подход может уменьшить нагрузку и позволит работать автономно.

В чем разница между асинхронной и синхронной работой?

При синхронной работе прогресс привязан к общению в режиме «здесь и сейчас». Если кто-то недоступен из-за разницы во времени или выходных, работа над проектом приостанавливается. Асинхронная работа не требует такого общения. Задачи распределены между сотрудниками так, чтобы они могли работать автономно.

Синхронное планирование работы:

  • Сотрудникам нужно быть на связи «здесь и сейчас»;
  • Частые встречи, даже если коллеги работают в разных часовых поясах;
  • Проект не двигается, если все участники не вступили в коммуникацию одновременно;
  • Чаще встречается в компаниях, где сотрудники работают в офисе.

Асинхронное планирование работы:

  • Не требует частой синхронной коммуникации между сотрудниками;
  • Благодаря делению на подзадачи, сотрудники могут работать автономно;
  • Опирается на документацию и прозрачность процессов;
  • Подход эффективен на удаленке, где сотрудники могут работать по гибкому графику.

Как управлять асинхронными рабочими процессами

Асинхронная работа опирается на три основных принципа: деление на подзадачи, коммуникацию и действие.

Деление на подзадачи

От того, как распределены задачи между членами команды, зависят производительность сотрудников и результаты. Важно планировать работу так, чтобы не терять время и другие ресурсы зря.

Синхронное планирование работы

Это типичное планирование, когда объёмные задачи выполняются друг за другом разными сотрудниками. Само по себе такое планирование не страшно, но в таком случае система будет работать так же медленно, как и ее самый медленный элемент. Любая задержка будет мешать всему процессу работы, потому что каждый этап полностью зависит от предыдущего.

Асинхронная работа планирование работы

Это пайплайн разработки ПО, в котором участвуют три программиста. Они работают синхронно и выполняют задачи поочерёдно. Чтобы развернуть функцию, нужно выполнить задачи A, B и C. Учитывая то, как эти задачи были запланированы и распределены, потребуется девять рабочих часов до первого деплоя.

Синхронное планирование подходит для простых задач. Но в других случаях оно тормозит работу, и развёртывать функции часто и регулярно с таким подходом не получится.

Асинхронное планирование работы

Оно основано на максимально возможном делении задач на более мелкие и частом выпуске минимально жизнеспособных изменений (MVC). Такой подход основан на гипотезе о том, что частое выполнение небольших задач позволяет оценить результат и быстро реагировать на негативные отзывы.

Из-за меньшего размера задач у сотрудников получается делать больше за меньшее количество времени. Это, в свою очередь, позволяет более точно контролировать распределение ресурсов.

асинхронная работа деление на подзадачи планирование работы

В новом примере благодаря делению задач (A, B, C) на более мелкие (A1, A2, A3, B1 и т.д.), получилось добиться в 3 раза больше развёртываний, чем в предыдущем. Через 9 часов команда выпустит то же количество функций. Но из-за асинхронного планирования можно оценить, как работает каждый элемент функции, отменить изменения и пересмотреть последующие шаги. Такой подход в 3 раза сокращает время на итерации.

Асинхронное планирование позволяет делить задачи на подзадачи и комбинировать их таким образом, чтобы быстро получать результаты.

Коммуникация

Настроенные процессы коммуникации — залог успеха любой системы.

Есть много видов общения: письма, сообщения, звонки, видеозвонки или даже предложение пойти выпить кофе. Каждый из них по-разному влияет на производительность. Правильный выбор вида коммуникации так же важен для рабочих процессов, как и выполнение задач.

Что такое синхронная коммуникация?

Мы более склонны к синхронному общению, потому что в какой-то степени оно проще и удобнее.

Обычно для разговора требуется как минимум два человека. Активный разговор может принимать разные формы:

  • встречи,
  • звонки,
  • общение на кофе-брейке или за обедом,
  • переписки в мессенджерах и ожидание немедленного ответа.

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

Встречи — это самый дорогой инструмент компаний, поэтому важно использовать его правильно.

В следующем примере два разработчика работают над отдельными задачами. Для деплоя им нужно сделать набор таких задач (A, B):

асинхронная работа

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

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

Если говорить об эффективности такого пайплайна, он определенно был неравномерным и далеко не быстрым.

Что такое асинхронная коммуникация?

Она обеспечивает автономность сотрудников. Задачи и результаты работы при таком подходе не зависят от общения «здесь и сейчас».

В основе асинхронной коммуникации лежат:

  • продуманная документация,
  • письменные инструкции,
  • предпочтение письменного общения,
  • уважение к занятости коллег.

В следующем примере, как и в предыдущем, два разработчика работают над комплексом задач, но прибегают к асинхронному общению.

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

В чем преимущества асинхронной работы?

Люди не очень хорошо переходят из состояния полной концентрации на задаче А к полной концентрации на задаче B без потерь (как показано на следующем рисунке). Например, если вас прервать во время чтения, вам понадобится некоторое время, чтобы снова сосредоточиться на книге.

На графике ниже изображены две оси: время и продуктивность. Это временная шкала backend-разработчика, которого дважды отвлекают от задачи. Сначала frontend-разработчик спрашивает о теле API запроса, а во второй раз новичок хочет узнать, как установить базу данных проекта локально.

асинхронная работа состояние потока переключение между задачами

Backend-разработчик потратил некоторое время, чтобы погрузиться в текущую задачу (1), и полностью на ней сфокусировался (2). Важно находиться в таком состоянии как можно дольше, чтобы получить максимум от работы мозга. Когда разработчику задали вопрос, ему нужно было потратить время на ответ (3), а затем снова вернуться к своей задаче (2). К сожалению, когда разработчик сфокусировался (2), его снова прервали (3).

Такая ситуация знакома многим.

Важное понятие в этом примере — состояние потока (2). В позитивной психологии это психологическое состояние, в котором человек, выполняющий какую-либо деятельность, полностью сосредоточен на процессе и получает от этого удовольствие.

Быть полностью сосредоточенным сложно, но войти в состояние потока ещё труднее. Чем дольше вы фокусируетесь на чём-то, тем выше шанс войти в это состояние. Но если есть проблемы с концентрацией внимания, о потоке можно забыть.

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

Действие

При асинхронной работе важно действовать. И дело не в рабочих процессах, а в отношении к работе. Речь идет о понимании того, какой вы специалист и к чему хотите прийти.

Часто задачи сложно выполнить из-за того, что нет чёткого плана, а те, кто может принимать решения, не в сети.

асинхронная работа синхронная работа планирование работы

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

Действовать — значит руководствоваться здравым смыслом. Некоторые задачи очень деликатны, если вы в них не уверены, можно выбрать что-то другое. Речь идет не об игнорировании риска, а о том, чтобы взять ответственность на себя.


Асинхронная работа — это способ организовать работу с меньшими перерывами и более высокой эффективностью. Он основан на нескольких идеях:

  • Асинхронная работа позволяет лучше концентрироваться на задачах и не отвлекаться на коммуникацию «здесь и сейчас».
  • Деление задач на подзадачи и уменьшение масштаба работы позволяют проверять гипотезы и работать быстрее и с большей вероятностью достигать успеха.
  • Общаться синхронно стоит только тогда, когда без этого не обойтись. Следование этому правилу позволяет сотрудникам дольше фокусироваться на задачах и концентрироваться на документации и написании подробных инструкций.
  • Выбор действовать (в пределах разумного) помогает всей команде работать быстрее, сокращает время простоя и увеличивает чувство причастности к проекту и команде.

Источник: Remote

Комментарии