We have an app that's currently only got about 120 users. The userbase will probably grow by 50% over the next 12 months - but we're going to have to separate storage etc. because we're looking at several TB of data. Later this year, we will move to cluster based hosting. The app will also be provided in multiple languages.
I'm at a stage with the project now where we sometimes need to add additional features rather quickly, and whilst the building the app the way it is was a business decision (time and money was short then and we had to have something running fast), now we need to have multiple developers working on the application, and it's a little tough, even though we have everything templated and documented well.
I have the opportunity to rewrite the application - we can build one team to simultaneously redo the codebase, whilst one team manages the existing application. Once the new version is caught up, we'll switch over to it.
The question is: should we use a framework for this application? I've looked at Symfony and CodeIgnitor, and obviously the latter is easier with a smaller learning curve for our team. On the other hand, if we just re-architecture the application and build our own 'framework' and classes (I know, no need to reinvent the wheel, but we already have hundreds of functions written which seamlessly talk to our database).
Now I've seen comments like 'if you want have an app you want to make a living with, use Symfony', but I just don't know how that works. I've made a living with WordPress websites before too, so that statement is, well, not helpful!
Any advice, please. Developer resource is not a problem for us, but I don't particularly like the restrictions Symfony imposes in terms of directory names, etc. (but I guess this is just a matter of getting used to things).
The thing is, I now have to make a business decision, ultimately, and I'd like to be able to justify it to my team. At this point, from my point of view, the only major benefit is that when we hire new developers, if they are familiar with the framework, their learning curve will be smaller. This logic supports Symfony, but to me it is not enough.
Qualified opinions will help.