Czy spotkaliście się kiedyś z określeniem Bus Factor?  Jest to tak zwana miara ryzyka wynikająca z informacji oraz umiejętności niedzielonych pomiędzy członkami zespołu. Innymi słowy jest to liczba osób jakie muszą zostać „przejechane przez autobus” by nie dało się kontynuować projektu.

Jak rozumieć Bus Factor?

Wyrażenie „przejechane przez autobus” nie należy brać dosłownie. Oznacza ono dowolny losowy przypadek, który może sprawić, że ważna osoba w projekcie zniknie.Załóżmy na przykład, że mamy super ważny, duży projekt którym zajmuje się 10 osób w tym 4 osoby odpowiedzialne za front, 4 odpowiedzialne za backend I 2 osoby odpowiedzialne za utrzymanie całej infrastruktury serwerowej. W przypadku jak znikną 2 osoby odpowiedzialne za serwery może się okazać, że projekt nagle stanie ponieważ nikt inny nie zna się na obsłudze infrastruktury a czas potrzebny na znalezienie, wyszkolenie i wdrożenie nowych osób może być długi I kosztowny.

Jak temu zapobiegać?

Aby podnieść Bus Factor wystarczy, że wprowadzimy parę drobnych praktyk do naszego projektu. Starajmy się aby osoby w projekcie oprócz swoich normalnych zadań wiedziały też co robią ich koledzy tak by mogli ich zastąpić w razie nieprzewidywalnego wypadku. Rozdzielajmy również zadania na mniejsze rzeczy np.: jeśli wprowadzamy dużą funkcjonalność do naszego projektu to niech jej nie wprowadza jedna osoba tylko kilka.  Dobrym rozwiązaniem jest także utrzymywanie i ciągłe aktualizowanie istniejącej dokumentacji. Dobrze prowadzona dokumentacja może skrócić czas wprowadzania nowych osób do projektu do niezbędnego minimum. Również dobre praktyki programowania, stosowanie wzorców może pomóc wprowadzaniu nowych osób do projektu.

Jak widać nie potrzeba wiele by zwiększyć nasz współczynnik a mogą one być ratunkiem w trudnych sytuacjach.Najgorsza możliwa sytuacja to prowadzenie projektu przez jedną osobę. Wtedy Bus Factor wynosi 1 i projekt właściwie może przestać istnieć w wyniku losowego zdarzenia.

A jak u was to wygląda? Macie takie projekty, gdzie Bus Factor wynosi 1. A może macie jakieś dobre rozwiązania by temu zapobiegać?