Bus Factor

Many of you may be familiar with bus factor, lottery, truck factor, and/or bus/truck number. For those that aren't though, I wanted to take a small moment to explain it. The concept is quite simple. This "factor" is nothing more than a scary way of labelling the number of developers a project could stand to lose (get hit by a bus) before the project couldn't continue. People have various events in their lives that permit or prevent them from performing certain tasks. As with software development someone's ability to keep working on a project could be taken away by changing jobs, getting a promotion, winning the lottery and quitting, or the more tragic getting hit by a bus/truck.

The bus factor becomes far more important when taking into account things like separation of duties. Trying to draw the line between who needs to know what about what and when can be rather difficult, especially on small teams of 3 or 4 developers. It's easy for smaller companies to fall victim to having a low bus factor which means that losing only 1 or 2 developers could end up killing a project or even worse, bankrupt the company before it can recover. For this reason a higher bus factor is desired.

For the aforementioned separation of duties it's important to maintain this to help prevent a disgruntled employee from sabotaging a project or leaving backdoors in place that are supposed to be removed. Some clients may be more insistent on this if the program being developed is for sensitive data processing/management. In these cases the best thing to do is perform a full cost benefit analysis on the project. If the client absolutely requires you to hire more people then factor that into the cost to them and if they still accept it then you should be good to go. If they're unwilling to accept a smaller team you may have to evaluate the possible gain to the possible risk of having a lower bus factor.

All in all the bus factor is a pretty simple concept but can interact with other best practices in strange ways. There aren't any specific magical numbers that guarantee success, but knowledge of the concept of bus factor will certainly help mitigate a catastrophic event should one happen.


Call us at (214) 556-6613 or   CONTACT US