Most enterprises have a structured release management process that allows phased deployment between multiple environments including development, test, model (stage or acceptance), and production. https://en.wikipedia.org/wiki/Deployment_environment.
With Docker Enterprise Swarm you can generally setup these environments in one of the following ways: Single Cluster, Multi-Env Cluster, Geo-Single Clusters, and Geo-Multi-Env Cluster. I will explain these different approaches and help you determine when each approach might be useful in your enterprise. Of course, there are a myriad of variations on each of these that you could employ to suit your own needs.