Разработка / МАТЕРИАЛ

Kanban и Scrum на одной доске: как устроен syBoard

Единая доска задач соединяет линейный поток Kanban и цикл Scrum

syBoard — приложение для командной работы, где одна доска работает как Kanban или как Scrum. Как это устроено и на чём сделано.

Серия «Свои инструменты: заметки о разработке», выпуск 2 из 6

syBoard — моё приложение для командной работы над проектами. В нём одна и та же доска может работать в режиме Kanban или Scrum. Задачи при переключении не переезжают в другой проект и не теряют историю.

Зачем два режима

Kanban удобен для непрерывного потока. Scrum добавляет спринт, зафиксированный план и отчёт по завершению. На практике способ работы может меняться даже внутри одной команды. Если для каждого режима нужен отдельный сервис, вместе с задачами приходится переносить комментарии, вложения и историю изменений.

В syBoard модель задачи общая. При смене режима меняются правила доски, но сама карточка остаётся на месте. Ей не приходится узнавать о новом процессе из письма в понедельник утром.

Kanban

Колонки можно переименовывать и переставлять. Карточки двигаются между колонками и внутри них. У задачи есть приоритет, срок, исполнители, метки, вложения и комментарии. Номер складывается из префикса проекта и счётчика, поэтому ссылку на задачу удобно передать вне доски.

Scrum

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

Завершённый спринт доступен только для чтения. Это правило проверяется не только в интерфейсе, но и на сервере. В отчёте остаются план и факт, burndown, переносы и изменения состава.

Время и отчёты

Время учитывается по карточкам с шагом в полчаса. Таймшит собирает записи по дням и участникам. Отчёты проекта показывают velocity, затраченные часы и cycle time; данные можно выгрузить в Excel и PDF.

Изменения приходят участникам сразу через WebSocket, без ручного обновления страницы.

Из чего сделан

Сервер написан на Django 5.2 LTS, Django REST Framework и Channels. Интерфейс — React 19 и TypeScript. Данные хранятся в PostgreSQL, для событий используется Redis. Проверки написаны на pytest, Vitest и Playwright. GitHub Actions не запускает выкладку, пока тесты не пройдут.

Статус

Проект выпущен в production и доступен на syboard.ru. Разрабатываю и развиваю его самостоятельно.

Следующий выпуск: Attest0.

ПРОДОЛЖИТЬ ЧТЕНИЕ

Другие материалы

  1. Когда MES готова к промышленной эксплуатации
  2. Как считать OEE по данным MES
  3. Как учитывать простои оборудования в MES
Все статьи