От Trello к Obsidian: шаблон для управления проектами в стиле scrum
Введение
Однажды команда открыла для себя 'Plus for Trello' — уникальное браузерное расширение для Trello, которое стало одним из лучших инструментов для учёта рабочего времени и ведения скрама небольшой командой. В этой статье расскажем о том, как этот плагин использовался в рабочем процессе, как Obsidian смог подхватить эстафету после его «смерти», и будет представлен проверенный временем шаблон проекта Obsidian для командной работы по scrum.
Plus for Trello: особенности рабочего процесса
Плагин «Plus for Trello» расширял функциональность Trello, добавляя к карточкам поля для учёта потраченного времени и оценок (spent/estimate). Уникальная особенность плагина заключалась в использовании специального синтаксиса в комментариях, который позволял вести детальный учёт времени по разным типам деятельности. Эти комментарии могли быть добавлены разными авторами в одну и ту же карточку, что давало полную картину всех действий.
Начало каждого комментария должно соответствовать шаблону ТИП_ДЕЯТЕЛЬНОСТИ! SPENT/ESTIMATE [ДАТА_ВНЕСЕНИЯ] ТЕКСТОВОЕ_ОПИСАНИЕ
. Вот примеры комментариев от разных авторов в одной из карточек, которые обрабатывались плагином:
plus! 0/8 Добавить estimate в 8 час задаче
fix! 7/8 Рендеринг дал сбой из-за бага в Chrome. Выполнил переоценку и добавил тесты.
fix! 5 Нашёл решение на http://stackoverflow.com/asd344dasd/
docs! 1
review! 1
Таким образом, суммарно 14 часов было потрачено (spent), при изначальной оценке (estimate) в 16 часов (8 изначально заложенных). Агрегация данных отображалась как на карточках задач в доске, так и в итоговых отчётах, позволяя видеть динамику. Можно было также посмотреть данные по срезам типов деятельности и исполнителей, что давало дополнительную аналитическую информацию. Например, на код-ревью потратили 5% времени, на документацию 10%, а на тестирование — 15%. Собранные данные показывали, что без учёта реальных затрат времени члены команды часто ошибались в оценке своих прошлых усилий. Например, задача заняла 300 человеко-часов, хотя в обсуждениях звучала цифра в два раза меньше.
Как мы использовали эти данные о потраченном времени и оценках
На ежедневных митингах учёт времени помогал ускорить обсуждения, давая всем членам команды актуальную информацию о задачах, даже в отсутствие кого-то. Регулярное заполнение комментариев помогало анализировать свою эффективность и улучшать планирование. Многие члены команды находили в этом элементы GTD.
На ретроспективах данные о затратах времени на код-ревью, документацию, тестирование и другие виды деятельности помогали увидеть реальную картину работы команды. Это способствовало росту доверия между руководством и командой и повышало прозрачность процессов.
Смерть Trello и Plus for Trello
Осенью 2023 года произошли изменения, которых давно опасались. Trello начал блокировать аккаунты, связанные с Россией, в связи с новыми санкционными ограничениями. А Plus for Trello перестал функционировать из-за прекращения поддержки Web SQL в Chrome, а новый владелец начал монетизировать данные пользователей. Попытки найти альтернативы среди отечественных и open-source решений оказались неудачными: некоторым не хватало функциональности, другим — удобства работы. Ближе всех к функционалу оказался OpenProject, но он требовал большего времени на настройку и оказался крайне неудобным в скорости заполнения отчётов и повседневном использовании. По удобству работы с интерфейсом лидировал Yougile, однако ему не хватало некоторых ключевых возможностей Plus for Trello.
Obsidian: далеко зашедшая шутка
Так в поле зрения попал Obsidian. Плагин Dataview позволяет автоматически создавать выборки из файлов Obsidian, превращая их в подобие базы данных. Решение попробовать Obsidian вместо Trello началось как эксперимент, но со временем доказало свою жизнеспособность. Основной целью было наладить совместную работу команды и снизить вероятность конфликтов при объединении изменений.
За основу была взята концепция Plus for Trello, но адаптированная для Obsidian: каждый участник команды записывал свои комментарии за каждый день не в карточку, а в отдельный файл, ссылаясь на файл задачи. Это снижало вероятность конфликтов при объединении изменений в командной работе.
Эксперимент неожиданно перерос в полноценное решение, и Obsidian занял место Trello в рабочих процессах.
Шаблон Obsidian проекта на GitHub
На GitHub представлен шаблон agile-obsidian-template получившегося проекта. Для примера сгенерированы данные двух спринтов. Данные исключительно для иллюстрации — не стоит искать в них смысл и ориентир. В README.md репозитория более подробно описывается структура, взаимодействия с Git, функциональное сравнение с Trello и Plus-For-Trello, а также другие особенности. В этой статье мы рассмотрим основные особенности шаблона.
Структура проекта в Obsidian
Для начала работы требуются сам Obsidian, Git и клон репозитория Obsidian Vault содержащий проект.
При открытии хранилища (vault) будут автоматически установлены следующие плагины:
Dataview — делает файлы в Obsidian подобием базы данных.
Kanban — доска в стиле канбан, где каждая карточка представлена отдельным md-файлом.
Obsidian Git — синхронизация хранилища между членами команды через Git. Настроены проверенные параметры: автоматический pull, а push только по команде 'Create backup'.
Templater — шаблонизатор для автоматизации действий.
Charts — плагин для создания графиков.
Рабочий процесс предполагает разбитие на итерации — спринты. Каждый спринт представлен отдельной папкой, содержащей основной файл и три дополнительные папки:
board.md — файл, при открытии которого загружается канбан-доска.
/tasks — папка с задачами. Каждая задача имеет свой md-файл, куда можно добавлять комментарии. Если задача из предыдущего спринта переносится в следующий, она сохраняет ссылку на файл задачи из предыдущего спринта.
/comments — папка с комментариями к задачам. Каждый член команды заводит на каждый день отдельный файл для своих комментариев.
/reports — папка для отчётов по спринту.
Основные интерфейсы
Скриншоты, иллюстрирующие основные элементы UI/UX использования шаблона.
Доска текущего спринта. На доске спринта видно распределение задач между колонками 'To Do', 'In Progress', 'Review', 'Done' и исполнителя
Основной отчет, отражающий spent/estimate по задачам спринта, с распределением усилий
Отчет с разбивкой по типам деятельности спринта
Карточка задачи содержит список всех комментариев к задаче сквозной для всех спринтов. Это позволяет отслеживать полную историю работы над задачей.
Отчет по внесенному времени в разрезе исполнителей
Процесс создания отчета по новому дню включает заполнение комментариев и пуш изменений на сервер.
Заключение
Шаблон agile-obsidian-template всё ещё требует доработки и может быть расширен, в то время как некоторые функции, которые доступны в полноценных приложениях, в рамках Obsidian реализовать невозможно. Несмотря на это, его продвинутый текстовый редактор с горячими клавишами и поддержкой markdown делает ведение журнала быстрее и удобнее, чем в большинстве решений, подобных Trello или Yougile, где текстовые возможности ограничиваются простым форматированием и стандартными GUI-контролами. Это затрудняет работу, когда приходится переключаться между редакторами, а копирование нужной информации требует нескольких действий. Этот шаблон может быть полезен, так сказать, для «ценителей», которые уделяют внимание гибкости и контролю над своими данными.
Эксперимент неожиданно показал, что Obsidian может быть интересным инструментом для прототипирования небольших проектов и командных процессов: в нем есть простое подобие базы данных, средства пользовательского ввода, а кастомизация очень проста и удобна. Чтобы команда начала комфортно вести оперативную деятельность, как в Plus for Trello, потребовалось всего полдня хакатона.
Подход Plus for Trello с написанием плагина для браузера можно также реализовать для Yougile и других системах, чтобы добавить учёт времени или другие отсутствующие функции. Однако использование локальных данных имеет свои преимущества — они всегда остаются под контролем команды, и от этого уже становится сложно отказаться.