Предисловие
Как человек обычно делает покупки? Если ему нужен не один продукт, а несколько, то очень вероятно, что сначала он составит список, чтобы ничего не забыть. Сделать это можно где угодно: на листе бумаги, в приложении для заметок или, например, в сообщении самому себе в мессенджере.
А теперь представьте, что это список не продуктов, а полноценных дел. И не каких-нибудь простых вроде «помыть посуду» или «позвонить бабушке», а сложных — например, «организовать большой семейный праздник» или «купить квартиру». Каждая из таких задач может разбиваться на несколько этапов со своими нюансами и сроками. А если над их выполнением будет работать не один человек, а целая команда, то организация процесса станет ещё сложнее.
Как системы контроля версий помогают команде работать с общим кодом, так и трекеры задач позволяют эффективно организовать совместную работу над задачами. Проект java-kanban это бэкенд для такого трекера.
Простейшим кирпичиком такой системы является задача. У задачи есть следующие свойства:
- Название, кратко описывающее суть задачи.
- Описание, в котором раскрываются детали.
- Уникальный идентификационный номер задачи, по которому её можно найти.
- Статус, отображающий её прогресс. Имеются следующие этапы жизни задачи:
4.1. NEW — задача только создана, но к её выполнению ещё не приступили.
4.2. IN_PROGRESS — над задачей ведётся работа.
4.3. DONE — задача выполнена.
Иногда для выполнения какой-нибудь масштабной задачи её лучше разбить на подзадачи. Большая задача, которая делится на подзадачи называется эпиком. Таким образом, в системе задачи могут быть трёх типов: обычные задачи, эпики и подзадачи. Для них выполняются следующие условия:
- Для каждой подзадачи известно, в рамках какого эпика она выполняется.
- Каждый эпик знает, какие подзадачи в него входят.
- Завершение всех подзадач эпика считается завершением эпика.
