Однажды команда открыла для себя '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' и исполнителя
Доска текущего спринта. На доске спринта видно распределение задач между колонками 'To Do', 'In Progress', 'Review', 'Done' и исполнителя
Основной отчет, отражающий spent/estimate по задачам спринта, с распределением усилий
Основной отчет, отражающий spent/estimate по задачам спринта, с распределением усилий
Отчет с разбивкой по типам деятельности спринта
Отчет с разбивкой по типам деятельности спринта
Карточка задачи содержит список всех комментариев к задаче сквозной для всех спринтов.  Это позволяет отслеживать полную историю работы над задачей.
Карточка задачи содержит список всех комментариев к задаче сквозной для всех спринтов. Это позволяет отслеживать полную историю работы над задачей.
Отчет по внесенному времени в разрезе исполнителей
Отчет по внесенному времени в разрезе исполнителей
Процесс создания отчета по новому дню включает заполнение комментариев и пуш изменений на сервер.
Процесс создания отчета по новому дню включает заполнение комментариев и пуш изменений на сервер.

Заключение

Шаблон agile-obsidian-template всё ещё требует доработки и может быть расширен, в то время как некоторые функции, которые доступны в полноценных приложениях, в рамках Obsidian реализовать невозможно. Несмотря на это, его продвинутый текстовый редактор с горячими клавишами и поддержкой markdown делает ведение журнала быстрее и удобнее, чем в большинстве решений, подобных Trello или Yougile, где текстовые возможности ограничиваются простым форматированием и стандартными GUI-контролами. Это затрудняет работу, когда приходится переключаться между редакторами, а копирование нужной информации требует нескольких действий. Этот шаблон может быть полезен, так сказать, для "ценителей", которые уделяют внимание гибкости и контролю над своими данными.

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

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

Комментарии (2)


  1. Logintsev
    09.12.2024 15:25

    Огонь! Реально крутая штука получилась. Давно пользуюсь Obsidian. Спасибо.


  1. dimonier
    09.12.2024 15:25

    Интересненько, спасибо!

    Пробовал Kanban в Обсе когда-то, он показался корявым и бесполезным. Присмотрюсь ещё раз.

    Dataview - ❤️❤️❤️