Skip to content

Issues labels system

Vasily Vasilyev edited this page Oct 18, 2018 · 10 revisions

Система меток для issues

В нашем проекте принята методология, основанная на выделении относительно небольших задач и отслеживании прогресса путем манипулирования этими задачами. Каждой задаче соответствует issue. Для issues выделено 5 видов меток (labels). Это idea, feature, code maintenance, task, bug. Иерархию взаимодействия можно представить вот так: Issues Diagram

Основные метки

Idea отмечает абстрактное описание какой-то идеи — такие issues предназначены для аналитиков.

Feature и code maintenance отмечают описание изменений на относительно высоком уровне абстракций — для таких задач требуется аналитика по переработке их в tasks.

Task — отмечает конкретную, формализованную задачу, это основной "кирпичик" построения нашего проекта. Такая задача также дополнительно может отмечаться label-ами feature или code maintenance, в качестве дополнительной классификации изменений, описанных в задаче. Task — метка, отмечающая задачу непосредственно для разработчика.

Bug — описание ошибки в работе уже созданного функционала. Может содержать рекомендации по исправлению, описание причины ошибки. В зависимости от характера ошибки, может предназначаться как для аналитиков, так и для разработчиков.

Каждая из вышеперечисленных меток должна сопровождаться одной меткой из категории приоритета: priority N. С помощью них мы указываем важность задач и багов. Для обозначения значимости дефектов используется следующая система оценки:

  1. Priority 1 (Top) — Наивысший приоритет. Присваивается issues, которые должны быть выполнены безотлагательно. Предназначен для экстренных ситуаций, требующих немедленного выполнения. В случае ошибок их исправление и публикация выполняются в первую очередь, до реализации любых новых задач.

  2. Priority 2 (High) — Высокий приоритет. Присваивается issues, которые должны быть выполнены в первую очередь. В каждом проекте в любой момент времени может быть не более 10 открытых ошибок или задач высокого приоритета. В случае, если появляется более приоритетная задача, менеджер проекта может присвоить ей приоритет “High” только после того, как понизит приоритет других задач.

  3. Priority 3 (Normal) — Обычный приоритет. Присваивается issues, которые следует выполнить во вторую очередь, в рабочем порядке. Этот приоритет выбран по умолчанию. Большинство ошибок и задач должны получать именно такой приоритет.

  4. Priority 4 (Low) — Низкий приоритет. Присваивается issues, выполнение которых не обязательно и производится в последнюю очередь при наличии времени.

Вспомогательные метки

Если для реализации issue требуется помощь других участников, то можно поставить метку help wanted. Обычно, она ставится, если участник считает, что не сможет справиться с возложенной на него задачей.

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

Меткой invalid обычно пользуются руководители команд и аналитики. Она нужна, чтобы указывать участникам команды на некорректно составленные issues. Такие issues в обязательном порядке необходимо переработать прежде, чем их брать на исполнение.

И последняя метка wontfix. Issues, помеченные этим label'ом "замораживаются", т.е. приостанавливается дальнейшая работа над задачей. В дальнейшем такие issues может быть пересмотрены и заново отправлены на разработку.

Прочие метки

Участники также могут встретить специфичные для каждого репозитория метки. Обычно такие метки нужны, чтобы отделить области работы, например, frontend от backend задач. Если Вы не поняли из названия или описания, для чего нужна та или иная метка, обязательно напишите вопрос руководителю Вашей команды.