Enterprise Deployment Best Pratices

We have been using a Mattermost enterprise server for a couple of months now and have about 45 users evaluating it. I work for a smallish (500 person) company and there has been a lot of interest from teams around the company to be on this server. I would eventually like to see all 500 users on the server. So my question is to anyone with a larger deployment, how are you organizing your users/teams/channels/etc.

Here are my thoughts and concerns. First I thought about having everyone in one team. That would allow cross functional teams to communicate and collaborate in private or public channels. However, I am concerned with the number of public/private channels that would be created with almost 500 users on one team. Additionally I think the Town-Hall chatroom would get very noisy!

So I thought, maybe I’d create separate teams at our “Director” level and then have one team for cross functional collaboration. But then that get’s in to users being on multiple teams and maybe missing something. And if I just let users create any teams they want what happens when users are a part of like 20 teams? I feel like it would be overwhelming for a lot of my users. Additionally, anyone who works for a larger company understands how re-orgs work. What happens if we re-org in the future

So how are you guys organizing your Mattermost servers? Multiple teams? If so do you let your users create new teams? Or just one team and users create channels as needed? How are you dealing with the noise of the Town Hall channel? Or something else?

I am an admin for our instance and I have had similar concerns and thoughts. Another wrinkle for us is BOTs, The one we are using connects to a single team. So I am pushing the single team approach on our instance. I have restricted the public channel creation to admins only to try and avoid ending up with way too many channels and confusing users. If a specific team makes a case why they need a separate mattermost team, I am open to it, but once I explain my concerns to them, so far they have agreed with the single team approach. With all that being said, even though our instance is available to 500+ users, not many of them have jumped on and started actively using it, so my methodology has not been truly tested. I am hoping to hear other experiences in this thread as well.