I second George's response. In practice this works quite well and helps you isolate service accounts, user access, data migrations, etc.
It can be tricky at times if you have 3rd party integrations as part of your product (eg. SalesForce, other clouds), part of the dev process(3rd party CI/CD, centralized builds, etc) or business process (analytics).
However, in my opinion, this is a small price to pay for the benefits of environment separation.