I was afraid of that. You are modelling your needs on my numbers without any idea of the infrastructure or the requirements on my side.
We have two mail servers that are clustered for redundancy. We have two application servers, but one is dedicated to a particularly heavy application. The other two are a dev server in its own domain, and a test server that replicates the production server, but is cut from the production network.
I admit that, at first glance, 9 servers for less than 500 people seems to be overkill. If you think that you can trim that number, good for you. But I would be wary of comparing your numbers to mine (or any others) without knowing what infrastructure decisions have been taken.
For 350 people, I would estimate that one mail server and one application server would be enough. If development is done in-house, I always advocate a dedicated dev server in order to avoid breaking production because of programming issues. A test/training server is a good idea if there is lots of new development - this can even be temporary. Additionally, if access from the web is required, it is a good idea to have a server in a DMZ, replicating info from the mail server/cluster and serving it to the Internet. Those are my ideas, but I am not an admin.
As far as I can see, there is not really all that much you can skimp on. You have a mail server cluster plus the SMTP server - maybe you could take out the SMTP server but that depends a lot on your infrastructure. The development server is obviously a requirement, and given that you have a hub server for your application servers, I suspect that the 4 app servers are in 4 separate locations.
So the question is : can you afford replacing 4 app servers and a hub with a single (more powerful) app server and dedicated phone lines for each of the remote locations ? The costs need to be weighed carefully in this case before you can take a decision.
In my company, there are no remote locations, so we do not have that issue.
Such differences are the things that keep you from comparing your infrastructure to ours on a number basis only - unless I misinterpreted your architecture entirely.
Pascal.