Freelancers: How do you improve the Bus Factor when working alone?

The bus factor describes how many people need to be hit by a bus for a project to be in danger of failing. I’ve noticed for a large number of freelancers (including myself) the bus factor is 1. If I get hit by a bus, most of my clients will be left high-and-dry.

How do you reduce the Bus Factor so that your client’s projects can continue if the worst happens to you?

Here’s what I (am trying to) do:

  1. All of my clients have a list of all usernames and passwords for all the infrastructure their sites run on. (Databases if any, hosting accounts, domain registrations, etc.) I usually print this out and give it to them physically, since they are often much better at keeping track of the “sacred paper” than a random digital file somewhere. (Plus its more secure.)

  2. That paper includes credentials for accessing a Github repository containing all of the code for the site.

  3. I also make sure that all of my projects have detailed enough readmes for a new developer to get up-to-speed fairly quickly. This includes deployment steps (which I usually implemented as a bash script), an overview of the architecture of the code, a section for any unusual implementation decisions, and occasionally styling guidelines. While Kirby provides a strong pre-designed architecture, there’s still a surprising number of programming decisions that can go into building a website.

I think this goes a long way to improving the bus factor. What do you do?

You might want to add a paper/information for the client about tasks that have to be done regularly, e. g. renewing SSL certificates, expiration dates of users, checking for security updates and end of life dates, expiring licenses etc.

From what you did mention, it already sounds quite good!

That’s a great idea, I hadn’t thought of that. I’m not sure most of my clients would be able to do some of that though unless I write extremely detailed instructions. Sounds like a good section for the readme maybe.

They don’t have to be able to do it - they just have to know the two or three major steps (delete expired certificate, get a renewed one at [some site], install the new one) and when/how often to do it. Then they can hire some freelancer or ask someone from their business to see how this works or to get it solved. They just have to know what has to be done to keep the whole thing running in case you are gone/busy with other trouble. Bigger companies have such documents due to compliance requirements e. g. due to ISO-related certifications or GDPR and they can outsource that work or hire/train someone quite easily; they just need to know it’s necessary and the need to do this exists.

Furthermore you might want to add some kind of emergency contact and contact methods for 24/7 emergency help e. g. if they got hacked on Christmas day/sales or there’s major legal issues to be fixed short term and you are non-reachable for whatever reason.