Imagine the following scenario:
- Codebase of 600,000 lines of code (C#)
- All in a single desktop application
- All written by a single developer (myself) over 8 years (3 years worth of actual coding time).
- The software is powerful and flexible (obviously vague), thus there is inherent complexity in the code, even if it is modular and low in debt.
- The software is in a niche machine control industry, so there is a very long ramp up for domain knowledge of both the machines, and the code.
- The software will become more and more custom where individual customers get their own addons and enhancements
What would be a recommended software team size for a half million line codebase (C# desktop) like the one above? What would be ideal for a typical 500k LOC C# desktop application?
This software is not 'end to end' lifecycle. It is 'end to infinity' meaning it will continue to grow and get bigger and and more powerful and complex. Especially as more engineers are added to the team.