@Rana That plays a part in managing the complexity, but that doesn't entirely escape it. I think it is essential to create a mentality in the team of reducing complexity as much as possible. That means reusing metaphors, avoiding "nice to haves" when possible, providing good APIs so people can customize, etc. A great example is how #GitHub has stuck with a two-level namespace (e.g. https://github.com/one/two) even as it has become massive. #GitLab's subgroups are an example of bad design IMHO