Some quick questions and thoughts:
Are you migrating to the project deployment model?
Do your projects make full use of shared parameters and connection managers?
Have you changed the variables you want to control via environments to parameters?
The default values for your Connection Managers and Project Params should be the dev values. When you open them in SSDT (it's not called BIDS any more), all will be well, because environments are not being used there.
After you have deployed a project, you can create one or more 'References' to it, via the Configure option. Multiple environments can contain the same variable, but with different values. If that environment variable is 'mapped' to a parameter, you can select which environment to 'use' when you execute the package. So you can execute the same package with different values for connections and parameters, just by specifying which environment you want to use when you execute it.
Repeated deployments of the same project retain the environment settings - so while the initial config takes some time, it's mostly a one-off piece of work - plus ongoing maintenance & tweaks, of course.
If the answer to my first three questions was 'yes', you should find environments a powerful and, when you've got over the initial learning curve, relatively simple to understand, configuration tool.
Help us to help you. For better, quicker and more-focused answers to your questions, consider following the advice in this
If the answer to your question can be found with a brief Google search, please perform the search yourself, rather than expecting one of the SSC members to do it for you.
Please surround any code or links you post with the appropriate IFCode formatting tags. It helps readability a lot.