Как управлять проектами по веб-разработке: пошаговая инструкция
Коллеги из «Комплето» описывают методику, по которой работают над собственными проектами.
Любой проект — это слон, которого нужно съесть по кусочкам. Даже создание простого лендинга — это десяток этапов от художественного задания до выкладки страницы на хостинг.
Разберём слона на слонят.
Детализация задачи
Как происходит детализация слона? Сам слон, то есть задача, — это epic, некая большая конечная цель: сайт, лендинг, что угодно. Epic мы разбиваем на stories — задачи поменьше: программирование, вёрстка, дизайн, контент сайта и так далее.
Дальше нужно детализировать процессы на задачи, каждая из которых будет занимать 4–6 часов. Такие задачи называются tasks. Не бойтесь детализировать и составлять большой список задач, это действительно поможет в работе.
Пример. В программе постановки задач Jira мы создали epic под названием «Главная страница». А в ней подзадачи-stories: «прорисовать», «закодить», «написать текст», «подобрать иллюстрации». И в каждой такой задаче — несколько tasks. Это мелкие задачи, которые занимают (в идеале) не более 4 часов. Например, в story «Нарисовать дизайн сайта» у нас будет task «Нарисовать шапку» или «Нарисовать иконки».
Хороший task длится максимум 4 часа и его нельзя разбить на ещё более мелкие задачи. У любой задачи есть ответственные, то есть исполнители.
Если говорить о тексте для главной страницы сайта, то у нас будет такая лестница задач:
- epic — «Создать главную страницу»;
- story — «Написать тексты для главной»;
- а tasks будет очень много: «Заполнить бриф», «Написать тексты», «Защитить тексты перед клиентом», «Отредактировать тексты».
Детализация занимает много времени в начале работы, но ещё больше времени экономит в процессе. Если вы делегируете задачи или работаете один, но не хотите держать всё в голове, детализация абсолютно необходима.
Оценка задачи и ресурсов
У любой задачи есть оценка. Оценка означает предполагаемые временные затраты и количество необходимых людей. Оценка даёт картину затрат ресурсов по каждой задаче. Детализировать и оценивать ваших слонов вы можете в любой удобной программе, даже в таблицах Google.
Оценить более мелкую задачу проще, чем крупную. Одно дело — оценить задачу «Собрать ядро запросов». Это сложно. Другое дело — разбить её на ряд максимально односложных задач: «Собрать кластеры запросов», «Собрать по кластерам в нужном формате», «Свести данные в Excel» и так далее. Эти задачи гораздо проще оценить по времени. Выносите в отдельный task каждый шаг, и тогда оценить будет легче.
Как оцениваем время задачи
При оценке задачи мы выставляем оценочное время (estimate). Это наш прогноз временных затрат. В процессе выполнения заполняется графа фактически затраченного времени (log). Исполнители отмечают потраченное время в Jira.
Реализация: циклы
В сутках ограниченное количество рабочих часов. Для того мы и применяем детализацию, чтобы осознанно использовать временные циклы. Обычно в веб-разработке цикл занимает рабочую неделю. В начале недели на планёрке мы смотрим, какую часть слона мы «съели», и приступаем к новому циклу.
Когда мы разбиваем слона на задачи, расставляем таски в рамках временного недельного цикла. В Jira мы видим, кто и что делает на этой неделе. При этом человек может не делать задачи по списку, а выбирать ближайшие и важнейшие таски из существующих. Можно одновременно делать несколько задач по частям, а программа покажет прогресс по каждому таску.
В итоге все epic-задачи детализированы до уровня тасков, всем таскам назначены исполнители и на временной шкале видно, кто в какую неделю и день что делает.
Если у вас нет большого потока задач, то следить за управлением проектом можно даже в Excel или Google Таблицах. Но сохраните методологию: разбивайте задачи на более мелкие, проставляйте статусы выполнения и указывайте ответственных.
Пошаговая инструкция и советы
- Разбейте основные задачи на максимально детализированные подзадачи.
- Назначьте исполнителей на основные и детализированные задачи.
- Назначьте прогнозируемое время на каждую задачу.
- Отмечайте фактически затраченное время по каждой задаче.
- Не забывайте закладывать время на этап тестирования.
Сроки задач
Для каждой задачи мы выставляем два дедлайна. Внутренний дедлайн называется redline («красная черта»). В этот срок работа должна быть сделана внутри компании, но ещё остаётся время на доработки перед показом клиенту. Deadline — крайний срок демонстрации результатов клиенту. Он несдвигаемый.
Контроль своих и чужих задач
Программы вроде Jira позволяют быстро находить свои и чужие задачи с помощью фильтров: по имени, срокам, проекту. По всем фильтрам можно делать «напоминалки»: вы будете получать письма про задачи с определёнными параметрами.
Как ставить задачи, которые так и хочется выполнять
Как придумывать удобные и полезные названия задач? Название хорошей задачи отвечает на вопрос «что делать». «Сверстать страницу о компании», «Написать текст для страницы о нас», «Показать клиенту анимацию кнопок X».
Правильное название задачи описывает не процесс, а результат: не «Подумать над ускорением сайта», а «Ускорить сайт до 90 баллов по Google PageSpeed». Результат выполнения задачи измерим и выражается либо в цифрах, либо в конкретных действиях.
|
Не надо так | Надо так! |
|
---|---|---|---|
|
Подумать над ускорением сайта | Ускорить сайт до 90 баллов по Google PageSpeed |
|
|
Протестировать вёрстку | Записать в файл с багами все проблемы вёрстки |
|
|
Посмотреть текст на сайт | Оставить комментарии в Google Документе к тексту от копирайтера |
|
Помогают шаблоны. Используйте один и тот же термин — например, «сверстать» — для типовых задач. Выработайте типовые критерии того, что результат достигнут.
|
Не надо так | Надо так! |
|
---|---|---|---|
|
Сделать вёрстку о компании | alta-profil.ru: сверстать страницу «О компании» |
|
|
Реализовать вёрстку страницы услуги | alta-profil.ru: сверстать страницу «Услуги» |
|
|
Верстать главную | alta-profil.ru: сверстать страницу «Главная» |
Описание задач
Задачи от epic до task нужно описывать максимально подробно. Пишите всё, что знаете о задаче. Иначе всё, что вы не скажете, гарантированно потеряется, забудется, не будет учтено или будет понято неверно. Расписывайте все мысли по задаче, но не в режиме потока сознания, а структурировано.
Используйте маркированные и нумерованные списки. Расставляйте приоритеты. Выделяйте графически важные вещи. И ещё раз: обязательно назначайте ответственных и наблюдателей. Назначайте сроки.
Идеальная задача та, к которой нет ни одного уточняющего комментария от исполнителя.
Задача определена, когда из неё полностью понятны исполнителю:
- сайт или объект, для которого нужно выполнить задачу;
- объём работ в часах и серии подзадач;
- трудозатраты на задачу (фиксированные или «от». Если «от», то когда надо остановиться?);
- сроки исполнения;
- исполнитель;
- описание задачи максимально понятное и подробное;
- все файлы, документы, картинки, таблицы приложены к задаче. Если это ссылка, то доступ исполнителю открыт.
Кейс: разбивка и детализация
Мы используем программу Jira и платное дополнение Jira Portfolio. Вы можете применить сам подход в любой программе или таблице.
Как вы видите на скриншоте ниже, мы сделали три вещи, лежащие в основе управления проектами.
- Разрезали слона на кусочки: детализировали задачи.
- Дали оценку задачам.
- Назначили ответственных.
С помощью Jira Portfolio мы создали зависимости между задачами. Одна задача не начнётся, пока не закроется связанная с ней более ранняя. Это представлено визуально.
Система считает по каждой задаче примерное время, когда исполнитель сможет приступить к задаче. Также система рассчитывает время окончания задачи. Если нам не нравится расчётное время, система покажет, как она распределила задачи исходя из уровня занятости специалистов. В нашем случае мы видим, что посадочную страницу мы сможем сдать только 3 января, хотя она нужна уже в ноябре!
Почему так происходит? Внутри отчёта по загрузке времени сотрудников видим, что ключевые специалисты по этому проекту уже заняты на возможные 40 часов в неделю.
Что можно сделать, чтобы ускорить выполнение нужной задачи
Необходимо видеть общую картину проекта, чтобы с учётом зависимости задач перераспределить объём работ по спринтам и успеть в срок. Мы увеличиваем приоритет epic-задачи. Тогда остальные проекты автоматически (по мнению системы) станут менее важными.
Однако в реальности не всегда можно полагаться на мнение системы. Для этого и нужен менеджер проектов. Он может вручную сдвигать приоритет задач, чтобы в работу шли более важные задачи, а те, которые могут подождать, переместились на более поздний спринт. Именно поэтому человека пока ещё не может заменить обезьяна или робот ;–)
Резюмируем
Итак, управление проектами в веб-разработке базируется на трёх столпах.
- Детализация задач. Наша цель — разделить слона на максимально краткие и простые задачи.
- Оценка. Оценивайте каждую задачу по двум временным точкам: предположительное время выполнения и фактическое время выполнения. Дедлайна у нас также два: redline для внутренней сдачи и deadline — для сдачи клиенту.
- Циклы. Назначайте исполнителей, расставляйте приоритеты, перетряхивайте приоритеты при необходимости. Опирайтесь на недельные циклы, которые закрывают планёрки.
Максимально точно и подробно описывайте задачи. Используйте программы для автоматизации и удобства или руками создавайте таблицы. Главное: соблюдайте принципы управления.
Читайте также:
Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на 42@cossa.ru. А наши требования к ним — вот тут.