Как считать/выявлять bus factor на проекте
Все говорят про фактор автобуса, фактор грузовичка или фактор кирпича, — это число разработчиков, инженеров на проекте, которые могут попасть под автобус/грузовик/кирпич, в результате чего проект остановится.
Проще — это мера сосредоточения информации о системе, проекте. Самый критический фактор автобуса — это единица.
Термин, конечно, не новый, он появился в сфере управления бизнесом еще в 1998 году.
“Автобус” может быть любой, например, отпуск, увольнение, уход в запой, уход в декрет, поездка с целью медитации и просветления в ретрит на Бали на год, да что угодно, это образно. Но гораздо сложнее понять, где эти места в системе, где заключается автобусный фактор, чтобы его снизить.
Как посчитать фактор автобуса?
Представим, у вас есть 30 человек на проекте, который занимается веб-разработкой, в нем есть API, фронтенд и дизайн, без деталей. 5 человек разрабатывают API, 10 — фронтенд и еще 5 занимаются дизайном, ваш фактор автобуса — 5.
Потенциальные сигналы о наличии фактора автобуса
- У вас есть разработчики, чей код вы не ревьюите. Почему? Да он крутой чувак, смысл его ревьюить, он пишет в своем стиле. Потом никто никогда не разберется в этой код базе.
- У вас нет единого нейминга классов, переменных, структуры расположения модулей в проекте, нет требований к документированному коду и вы это не проверяете, ни вручную, ни автоматически.
- CI/CD на проекте настраивал один человек, все просят его добавить, изменить pipeline, но никто не вдается в детали.
- У вас есть давно закомментированные куски кода без понимания, почему это так и в каких ситуациях из нельзя ни в коем случае раскомментировать.
- Документация и база знаний хранится в личных спейсах или еще хуже — на локальных машинах, которые могут отформатировать.
Можно ли выявить его автоматически?
Да, но это будет только диагностика, более глубоко придется копать тимлиду вручную. Например, вот такой тул есть для Git/HG репозиториев, он позволяет найти файлы, где основным контрибьютором по строкам кода является один человек.
В дополнение
Подписывайтесь на мой канал в Telegram Knowledge and Bacon.
Также советую посмотреть выступление Артема Быковца Bus Factor и риски его игнорирования.