Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023)

Материал из 0x1.tv

Версия от 23:14, 2 июня 2024; StasFomin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Докладчик
Александр Аксельрод

Для управления разработкой традиционно используют Jira, Mantis, Redmine.

Для хранения знаний используют Confluence. Для управления личной эффективностью популярным инструментом является Notion.

Доклад посвящён возможности замены всех этих инструментов Emacs’ом при условии инвестирования времени инженерной команды в освоение этого инструмента.

Видео

on youtube

Презентация

Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023).pdf

Thesis

1. Основные возможности OrgMode

  • Язык разметки. Среди прочего, предоставляет функциональность, аналогичную Markdown/Latex, включает раскраску текста, организацию заголовков и таблиц.
  • Экспорт статьи в различные форматы. Действительно богатый функционал экспорта — помимо традиционных PDF/Tex/Odt поддерживает экзотические экспорты, такие как в формате статьи, в презентации в Beam или страницы в Hugo. Последнее позволяет вести статические Web-сайты в OrgMode и публиковать их, не выходя из Emacs.
  • Среда выполнения кода. Является аналогом Jupiter Notebook, позволяет в тексте статьи размещать код, выполняемый при экспорте. Результат выполнения подставляется вместо блока исходного кода и является частью результата экспорта.
  • Планировщик. Предоставляет функционал управления ToDo-листами. Сами ToDo могут размещаться во всех Org-файлах. По задачам доступна возможность поиска, фильтрации по тегам. При создании ToDo можно указать периодичность повторения напоминания, дедлайн, к которому должна быть сделана таска. Также можно задать набор различных статусов, в которых может быть таска.
  • Агенда. Можно сконфигурировать Дешборд, который отобразит в удобном виде важную информацию, собранную из всех ToDo, размещённых в разных файлах. По умолчанию отображает таски, запланированные на неделю или с истекающим/истёкшим дедлайном. При этом с помощью конфигурации можно расширить набор отображаемой информации — например, в отдельном разделе отобразить высокоприоритетные таски или все таски в определённом статусе.


EXWM как правильный способ использования Emacs

Emacs -- это не просто текстовый редактор, это комбайн, в котором можно читать новости, слушать подкасты, проверять почту, общаться в Telegram, программировать и многое другое. Среди прочего, есть возможность сделать из Emacs средство управления окнами. Проект называется EXWM и представляет собой тайловый оконный менеджер, в котором команды Emacs являются First-Class-Citizen.

Использование OrgMode + EXWM для личной эффективности

Объединяя OrgMode и EXWM, мы встраиваем OrgMode в повседневную жизнь, максимально упростив доступ к работе и таскам. Не нужно переключаться между окнами, чтобы посмотреть повестку на сегодня/создать новую ToDo. Из любого окна (браузера/конференции) можно создать таску с помощью комбинации C-c C t t или открыть текущую агенду.

Измерение эффективности процесса разработки с помощью Orgmode + Jira.

Для управления разработкой часто используется Scrum. Отличительной особенностью Scrum является работа по спринтам — команда планирует 2-недельную итерацию и принимает обязательство выполнить весь запланированный на итерацию объём работы.

Основной метрикой измерения предсказуемости разработки в Scrum является Scope-Drop — соотношение не выполненных задач из изначального комита спринта к общему объёму запланированной работы. Для контроля работы команд разработки, работающих по Scrum, хорошо подходит ритуал OpReview. На Op-Review среди прочего проводится анализ Scope-Drop, а также ход выполнения спринта. С помощью OrgMode можно написать скрипт, который по API получает из Jira данные о последнем спринте, считает Scope-Drop и представляет это в виде удобного отчёта.

Таким образом, к Op-Review получается автоматически сгенерированный отчёт в формате Org-файла, который можно проанализировать совместно с тимлидом команды. Ключевым отличием от аналогичных отчётов в Jira/прочих инструментах (некоторые используют для этого Metabase) является то, что отчёт можно редактировать в процессе Op-Review, записывая туда полученные выводы/обязательства до следующего Op-Review. Конечно же, делать это можно в формате тех же ToDo. Это представляет ключевое преимущество такого подхода.

Убираем Jira: настройка Scrum-процесса с использованием OrgMode

Развитием этого подхода является переход из Jira в OrgMode. Поскольку в Org можно вставлять куски кода, создавать таски, в т.\,ч. на основе заранее определённого шаблона, то мы можем перенести ведение задач из Jira в OrgMode. Для этого нужно проделать следующую работу:

  • сконфигурировать Агенду в формате Scrum-доски;
  • научить dev-team использовать Emacs. Для любителей Vim доступен Doom Emacs;
  • договориться о формате описания спринта — создать шаблон задач/шаблон спринта/создать свойства старта спринта;
  • написать скрипты, позволяющие запуск спринт/ завершать спринт/ генерировать отчёт для Op Review.


Ключевыми преимуществами этого подхода являются:

  • всё в Git — таски и анализ хода разработки хранится там же, где исходный код;
  • информация о задачах разработки всегда под рукой — фактически, встроена в оконный менеджер, нет необходимости открывать браузер, дедлайны всегда под рукой;
  • нет лицензионных костов, нет необходимости в централизованной инсталляции;
  • высокая степень кастомизации процесса.



Инженерный способ делать менеджмент (Александр Аксельрод, OSSDEVCONF-2023)!.jpg

Примечания и ссылки