Pull to refresh

Asana в деталях, и как ее использовать

Reading time 6 min
Views 221K

Проекты над которыми трудятся разработчики можно часто рассматривать как одну (или несколько) больших задач. А чтобы было проще решать большую задачу, ее нужно разделить на более мелкие. Для этого отлично подойдет Asana — collaborative task management application. Под хабракатом описание данной системы и один use-case который мы успешно используем при разработке сайтов. Статья большая и с картинками. Кому интересно только то как мы используем Asana на работе, можете перейти сразу к примеру, или к примеру в картинках. Также на хабре уже был обзор данной системы, но он устарел, а система продвинулась намного дальше с тех пор.

Что такое асана


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

Сразу в бой


Вот так выглядит мой рабочий стол (это при ширине монитора 1280, при более меньших размерах — сайт адаптируется по-разному):
image

Если это выглядит массивно или сложно, то это лишь первое впечатление. Давайте разберем все по полочкам.

Как она устроена


Первыми в иерархии стоят рабочие столы (workspaces). Они удобны для разделения доступа по группам (один рабочий стол для работы, другой для семьи и т. д.). К одному рабочему столу могут иметь доступ бесплатно до 30 пользователей, дальше платно. Есть два типа рабочих столов — стандартный и собственные проекты. В этой статье будут рассматриваться только стандартные рабочие столы. Кому интересно про собственные проекты — можно почитать на блоге.


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

Пользователей можно добавлять как ко всему рабочему столу (будут доступны все проекты), так и только давать доступ к одному проекту.


В каждом рабочем столе всегда есть два раздела: Мои Задачи (My tasks) и Входящие (Inbox) и три типа категорий (может это и не категории но больно похоже): проекты, теги и пользователи.



При выборе одного проекта, тэга или пользователя — в окне задач будут показаны только те что соответствуют выбору.

В Моих Задачах находятся все задания которые назначены данному пользователю.


Во входящих находятся лента новостей всех изменений задач (добавление новой, комментирование, назначение и т. д.) к которым данный пользователь подписан.


Теперь посмотрим на все задания проекта:


Визуально задачи бывают простыми или заголовками приоритетов (priority heading). Заголовки используются для визуального разделения задач на категории, при этом их функциональность та же что и у обычных задач. В списке видны:
  • заголовок
  • аватар назначенного пользователя
  • теги
  • приоритет
  • родительская задача (если таковая есть)

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

Завершенные задачи помещаются в верх списка, а чтобы они оттуда исчезли — их можно архивировать (к примеру к концу дня когда делается обзор выполненного за день):


При открытии одной задачи доступны следующие детали: заголовок, описание, назначенный пользователь, проект к которому задача принадлежит, дочерние задачи, срок, теги, файлы, подписчики, комментарии и лента активности.


Также тут доступны базовые функции:


Из интересных функций тут есть:
  • Описание может содержать ссылки на другие задачи или других пользователей (умное автозаполнение появляется после ввода знака @)
  • Подзадачи есть ни что иное как такие же задачи быстрый доступ к которым осуществляется через родительскую задачу
  • Одна задача может вообще не принадлежать к проекту (к примеру дочерние задачи) или ко множеству
  • Срок может быть как одной простой датой, так и повторяющейся (при повторе создается такая же задача только со сроком увеличенным на указанный интервал)
  • Задача может быть назначена одному лишь человеку (с возможностью изменения), но зато за задачей можно следить (все изменения будут появляться во Входящих)
  • Задачу можно назначать человеку который не добавлен к рабочему столу/проекту. Для этого нужно указать его емайл, на почту он получит уведомление с возможностью зарегистрироваться и получить доступ к данному рабочему столу или задаче (в зависимости что вы выбрали при назначении). Если даже человек не хочет регистрироваться, он просто может ответить на данное письмо и его ответ будет комментарием в данной задаче
  • В комментариях также работает умное авто заполнение




Где можно узнать больше или увидеть примеры работы


Чтобы почувствовать всю мощь приложения, нужно его попробовать в работе. И желательно изначально просмотреть Asana в 2х минутах (eng) и How to use it (eng).

Пример использования для небольшой вэб студии


Мы команда из 5ти человек которые делают сайты на рельсах (Ruby on Rails):
  • Менеджер Проекта / Таск Менеджер / отношения с клиентами
  • Дизайнер / UI / UX
  • Фронт-енд дев / UI / UX
  • Бэк-енд дев / Модели / База данных
  • Бэк-енд дев / Контролеры / Хелперы / Тесты


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

Также есть тег документация который присваивается к информативным задачам. Их выполнять не нужно. Еще много информации хранится в заголовках приоритетов для каждой страницы.

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

Почти все задачи проходят следующий цикл жизни:
  1. Задача создана Таск Менеджером
  2. В описание задачи добавляются подзадачи и ссылки на тех кто должен будет их выполнить
  3. Если есть некая дополнительная информация — она добавляется в комментарии
  4. Задача назначается человеку указанному в первой невыполненной подзадаче
  5. Подзадача выполняется, в скобках подзадачи ставится символ х, повторяется пункт 4
  6. Если подзадач больше нету, задача назначается как завершенная

Но конечно не все задачи проходят гладко, в разных ситуациях нужны разные действия:
  • Если после выполнения подзадачи, нужно поделиться некой информацией которая может быть полезной при выполнении остальных подзадач — нужно отписаться в комментариях
  • Если при выполнении подзадачи выясняется что одна из предыдущих подзадач была выполнена не правильно/глючит тогда пишем об этом в комментариях, опустошаем скобки данной подзадачи и переназначаем задачу тому кто ответственен за данную подзадачу
  • Если при выполнении подзадачи выясняется что чего-то не хватает в описании, назначаем данной задаче тег неполное описание и переназначаем ее Таск Менеджеру
  • Если для выполнения некой подзадачи нужно чтобы была выполнена некая подзадача из другой задачи, снимаем назначение с нынешней задачи, и пишем в комментариях другой задачи что после ее завершения нужно назначить нам обратно нынешнюю задачу
  • Если вы выполнили некую подзадачу и уже переназначили ее кому-то другому, а потом вдруг вспомнили что не доделали чего-то:
    • Если тот кому вы назначили задачу уже указал приоритет (today, later, upcoming) нужно написать ему и попросить задачу обратно
    • Если нет, то смело можно отбирать задачу обратно


То же самое только в картинках


Вот этим занимается Такс Менеджер


А вот этим все (включая Таск Менеджера)


Почему мы не используем встроенные подзадачи


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

Но даже когда нам стали доступны подзадачи, мы столкнулись с неудобством их использования. Если иметь только одноуровневые подзадачи — тогда все просто. Хотя даже в этом случае они нам не подходят так как при назначении подзадачи это появится во Входящих соответствующего пользователя и в его Личных Задачах, а мы стремились к тому чтобы в Личных Задачах были только задачи над которыми человек уже может работать, да и во Входящих не должно быть избытка ненужных событий. А в случае если у ваших подзадач будут свой подзадачи, тогда уже визуально не получится оценить все подзадачи одной задачи, и это намного усложнит понимание прогресса и количества подзадач. Также это приносит фрагментирование комментариев и файлов которые имеют непосредственное отношение к задачам.

Результаты


В конце каждого дня можно проанализировать статистические данные.:
  • Количеству закрытых задач за день
  • Количеству оставшихся назначенных задач для каждого члена команды

Вот так уже работаем около месяца, за это время:
  • Продуктивность выросла ощутимо
  • Время затрачиваемое на reddit, reader и другие не относящиеся к работе сайты упало в среднем с 2-х часов на человека до 30 мин (RescueTime)
  • Никто больше не жалуется что ему нечего делать
  • Меньше багов и меньше забытых для выполнения вещей
  • Более реалистичный расчет сроков


UPD. Теперь подзадачи объявлены официально.
Tags:
Hubs:
+37
Comments 42
Comments Comments 42

Articles