At the time of this writing, I'm currently responsible for 15 client websites and web applications, 18+ internal sites and apps, and 8 OSS apps and libraries. I guess you would refer to my business as a development studio? Contract developer? As a part-time solo developer the management is getting tough.
One thing I'm specifically struggling with is how to handle technical debt and maintenance for client projects.
For the most part, these projects are complete and delivered. The client has paid me and I am providing the hosting service. Most of these are for small businesses, who paid me the price I charged and now have a website up and running. The problem is that I never addressed who covers the cost when a website needs maintenance. For example, I am spending this spring and summer upgrading every project from PHP 5 to 7. Enabling SSL by default, updating 3rd party plugins, etc.
It occurs to me that I never told my customers that this type of maintenance would be inevitable. I've corrected this by offering all new/recent clients a support contract for a small monthly fee, or informing them that if they don't want a support contract I will bill them for maintenance as it happens to be necessary. So new projects going forward are not the problem. However most of my older clients are not technically savvy, they are small local businesses, and it's hard for them to understand that a website built 5+ years ago won't just work forever. I'm planning to do it for free this year, and inform them that this won't be the case going forward.
I have an internal wiki where I record details of each project, and a checklist of info and things to be done for each project.
I'm wondering if any of my fellow Dev.to readers have strategies or suggestions for managing a large portfolio of distinct and different projects. Do you deliver a project then wash your hands of it? Do you share my feeling of responsibility for keeping your clients' sites up and running? Other tips?
I'm starting to see the allure of managing just one big SAAS project!