Skip to content

SemenKhmelev/agile-obsidian-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

О проекте

В проекте agile-obsidian представлен шаблон для Obsidian, с помощью которого команды могут вести разработку по спринтовой схеме, близкой к Scrum.

О текущем репозитории и зрелости шаблона

Репозиторий содержит как сам шаблон, так и демонстрационный пример с двумя спринтами команды. Первый спринт содержит файлы с примерами синтаксических конструкций, которые можно использовать в комментариях по задаче. Второй спринт содержит автогенерированные с помощью нейронки данные для демонстрации отчетов. Канонический пример комментария за день находится в файле 2024-01-25-Галена Селезнева.

Шаблон прошел испытание временем в команде размером в 5-7 человек на протяжении года. Однако его нельзя назвать завершенным: есть планы по доработке функциональности, автоматизации действий и изменению структуры спринта.

Исторические предпосылки

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

Почему Obsidian? Просто потому, что нужно было хотя бы временное решение, а также потому, что мы любим Obsidian, который предоставлял возможности для прототипирования более основательного решения. Но нет ничего более постоянного, чем временное. Вот так неожиданно Obsidian стал эрзац-Trello.

Функциональные возможности agile-obsidian

Основная цель: обеспечить инструментальную поддержку работы самоорганизующейся команды по вариации Scrum.

Цели

  • Оперативное управление (видеть текущую "картину").
  • Сбор данных для анализа спринта на ретроспективе.
  • Организация доверительных отношений: прозрачность работы команды для членов команды и сторонних наблюдателей.
  • Элемент GTD (Getting Things Done).
  • Структура проекта должна позволять одновременный ввод данных разными членами команды с возможностью беспроблемной синхронизации через центральный git-репозиторий.

Функции

  • Исполнитель на доске может изменять состояние задачи.
  • Внесение потраченного времени за день (распределение по задачам и типу деятельности).
  • Внесение в долг неотработанного времени и его закрытие отработкой.
  • Получение текущего состояния команды одним взглядом:
    • Этап, на котором находится задача.
    • Кто какой задачей занимается.
    • Прогресс по задаче (чеклист этапов, сравнение планового времени с фактически потраченным).
  • Сбор аналитических данных:
    • График с распределением потраченного времени по типу деятельности.
    • Точность изначальной оценки.
    • Количественные данные спринта:
      • Размер спринта в человеко-часах.
      • Количество #hotfix, #внепланово.
  • База знаний по задачам команды, наполняющаяся каждый день:
    • Сквозная история комментариев к задаче по всем спринтам.
  • Ненавязчивый контроль рабочего времени:
    • Прозрачность гибкого графика сотрудника и отработок.
  • Критически важная характеристика — легкий способ занесения потраченного времени: система горячих клавиш, кнопок быстрого доступа, работа с данными без ограничений UI.
  • Push/pull данных из центрального git-репозитория.

Сравнение Obsidian с специализированными серверными системами типа Trello (Plus-for-Trello)

Минусы

  • Нет нотификаций (упомянуть кого-то через @ и получить список действий, на которые отсутствует реакция).
  • Много ограничений из-за синхронизации данных на основе файлов и git.
  • UIX не всегда столь же удобный и понятный.
  • Ограниченное разграничение прав: либо полный доступ, либо почти никакой.
  • Оставить классический комментарий к карточке сложно.
  • Возможны мердж-конфликты, но при должной сноровке их можно избегать, и они будут редкими.

Плюсы

  • Локальные данные — ваши данные навсегда остаются вашими.
  • UIX текстового редактора ускоряет ввод данных опытным пользователем.
  • Плюсы git: полный доступ к истории.
  • Легкость кастомизации пользовательскими функциями.

Руководство

Концепция

На каждый спринт создается отдельный каталог. Основные артефакты каталога: файлы задач, файл доски, файлы ежедневных записей. Задачи в спринте делятся на два вида:

  • основные задачи спринта, которые приходят из бэклога,
  • предопределенные и out-of-flow задачи под ежеспринтовые ритуалы и сопутствующую деятельность.

Полный бэклог команды находится во внешнем сервисе, для удобного хранения бэклога в текущем проекте требуется доработка шаблона. Область действия шаблона в текущем состоянии: спринт спланирован во внешнем сервисе, в бэклог спринта заносятся уже отобранные и оцененные задачи.

Действия

Начало работы с инструментом

  1. Установить Obsidian.
  2. Клонировать git-репозиторий с agile-obsidian проектом на локальную машину.
  3. Открыть рабочий каталог клонированного git-репозитория как проект в Obsidian.
  4. Готово. При открытии Obsidian установятся необходимые расширения автоматически. Проект полностью готов к работе.

Базовое действие — работа с git-репозиторием

Завершение всех редактирований должно сопровождаться отправкой действий на сервер. Проект использует встроенное git-расширение для Obsidian, скрывая работу с git. Для отправки изменений на сервер: CTRL + P -> Obsidian Git: Create backup (пункт закреплен в списке команд). Автоматический бэкап специально выключен, однако коммиты создаются автоматически.
Затягивание изменений с сервера выполняется автоматически на многие действия. Для ручного обновления: CTRL + P -> ObsidianGit: Pull. Изменения записей за день практически никогда не приводят к мердж-конфликтам, как и изменения в файлах задач. Вероятность мердж-конфликта выше при работе с досками, однако нивелируется редкостью событий правки, а также если каждую правку сопровождать git pull & push.

Чеклист создания нового спринта

  1. Поменять текущий спринт в globalprops.
  2. Скопировать каталог предыдущего спринта в папку с именем нового спринта.
  3. Очистить папку комментариев.
  4. Удалить ненужные задачи:
    • Удалить файлы из каталога tasks.
    • Удалить ссылки с board.md.
  5. Поменять умолчательные директории для создания заметок по шаблонам учета времени и задач спринта (4 места):
    1. Settings -> Templater -> Секция Folder Templates
    2. Daily Notes -> New notes location
    3. В настройке board Kanban-доски сменить NOTE FOLDER на актуальный: board.md -> нажать на кнопку Open board settings и найти NOTE FOLDER.
    4. В настройке time_debt Kanban-доски сменить NOTE FOLDER на актуальный: board.md -> нажать на кнопку Open board settings и найти NOTE FOLDER.
  6. Предыдущий спринт добавить в excluded files в разделе настроек Settings -> Files and links.
  7. В каждой задаче добавить тег актуального спринта во frontmatter.
  8. В каждой задаче (файле в каталоге /tasks) актуализировать ссылку на previous во frontmatter файла.
  9. Проверить и актуализировать ссылки из доски Kanban — ссылки должны вести на карточки из нового спринта:
    • для доски board,
    • для доски time_debt.
  10. Актуализировать свойство debt для карточек debts (должен остаться только актуальный долг на текущий спринт).
  11. Удалить файлы из debts, на которые нет ссылок (их не должно быть).
  12. Актуализировать Estimate для каждой задачи.
  13. Синхронизировать актуальную папку _predefined с _templates tasks/_predefined:
  • Возможно, появились новые _predefined (хорошо бы удалить текущую папку, скопировать из шаблонов и применить task-template).
  1. Очистить в feedback.md колонку Разобрано.

Внесение записи за день

  1. На тулбаре нажать кнопку Open today's daily note (кнопку можно нажимать только один раз в день, в противном случае будет попытка повторного заведения файла).
  2. Выбрать из списка себя (если нет нужного исполнителя, необходимо выполнить действия "Зарегистрировать нового исполнителя").
  3. Внести проработанное за день время отдельными записями (см. "Справка" в файле).

Регистрация нового исполнителя

  1. Добавить в соответствующие списки нового исполнителя по аналогии в файлы шаблонов Шаблон файла ежедневного учета времени и Шаблон долга рабочего времени.

Для TODO по agile-obsidian см. board

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published