Vielleicht kann ich auch noch etwas beitragen. Ich mache schon 3 Jahrzehnte in Software-Entwicklung und habe schon eine Reihe großer bis sehr großer Programme "unter den Fingern" gehabt. Groß beginnt bei mir ab ner Million Codezeilen, ohne Fremdkomponenten.
Zwei dieser Projekte sind deutlich über 20 Jahre alt, eines davon noch mit Delphi 5. Dieses ist nur noch mit Mühe unter Windows 10 zum laufen zu bringen. Es ist absehbar, wann der Compiler einfach nicht mehr funktionieren wird.
Hier wurde erwähnt, das man für alles am besten Fremdkomponenten nehmen sollte. Dem widerspreche ich in aller Form
Denn hier, in diesem Projekt, sind das inzwischen an die hundert solcher Komponenten geworden, von denen ich vier (!) auf ein neues Delphi bringen konnte. Die restlichen Komponenten sind nicht austauschbar, es gibt auch keine neuen Versionen davon - sie müssen also hart refaktoriert werden.
Der restliche Code ist der übliche Alptraum, hier haben sich an die 20 Entwickler versucht, in den unterschiedlichsten Kompetenzgraden. Aber eines ist klar: Neu schreiben kommt nicht in Frage. Wir portieren Fenster für Fenster in DX10, ziehen
Unicode nach, tauschen die Datenbankkomponenten von "keine Ahnung, was das ist" auf FireDAC etc. Das wird auf lange Sicht deutlich billiger werden, als es neu zu implementieren. Die Software ist in der Werbebranche zu Hause, da wird so oft ne neue Sau durchs Dorf getrieben... Da macht das schrittweise Umschreiben mehr Sinn.