Как управлять проектами по веб-разработке: пошаговая инструкция. Читайте на Cossa.ru

31 июля 2018, 12:00
3

Как управлять проектами по веб-разработке: пошаговая инструкция

Коллеги из «Комплето» описывают методику, по которой работают над собственными проектами.

Как управлять проектами по веб-разработке: пошаговая инструкция

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

Разберём слона на слонят.

Детализация задачи

Как происходит детализация слона? Сам слон, то есть задача, — это epic, некая большая конечная цель: сайт, лендинг, что угодно. Epic мы разбиваем на stories — задачи поменьше: программирование, вёрстка, дизайн, контент сайта и так далее.

Дальше нужно детализировать процессы на задачи, каждая из которых будет занимать 4–6 часов. Такие задачи называются tasks. Не бойтесь детализировать и составлять большой список задач, это действительно поможет в работе.

Как детализировать задачи в веб-разработке

Список tasks (синяя иконка) и stories (зелёная иконка) внутри одного epic (неполный список)

Пример. В программе постановки задач Jira мы создали epic под названием «Главная страница». А в ней подзадачи-stories: «прорисовать», «закодить», «написать текст», «подобрать иллюстрации». И в каждой такой задаче — несколько tasks. Это мелкие задачи, которые занимают (в идеале) не более 4 часов. Например, в story «Нарисовать дизайн сайта» у нас будет task «Нарисовать шапку» или «Нарисовать иконки».

Хороший task длится максимум 4 часа и его нельзя разбить на ещё более мелкие задачи. У любой задачи есть ответственные, то есть исполнители.

Как правильно разбить на задачи проект в веб-разработке

Если говорить о тексте для главной страницы сайта, то у нас будет такая лестница задач:

  • epic — «Создать главную страницу»;
  • story — «Написать тексты для главной»;
  • а tasks будет очень много: «Заполнить бриф», «Написать тексты», «Защитить тексты перед клиентом», «Отредактировать тексты».

В Jira можно связать крупную задачу (story) с более мелкими (tasks)

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

Оценка задачи и ресурсов

У любой задачи есть оценка. Оценка означает предполагаемые временные затраты и количество необходимых людей. Оценка даёт картину затрат ресурсов по каждой задаче. Детализировать и оценивать ваших слонов вы можете в любой удобной программе, даже в таблицах Google.

Оценить более мелкую задачу проще, чем крупную. Одно дело — оценить задачу «Собрать ядро запросов». Это сложно. Другое дело — разбить её на ряд максимально односложных задач: «Собрать кластеры запросов», «Собрать по кластерам в нужном формате», «Свести данные в Excel» и так далее. Эти задачи гораздо проще оценить по времени. Выносите в отдельный task каждый шаг, и тогда оценить будет легче.

Как правильно оценить задачи в веб-разработке

Оценка общего списка задач внутри эпика в Jira

Как оцениваем время задачи

При оценке задачи мы выставляем оценочное время (estimate). Это наш прогноз временных затрат. В процессе выполнения заполняется графа фактически затраченного времени (log). Исполнители отмечают потраченное время в Jira.

В Jira оценка задачи видна в блоке Time Tracking

Реализация: циклы

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

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

Временные циклы в веб-разработке

Зелёным цветом выделяется прогресс выполнения задачи

В итоге все epic-задачи детализированы до уровня тасков, всем таскам назначены исполнители и на временной шкале видно, кто в какую неделю и день что делает.

Если у вас нет большого потока задач, то следить за управлением проектом можно даже в Excel или Google Таблицах. Но сохраните методологию: разбивайте задачи на более мелкие, проставляйте статусы выполнения и указывайте ответственных.

Как следить за управлением проектом в веб-разработке

Пример таблицы управление проектом в Google Sheets

Пошаговая инструкция и советы

  1. Разбейте основные задачи на максимально детализированные подзадачи.
  2. Назначьте исполнителей на основные и детализированные задачи.
  3. Назначьте прогнозируемое время на каждую задачу.
  4. Отмечайте фактически затраченное время по каждой задаче.
  5. Не забывайте закладывать время на этап тестирования.

Сроки задач

Для каждой задачи мы выставляем два дедлайна. Внутренний дедлайн называется redline («красная черта»). В этот срок работа должна быть сделана внутри компании, но ещё остаётся время на доработки перед показом клиенту. Deadline — крайний срок демонстрации результатов клиенту. Он несдвигаемый.

Как следить за сроками задач в веб-разработке

Используйте redline — это значительно снижает стресс и повышает качество итоговой работы

Контроль своих и чужих задач

Программы вроде Jira позволяют быстро находить свои и чужие задачи с помощью фильтров: по имени, срокам, проекту. По всем фильтрам можно делать «напоминалки»: вы будете получать письма про задачи с определёнными параметрами.

Как контролировать выполнение задач в веб-разработке

Примеры почтовых рассылок по событиям для контроля изменений в Jira

Как ставить задачи, которые так и хочется выполнять

Как придумывать удобные и полезные названия задач? Название хорошей задачи отвечает на вопрос «что делать». «Сверстать страницу о компании», «Написать текст для страницы о нас», «Показать клиенту анимацию кнопок X».

Правильное название задачи описывает не процесс, а результат: не «Подумать над ускорением сайта», а «Ускорить сайт до 90 баллов по Google PageSpeed». Результат выполнения задачи измерим и выражается либо в цифрах, либо в конкретных действиях.


Не надо так Надо так!

Подумать над ускорением сайта Ускорить сайт до 90 баллов по Google PageSpeed

Протестировать вёрстку Записать в файл с багами все проблемы вёрстки

Посмотреть текст на сайт Оставить комментарии в Google Документе к тексту от копирайтера

Помогают шаблоны. Используйте один и тот же термин — например, «сверстать» — для типовых задач. Выработайте типовые критерии того, что результат достигнут.


Не надо так Надо так!

Сделать вёрстку о компании alta-profil.ru: сверстать страницу «О компании»

Реализовать вёрстку страницы услуги alta-profil.ru: сверстать страницу «Услуги»

Верстать главную alta-profil.ru: сверстать страницу «Главная»

Описание задач

Задачи от epic до task нужно описывать максимально подробно. Пишите всё, что знаете о задаче. Иначе всё, что вы не скажете, гарантированно потеряется, забудется, не будет учтено или будет понято неверно. Расписывайте все мысли по задаче, но не в режиме потока сознания, а структурировано.

Используйте маркированные и нумерованные списки. Расставляйте приоритеты. Выделяйте графически важные вещи. И ещё раз: обязательно назначайте ответственных и наблюдателей. Назначайте сроки.

Идеальная задача та, к которой нет ни одного уточняющего комментария от исполнителя.

Задача определена, когда из неё полностью понятны исполнителю:

  • сайт или объект, для которого нужно выполнить задачу;
  • объём работ в часах и серии подзадач;
  • трудозатраты на задачу (фиксированные или «от». Если «от», то когда надо остановиться?);
  • сроки исполнения;
  • исполнитель;
  • описание задачи максимально понятное и подробное;
  • все файлы, документы, картинки, таблицы приложены к задаче. Если это ссылка, то доступ исполнителю открыт.

Пример подробного описания задачи

Кейс: разбивка и детализация

Мы используем программу Jira и платное дополнение Jira Portfolio. Вы можете применить сам подход в любой программе или таблице.

Как вы видите на скриншоте ниже, мы сделали три вещи, лежащие в основе управления проектами.

  1. Разрезали слона на кусочки: детализировали задачи.
  2. Дали оценку задачам.
  3. Назначили ответственных.

С помощью Jira Portfolio мы создали зависимости между задачами. Одна задача не начнётся, пока не закроется связанная с ней более ранняя. Это представлено визуально.

Пример заданной зависимости между задачами

Система считает по каждой задаче примерное время, когда исполнитель сможет приступить к задаче. Также система рассчитывает время окончания задачи. Если нам не нравится расчётное время, система покажет, как она распределила задачи исходя из уровня занятости специалистов. В нашем случае мы видим, что посадочную страницу мы сможем сдать только 3 января, хотя она нужна уже в ноябре!

Почему так происходит? Внутри отчёта по загрузке времени сотрудников видим, что ключевые специалисты по этому проекту уже заняты на возможные 40 часов в неделю.

Что можно сделать, чтобы ускорить выполнение нужной задачи

Необходимо видеть общую картину проекта, чтобы с учётом зависимости задач перераспределить объём работ по спринтам и успеть в срок. Мы увеличиваем приоритет epic-задачи. Тогда остальные проекты автоматически (по мнению системы) станут менее важными.

Однако в реальности не всегда можно полагаться на мнение системы. Для этого и нужен менеджер проектов. Он может вручную сдвигать приоритет задач, чтобы в работу шли более важные задачи, а те, которые могут подождать, переместились на более поздний спринт. Именно поэтому человека пока ещё не может заменить обезьяна или робот ;–)

Резюмируем

Итак, управление проектами в веб-разработке базируется на трёх столпах.

  1. Детализация задач. Наша цель — разделить слона на максимально краткие и простые задачи.
  2. Оценка. Оценивайте каждую задачу по двум временным точкам: предположительное время выполнения и фактическое время выполнения. Дедлайна у нас также два: redline для внутренней сдачи и deadline — для сдачи клиенту.
  3. Циклы. Назначайте исполнителей, расставляйте приоритеты, перетряхивайте приоритеты при необходимости. Опирайтесь на недельные циклы, которые закрывают планёрки.

Максимально точно и подробно описывайте задачи. Используйте программы для автоматизации и удобства или руками создавайте таблицы. Главное: соблюдайте принципы управления.

Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на 42@cossa.ru. А наши требования к ним — вот тут.

Телеграм Коссы — здесь самый быстрый диджитал и самые честные обсуждения: @cossaru

📬 Письма Коссы — рассылка о маркетинге и бизнесе в интернете. Раз в неделю, без инфошума: cossa.pulse.is