I'm the lead dev at a fairly small company (and for now our Mattermost admin), so while it's still evolving our current organization is:
- Public channels for off topic (news, funny videos, etc) and Mattermost administration/help discussions
- Team specific private channels
- Private channels for automated updates (only Git currently)
- Lots of discussion in direct messages
This design mostly arose from our desire to be able to give outside contractors Mattermost accounts, in which case nothing particularly sensitive can be discussed in public channels. We haven't actually gone through the process with an outside contractor yet, but the idea is we'll create a new project-specific private channel for discussions with them. All full time employees currently have access to all private channels and we use per-channel notification controls to reduce the noise (though honestly we're still low enough volume I don't think many users are really bothered by notification noise yet).
Does Mattermost still have the problem with reusing a channel name? I would think creating your sub-team private channels might eventually run into name clashes after a while... "Build system refactor #3" might be a little tedious?
I'll be interested to hear what other people's approach is.
Thanks!