Another great read for those who write code.
On Long Term Software Development https://berthub.eu/articles/posts/on-long-term-software-development/
These are the recommendations for long-term software development:
- Keep it simple. Simpler than that. Yes, even simpler. You can always add the complexity later if needed!
Keeping it simple requires periodic refactoring / code deletion
- Think real real hard about your dependencies. Fewer is likely better. Scrutinize and audit. And if you find you can’t audit 1600 dependencies, rethink your plan. Don’t go for LinkedIn-based development choices.
Re-visit your dependencies periodically to see how they are doing
- Testing, testing, testing! Will help you spot shifting dependencies in time, will give you confidence to do the refactoring you need to keep things simple
- Document all the things, not just the code, but also the philosophy, the idea, the “why”
- Aim for a steady team. Get actual employees with a long-time investment in your project
- If you can get away with it, ponder being open source
- Logging, (performance) telemetry will save your bacon over the years