воскресенье, 1 декабря 2024 г.

От Trello к Obsidian: шаблон для управления проектами в стиле скрам

Введение

Давным-давно одна команда полюбила "Plus for Trello" — уникальный плагин для Trello, который стал одним из лучших инструментов для учёта рабочего времени и ведения скрама небольшой командой. В этой статье расскажем о том, как этот плагин помог организовать рабочий процесс, как Obsidian смог подхватить эстафету после его "смерти", и будет представлен проверенный временем шаблон проекта Obsidian для командной работы по scrum.

Plus for Trello: особенности рабочего процесса

Плагин "Plus for Trello" расширял функциональность Trello, добавляя к карточкам поля для учёта потраченного времени и оценок (spent/estimate). Уникальная особенность плагина заключалась в использовании специального синтаксиса в комментариях, который позволял вести детальный учёт времени по разным типам деятельности. Эти комментарии могли быть добавлены разными авторами в одну и ту же карточку, что давало полную картину всех действий.

Вот примеры комментариев от разных авторов в одной из карточек, которые обрабатывались плагином:

  • plus! 0/8 Добавить estimate в 8 час задаче
  • fix! 7/8 Рендеринг дал сбой из-за бага в Chrome. Выполнил переоценку и добавил тесты.
  • fix! 5 Нашёл решение на http://stackoverflow.com/asd344dasd/
  • docs! 1
  • review! 1

Начало каждого комментария соответствует шаблону ТИП_ДЕЯТЕЛЬНОСТИ! SPENT/ESTIMATE [ДАТА_ВНЕСЕНИЯ] ТЕКСТОВОЕ_ОПИСАНИЕ. Таким образом, в карточке появлялись общие подсчитанные значения: 14 часов потрачено (spent), и оценка (estimate) на 16 часов (8 изначально заложенных). Можно было также посмотреть данные по срезам типов деятельности и исполнителей, что давало дополнительную аналитическую информацию.

Как мы использовали эти данные о потраченном времени и оценках

На ежедневных митингах учёт времени помогал ускорить обсуждения, обеспечивая всех членов команды информацией о текущем состоянии задач и их истории, даже если кто-то отсутствовал. Регулярное заполнение комментариев создавало атмосферу саморефлексии — многие члены команды находили в этом элементы GTD.

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

Смерть Trello и Plus for Trello

Осенью 2023 года случилось давно ожидаемое: Trello начало блокировать аккаунты, связанные с Россией, а Plus for Trello перестал функционировать из-за прекращения поддержки Web SQL в Chrome, а новый владелец стал "продавать" данные пользователей. Попытки найти альтернативы среди отечественных и open-source решений оказались неудачными — ни одно из них не могло заменить функциональность и удобство Plus for Trello. Наиболее близким был OpenProject, а по удобству, но не функционалу — Yougile.

Obsidian: далеко зашедшая шутка

Так в поле зрения попал Obsidian. Плагин Dataview превращает Obsidian в подобие файловой базы данных. Решение использовать его для замены Trello было своего рода шуткой и попыткой глубже изучить популярный инструмент. Главной задачей было обеспечить совместную работу нескольких членов команды и минимизировать конфликты при слиянии изменений.

В "шутке" за основу была взята концепция Plus for Trello, но адаптированная для Obsidian: каждый участник команды записывал свои комментарии за каждый день не в карточку, а в отдельный файл, ссылаясь на файл задачи. Это снижало вероятность конфликтов при объединении изменений в командной работе.

Шутка неожиданно затянулась, и Obsidian стал эрзац-заменителем Trello.

Шаблон Obsidian проекта на GitHub

На GitHub представлен шаблон agile-obsidian-template получившегося проекта. Для примера сгенерированы данные двух спринтов. Данные исключительно для иллюстрации — не стоит искать в них смысл. В readme шаблона более подробно описывается структура, взаимодействия с гит и другие особенности. В статье же пробежим по вершкам.

Структура проекта в Obsidian

Для начала работы требуются сам Obsidian, Git и клон репозитория Obsidian Vault, содержащий проект. При открытии хранилища (vault) будут автоматически установлены следующие плагины:

  • Dataview — делает файлы в Obsidian подобием базы данных.
  • Kanban — доска в стиле канбан, где каждая карточка представлена отдельным md-файлом.
  • Obsidian Git — синхронизация хранилища между членами команды через Git.
  • Templater — шаблонизатор для автоматизации действий.
  • Charts — плагин для создания графиков.

Рабочий процесс предполагает разбитие на итерации — спринты. Каждый спринт представлен отдельной папкой, содержащей основной файл и три дополнительные папки:

  • board.md — файл, при открытии которого загружается канбан-доска.
  • /tasks — папка с задачами. Каждая задача имеет свой md-файл, куда можно добавлять комментарии. Если задача из предыдущего спринта переносится в следующий, она сохраняет ссылку на файл задачи из предыдущего спринта.
  • /comments — папка с комментариями к задачам. Каждый член команды имеет отдельный файл для своих комментариев на каждый день.
  • /reports — папка для отчётов по спринту.

Основные интерфейсы

Скриншоты, иллюстрирующие основные элементы UI/UX использования шаблона:

Доска текущего спринта:


Основной отчёт, отражающий spent/estimate по задачам спринта:

Отчёт с разбивкой по типам деятельности спринта:

Карточка задачи, содержащая список всех комментариев:

Отчёт по внесённому времени в разрезе исполнителей:

Процесс создания отчёта по новому дню, заполнение и пуш на сервер:

Заключение

Шаблон agile-obsidian-template для Obsidian пока далёк от завершения, а некоторые возможности полноценного трёхзвенного приложения в рамках Obsidian недостижимы в принципе, но шаблон может быть полезен, так сказать, для "ценителей". Продвинутые возможности редактирования текста и горячие клавиши Obsidian обеспечивают, пожалуй, даже более быстрое и лёгкое ведение журнала.

Эксперимент неожиданно показал, что Obsidian может быть интересным инструментом для прототипирования в определённых случаях: есть простое подобие базы данных, средства пользовательского ввода, а кастомизация очень проста и удобна. Для того чтобы команда начала комфортно вести оперативную деятельность, как в Plus for Trello, потребовалось всего полдня хакатона.

Подход Plus for Trello с написанием плагина для браузера можно также реализовать в Yougile и других системах. Однако использование локальных данных имеет свои преимущества — они всегда остаются под контролем команды, и от этого уже становится сложно отказаться.