Фактор автобуса

Фактор автобуса (англ. bus factor; также фактор лотереи[1], фактор грузовика[2], или фактор цирка[3]) — количественная оценка риска, связанного с тем, что информация и ключевые компетенции не распределены между участниками команды, происходящая от выражения «если его собьёт автобус».

Концепция близка к идее риска для ключевого сотрудника, но основное внимание уделяет техническим экспертам, а не финансовым или административным руководителям (которых, теоретически, можно заменить за разумную сумму). Для влияния на фактор автобуса сотрудник должен быть одновременно ключевым и незаменимым; утрата заменяемого либо не ключевого работника не влияет на этот показатель.

Термин впервые стал использоваться в разработке программного обеспечения, где член команды мог создавать важнейшие компоненты, которые были недоступны остальным: например, если работа была не задокументирована, не передавалась, зашифрована, обфусцирована или оставалась в виде трайбального знания. В результате, потеря такого члена команды означала потерю его знаний и остановку проекта, если без них невозможно было продолжать работу.

Определение

Фактор автобуса — это минимальное число членов команды, внезапная потеря которых приведёт к остановке работы над проектом из-за нехватки знающих или компетентных специалистов.

Фраза «сбит автобусом» описывает ситуацию, когда человек либо погиб, либо по какой-то причине внезапно исчезает из проекта. Это тёмный юмористический термин для гипотетического обсуждения подобных потерь. На самом деле речь может идти о любых событиях, препятствующих внезапному и существенному участию человека в работе над проектом: уход на другую работу, декретный отпуск, смена образа жизни и др.

Например, если команда из 30 человек производит хлеб, проходя три важных шага: смешивание ингредиентов, замес теста и выпечка, при этом 10 знают, как смешивать ингредиенты, все 30 — как месить тесто, а только 5 — как выпекать. Если все 5 специалистов по выпечке покинут коллектив, хлеб выпускать будет некому, а фактор автобуса всей команды равен 5. Если фактор автобуса равен единице — это единственная точка отказа.

История

Один из первых публичных примеров этой проблематики — когда Майкл МакЛей в 1994 году задался вопросом, что будет с языком Python, если Гвидо ван Россум окажется вне проекта[4].

Понятие «фактора грузовика» обсуждалось уже в книге Organizational Patterns (2004)[5], которая являлась развитием идей, опубликованных в первом томе серии Pattern Languages of Program Design (1995)[6], основанном на материалах первой конференции Pattern Languages of Programs в августе 1994 года, где этот термин применялся в шаблонах вроде Solo Virtuoso[7]. В 1998 году термин был также применён в области психического здоровья для описания аналогичного риска[8]. В инженерии концепция встречается к 2003 году[9], а в проекте Debian — в 2005 году[10].

Исследования, проведённые в 2015—2016 годах, вычислили фактор автобуса/грузовика у 133 популярных проектов на GitHub. Оказалось, что большинство систем имеют низкий фактор автобуса (65 % имеют значение ≤ 2), а показатель превышает 10 менее чем у 10 % систем[11][12].

Термин используется главным образом в управлении бизнесом и особенно в сфере разработки ПО.

Повышение фактора автобуса

Во многих проектах разработки программного обеспечения одной из задач становится расширение обмена знаниями с целью повышения фактора автобуса — вплоть до всей команды. Хорошее значение фактор автобуса означает, что многие специалисты достаточно осведомлены, чтобы продолжить проект даже при неблагоприятных обстоятельствах[13].

Для повышения фактора автобуса предлагаются следующие меры:

  • Снижение сложности[14],
  • Полное документирование всех процессов и поддержание документации в актуальном состоянии[14],
  • Поощрение перекрёстного обучения внутри команды[14].

Примечания

Литература

  • Микеле Маркези, Джанкарло Суччи, Дон Уэллс, Джеймс Донован Уэллс, Лори Уильямс. Extreme Programming Perspectives. — Boston u. a. : Addison-Wesley, 2003. — ISBN 0-201-77005-9.
  • Лори Уильямс, Роберт Кесслер. Pair Programming Illuminated : [англ.]. — Boston u. a. : Addison-Wesley, 2002. — ISBN 0-201-74576-3.
  • Кент Бек. Extreme Programming. Das Manifest : [нем.]. — s. l. : Addison-Wesley, 2000. — ISBN 3-8273-2139-5.