Prodigent

What Is Bus Factor?

Bus factor is how many people can be unavailable before a piece of work stalls. A bus factor of 1 means one person holds the part that is not written down.

Bus factor is the number of people who would have to be unavailable before a piece of work stops. The name is blunt. It is a single point of failure, applied to people rather than servers. A bus factor of 1 means one person can explain why the system works this way, and everyone else would be guessing.

The failure is ordinary. The person who knows the billing job is on leave, a pull request touches it, and the review is an approval because nobody else knows what the lock is for. The code is in the repo. The reason is not.

How to tell

  • The same name is on every incident, review, and design question for one area
  • A path has no recent commits from anyone else
  • The answer to "who knows this?" is one person, and there is no second sentence
  • A holiday or a resignation is when the team notices

A busy person is not the same thing. Someone can review most of the team's pull requests and still have written the constraint down. The risk is the unwritten part: the job must not run twice, the lock is held by the database connection, refunds are a billing-team action.

What lowers it

Naming a backup does not lower the bus factor until that person has changed the system and can say why it is built that way. Get the sentence out of the one person's head and attach it to the thing it describes, while they are still around to correct it.

Do it for one area

  1. 1

    Name the area

    The place where questions always go to one person. Start there, not with a map of the whole system.

  2. 2

    Write the constraint

    One paragraph, in their words. Put it where the next change will be seen: on the service, in the decision, in the postmortem the next reviewer might actually open.

  3. 3

    Have someone else ship a small change

    In that path, with the first person reviewing. After that, a review should not require them. If it still does, the paragraph was the wrong fact.

The next reviewer needs the reason

Prodigent keeps that constraint next to the code, so a review does not depend on one person being online.

Try Prodigent free

Request a demo

Tell us a little about your team and we will set up a walkthrough.