Om maar even een heel simpel antwoord te geven op je eerste 3 vragen:
Huur iemand in die wel verstand van zaken heeft om je de antwoorden te geven. Klinkt misschien nogal lullig, maar als het zo'n enorme 'core' vraag is die beantwoord moet worden, laat het dan ook doen door iemand die veel verstand van heeft. In feite wil je hier antwoord hebben op een haast bedrijfskritisch vraagstuk, en IMO slaat dat nergens op.
Goed, qua informatie. Probeer niet het wiel opnieuw uit te vinden. Er zijn weinig legitieme redenen te bedenken om zelf aan de bak te gaan, terwijl vrijwel alles al wel bestaat. Uiteindelijk boeit het soms ook niet wat jij denkt, of wat goed is maar wordt het een simpel kosten/baten verhaaltje. "Ja ik kan het net iets beter maken, maar dat kost dan xx-uur" VS "het is er al, maar is het net niet". Tja leuk, maar dan wordt het 9 van de 10x dus een bestaande oplossing.
Wij hebben zelf een geheel eigen code-base. O.a. vanwege het feit dat toen wij begonnen, er domweg geen enkel framework was en dat er altijd hard is doorgewerkt. Ja, we zitten nu eigenlijk in een situatie dat ik het liefst alles naar dev/null wil tieven, een framework uit de kast wil pakken en het opnieuw wil opzetten. Feit is: dat gaat niet.
Simpele reden: Mocht ik uberhaupt de tijd krijgen, meer mensen, meer geld om op een side-project ALLES opnieuw te maken, dan ben ik zo lang bezig dat als het klaar is, dat het weer oud is.
Dat komt omdat er 10-duizenden bestanden zijn, miljoenen lijnen aan code, duizenden functionaliteiten en vervolgens staat niets stil en blijft er aan gewerkt worden.
De enige manier is om het gefaseerd netjes over te zetten naar een enige vorm van 'huidige techniek' waarbij je zowel oude meuk ondersteund en al het nieuwe daadwerkelijk goed en 'nieuw' neerzet.
Over de jaren heen is de gehele code-base wel vernieuwd, in vergelijking met wat het was 4 jaar geleden. En zo is het volgend jaar weer iets nieuwer maar je loopt vrijwel altijd achter wat feiten aan.
Stel, je hebt ooit gekozen om voor CodeIgniter als framework te gaan, dan ben je nu de lul omdat het project zo goed als dood is. Wie garandeert dat Symfony er over 6 jaar nog is, of op zijn minst backwards compatible? Niemand.
Wij, en dat is dan specifiek ons, en niemand anders... hebben dus gekozen om het op onze manier doen. Niet omdat wij slimmer zijn, of het wiel opnieuw willen uitvinden, maar omdat het vrijwel de enige manier is om het voor elkaar te krijgen. En ja, geef mij 1 miljoen aan investeringen en ik kan het in een framework maken maar dat gaat hem niet worden.
Dus wat ik ongeveer nog wilde aangeven met dit verhaal: Niemand hier kan je een antwoord geven omdat het je eigen meuk is. Zet anders je source maar op github, inclusief al het FTE wat je hebt, en wat financiële planningen dan kan ik je direct een antwoord geven wat je precies moet doen. Overigens krijg je dan wel een factuur van me, en vraag ik nog even aan je waarom je geen manager IT hebt.
Voor mij is het ook de eerste keer dat een applicatie omgezet moeten worden naar iets nieuws.
En als je dan de vragen krijgt hoe je dit wil gaan aanpakken, stond ik ook met een mond vol tanden.
Het liefst zouden we alles willen herschrijven.
Maar de manuren, kosten en risico;s wat dat met zich meebrengt is niet echt haalbaar. aangezien we genoeg andere dingen hebben te doen.
Wat ik weten hoe kan je een beslissing maken om een nieuwe start te maken.
Ben jij manager? Nee? Ok, dan hoef JIJ dat niet te beantwoorden c.q. te beslissen. Het enige wat jij hoeft te doen is een plan te maken.
Wil je het herschrijven? Prima, dan kost dat xxxx-uur. Wil je ook nog continuïteit in je huidige product? Prima, dan moet er nog xx-FTE bij, en kost het nog eens xxx-uur extra. Dan zoek je de consequenties uit, wat voor product krijg je dan en wat levert dat dan op? Als je het niet kan verkopen dat je xxxx-uur er aan gaat werken om vervolgens maar x-uur per maand profijt er van te hebben dan lukt het dus nooit.
Je kunt ook gewoon als antwoord geven: sorry, ik weet het niet. Want laten we eerlijk zijn; je weet het niet. Prima om hier informatie te vergaren voor een vraagstuk, of als je hier een stelling wilt neer zetten. Iedereen is wel bereid om informatie te delen, maar jouw vragen zijn nog zo globaal dat dat weinig zin heeft.