Do you want to take control on which version of your application can be deployed into Production environment? IBM UrbanCode Deploy Environment Gates and Version Statuses can help you.
This example will show you how to define policies to allow Production deploy only if application has passed QA environment deploy.
Go to Settings -> Statuses
Add a new Version Status and name it: QA PASSED