When releasing your feature
- Develop and test your feature on all platforms that you will release to, manually, step by step, as your customer will use. We always have automated test in place and run after each commit or check in. Now they are about to head toward your customers - not your QAs, test act as customer would otherwise do for you.
- Get your service ready: usually a new feature will generate load to your service. Have an estimation of how much that is. Perform accurate comparison and provision your service capacity as feature are rolled to more and more customers. Accept the cost added to your service, and this will give you a better justification on the value that the feature would bring in.
- Make your client feature controllable at service. When surprise - crash, battery drain, overloading service - happens, you could turn off the feature from the service end without another release.
- Always give your client feature a safe default, that is, when service is unavailable, 5xx, or similar, do not load the feature, and so that no crash shall happen.