Skip to content

Latest commit

 

History

History
83 lines (71 loc) · 12 KB

File metadata and controls

83 lines (71 loc) · 12 KB

Бэклог

О продукте

  • Название: Miro-vibe
  • Краткое описание: Веб-приложение для быстрых командных ретроспектив и досок заметок в реальном времени (web, desktop). Помогает распределённым командам собирать фидбек, голосовать и фиксировать действия.
  • Целевая аудитория: продуктовые и инженерные команды (скрам/канбан), фасилитаторы ретро, проджект/продакт-менеджеры, тимлиды.
  • Бизнес-цели MVP: (1) Провести онлайн-ретро для команды до 20 человек без сбоев. (2) Собрать и агрегировать фидбек (стикеры, лайки) за ≤10 минут. (3) Дать фасилитатору экспорт/шэринг результатов.

Эпики и пользовательские истории

Эпик 1: Основная доска и стикеры — 46 SP

  • US1 (3, Высокий): Как фасилитатор, хочу создать доску с именем, чтобы команда могла присоединиться к общему пространству.
    • Критерии: доска создаётся с непустым именем; доска видна в списке; владелец записан.
  • US2 (13, Высокий): Как участник команды, хочу добавлять/редактировать/удалять свои стикеры, чтобы делиться обратной связью.
    • Критерии: создать с заголовком и текстом; редактировать только свои; удалять только свои; мгновенное обновление интерфейса у всех.
  • US3 (8, Высокий): Как участник команды, хочу, чтобы стикеры по умолчанию не накладывались и оставались перетаскиваемыми/масштабируемыми, чтобы доска оставалась читаемой.
    • Критерии: автоплейсмент ищет свободное место; drag/resize сохраняются; учитывается масштаб.
  • US4 (3, Средний): Как фасилитатор, хочу блокировать дубликаты заголовков стикеров на доске, чтобы элементы оставались уникальными.
    • Критерии: дубль блокируется при создании/редактировании; ясная ошибка; уникальные дефолтные заголовки.
  • US5 (13, Высокий): Как участник команды, хочу получать обновления в реальном времени (создание/редактирование/удаление) для всех подключённых пользователей, чтобы коллаборация ощущалась живой.
    • Критерии: задержка ≤300 мс через WebSocket/BroadcastChannel; авто-реконнект; нет «призрачных» апдейтов на других досках.
  • US6 (3, Высокий): Как участник команды, хочу ставить лайк стикеру и видеть единое состояние лайков у всех пользователей, чтобы голосование было надёжным.
    • Критерии: переключение лайка; счётчики консистентны; визуальное состояние корректно для всех.
  • US23 (3, Средний): Как участник команды, хочу, чтобы если текст стикера содержит только ссылку на изображение (png/jpg/webp/gif), стикер показывал картинку внутри себя, чтобы было удобнее работать с визуалами.
    • Критерии: URL на картинку заменяет текст на img внутри стикера; изображение масштабируется под размеры стикера с сохранением пропорций; при недоступности картинки отображается исходный текст.

Эпик 2: Навигация и представления — 20 SP

  • US7 (3, Средний): Как пользователь, хочу видеть список досок с отметкой владельца, чтобы быстро находить и открывать их снова.
    • Критерии: видно имя и владельца; клик ведёт на доску; корректная обработка not found/forbidden (было реализовано, отказались из-за ненадобности).
  • US8 (8, Высокий): Как пользователь, хочу слайдовый навигатор по стикерам с поиском и сортировкой по лайкам, чтобы быстро переходить к нужным элементам.
    • Критерии: переключатель панели; поиск по заголовку; сортировка по лайкам (убыв.) затем по названию; виден счётчик лайков; клик фокусирует стикер.
  • US9 (6, Высокий): Как пользователь, хочу корректный редирект при удалении доски, чтобы не застревать.
    • Критерии: удаление доски даёт редирект на boards; back работает.
  • US24 (3, Средний): Как владелец стикера, хочу сгенерировать ссылку, открывающую доску и фокусирующую конкретный стикер, чтобы быстро делиться им с командой.
    • Критерии: кнопка «Create link» видна только владельцу стикера; ссылка ведёт на board view нужной доски; при переходе стикер центрируется и подсвечивается; ссылка доступна авторизованным пользователям.

Эпик 3: Надёжность реалтайма и присутствия — 7 SP

  • US11 (5, Средний): Как пользователь, хочу обработку повторных подключений и бэкоф для WebSocket, чтобы краткие обрывы восстанавливались автоматически.
    • Критерии: экспоненциальный бэкоф с ограничением; отложенные сообщения отправляются; без дубликатов.
  • US12 (2, Низкий): Как фасилитатор, хочу резерв через BroadcastChannel в одном браузере, чтобы вкладки оставались синхронизированными.
    • Критерии: BroadcastChannel работает при отсутствии WebSocket; вкладки получают create/update/delete/board-deleted; каналы корректно закрываются.

Эпик 4: Аутентификация и сессии — 8 SP

  • US13 (5, Высокий): Как пользователь, хочу войти/зарегистрироваться и сохранить сессию, чтобы возвращаться на доски без повторной авторизации.
    • Критерии: register/login endpoints; токен хранится; logout очищает; 401 для неавторизованных.
  • US14 (3, Средний): Как пользователь, хочу видеть своё имя на своих стикерах и действиях, чтобы было видно моё авторство.
    • Критерии: created_by и имя сохраняются; отображаются на стикере; есть проверка владения.

Эпик 5: Модерация и безопасность — 8 SP

  • US15 (5, Высокий): Как фасилитатор, хочу строгие проверки прав, чтобы доска оставалась под контролем.
    • Критерии: бэкенд-проверки; интерфейс отключает возможность удаления чужих досок и стикеров;
  • US16 (3, Средний): Как пользователь, хочу валидацию и санитизацию ввода, чтобы контент был безопасным и стабильным.
    • Критерии: обязательные поля; лимиты длины; безопасный для XSS рендер; 400 на неверный ввод.

Эпик 6: Экспорт и шэринг — 6 SP

  • US17 (6, Средний): Как фасилитатор, хочу экспорт снепшота доски (JSON или текст), чтобы делиться результатами после ретро.
    • Критерии: экспортный эндпоинт или клиентский снапшот; включает стикеры и лайки; скачивание из представления доски.

Эпик 7: Производительность и нефункциональные требования — 13 SP

  • US18 (8, Средний): Как пользователь, хочу, чтобы доска выдерживала до 300 стикеров с плавным взаимодействием, чтобы сессия оставалась пригодной.
    • Критерии: средний кадр ≤16 мс при 300 стикерах; виртуализация/батчинг при необходимости.
  • US19 (5, Средний): Как оператор, хочу базовую наблюдаемость, чтобы диагностировать проблемы.
    • Критерии: логи бэкенда, фронта; логирование неожиданных WS/API ошибок;

Эпик 8: Онбординг и подсказки — 3 SP

- US22 (3, Средний): Как фасилитатор, хочу заметку «как начать» на представлении доски, чтобы участники знали про двойной клик или кнопку Add. (оказалась не нужна после реализации фичи с подсказками)

  • Критерии: пустое состояние с подсказкой до первого стикера; не блокирует; учитывает зум и скролл.
  • US21 (3, Средний): Как новый пользователь, хочу подсказки на кнопки и активные элементы.
    • Критерии: подсказка появляется после зависания курсора над кнопкой более чем на 1 секунду;

Сводка по эпику

Эпик Кол-во историй SP
Основная доска и стикеры 7 46
Навигация и представления 4 20
Надёжность реалтайма и присутствия 2 7
Аутентификация и сессии 2 8
Модерация и безопасность 2 8
Экспорт и шэринг 1 6
Производительность и НФТ 2 13
Онбординг и подсказки 1 3
Итого 21 111