​​Как считать/выявлять bus factor на проекте

Lana Novikova
2 min readDec 20, 2018

Все говорят про фактор автобуса, фактор грузовичка или фактор кирпича, — это число разработчиков, инженеров на проекте, которые могут попасть под автобус/грузовик/кирпич, в результате чего проект остановится.

Проще — это мера сосредоточения информации о системе, проекте. Самый критический фактор автобуса — это единица.

Термин, конечно, не новый, он появился в сфере управления бизнесом еще в 1998 году.

“Автобус” может быть любой, например, отпуск, увольнение, уход в запой, уход в декрет, поездка с целью медитации и просветления в ретрит на Бали на год, да что угодно, это образно. Но гораздо сложнее понять, где эти места в системе, где заключается автобусный фактор, чтобы его снизить.

Как посчитать фактор автобуса?

Представим, у вас есть 30 человек на проекте, который занимается веб-разработкой, в нем есть API, фронтенд и дизайн, без деталей. 5 человек разрабатывают API, 10 — фронтенд и еще 5 занимаются дизайном, ваш фактор автобуса — 5.

Потенциальные сигналы о наличии фактора автобуса

  • У вас есть разработчики, чей код вы не ревьюите. Почему? Да он крутой чувак, смысл его ревьюить, он пишет в своем стиле. Потом никто никогда не разберется в этой код базе.
  • У вас нет единого нейминга классов, переменных, структуры расположения модулей в проекте, нет требований к документированному коду и вы это не проверяете, ни вручную, ни автоматически.
  • CI/CD на проекте настраивал один человек, все просят его добавить, изменить pipeline, но никто не вдается в детали.
  • У вас есть давно закомментированные куски кода без понимания, почему это так и в каких ситуациях из нельзя ни в коем случае раскомментировать.
  • Документация и база знаний хранится в личных спейсах или еще хуже — на локальных машинах, которые могут отформатировать.

Можно ли выявить его автоматически?

Да, но это будет только диагностика, более глубоко придется копать тимлиду вручную. Например, вот такой тул есть для Git/HG репозиториев, он позволяет найти файлы, где основным контрибьютором по строкам кода является один человек.

В дополнение

Подписывайтесь на мой канал в Telegram Knowledge and Bacon.

Также советую посмотреть выступление Артема Быковца Bus Factor и риски его игнорирования.

--

--

Lana Novikova

Technical Writer, Knowledge Manager, DocOps, Meetup and conference organizer