🚎 Автобусное число как лучшая метрика оценки устойчивости проектов. 🚌
Сегодня узнал про термин "автобусное число" или "bus factor" (обозначим его b). И это. просто. гениально!
Статья на медиуме и
википедии.
b - минимальное количество людей, которых необходимо сбить автобусом, чтобы проект полностью остановился\провалился.
В вырожденном случае, если b=0, проект сам по себе уже поломан, сколько бы сотрудников не было.
Т.е. если у вас всё держится на одном человеке, b=1.
Если в проекте людей много, но держится на двух ключевых архитекторах, b=2.
И т.д. по мат.индукции до тех пор, пока проект не становится гиперустойчивым в полностью друг друга заменяющей команде из n человек, когда b=n. Что, правда, тоже не правильно т.к. нет разделения по функционалу.
И вот, я до глубины мозга костей прочувствовал, почему порой компании ходят на встречи сворами, делят функционал по отделам, всегда есть замы и на первый взгляд не очень полезные люди "на подхвате". Потому что случись что (отпуск\форс-мажор\увольнение\болезнь или не дай бог смерть), проекты должны идти, и не зависеть только от конкретных людей (ну хотя бы критическая часть).
И сейчас у себя на работе я вижу на практике как мы от структуры из конкретных людей перестраиваемся в структуру с функциями, ролями, границами, структурами и регламентами. Раньше кости росли, а сейчас они твердеют. Это значит что уже реально созрели, и это очень интересный процесс.
И если раньше мне казалось что по любому из моих проектов b=1, то сейчас иногда уже проглядывает b=2 а то и b=3, так что если вдруг меня сообьёт автобус, сломается не всё))
Но если это сообщение читает какой-то водитель автобуса, пожалуйста, не воспринимайте это как призыв к действию. У меня ещё есть планы)
Кстати, в теории графов есть похожее понятие - k-ядерность (k-coreness \ к-вырожденность). Тут классическое
объяснение, а в целом про метрики графов я как-нибудь отдельным постом объясню. Но это тоже про устойчивость, правда не проектов, а графов как таковых. И число связности позволяет понять "робастность системы", но уже тоже немного иначе.
Желаю вам в проектах увеличивать автобусное число, но при этом не попадать под те самые автобусы)