Recommend environment seperation

The documentation states to following example.

You might create separate “dev”, “test”, and “production” environments to keep things isolated from each other, and give “dev” access to your entire organization but restrict the “production” environment to a smaller team.

Should we be putting everything which is production ready into one environment “Production”? What are good guidelines to follow in determining what goes into the same environment?