As with all technology in the enterprise, uptime is critical for handheld devices. To ensure this, mobile software deployments for thousands of devices requires careful planning, testing and attention to detail. I’ve outlined some best practices and tips learned from assisting many companies with their rugged Android deployments via Mobile Device Management tools (MDMs). The following are the key areas that I typically will provide guidance to companies on:
Test deployment on lab devices. Utilizing your lab devices to trial deployment packages ensures that payloads apply successfully. For example, if upgrading an Android application it must be signed with the same certificate to properly upgrade. If not signed properly, an uninstall and reinstall would be required for the application to rev. This is also the time to test backout process to ensure recoverability (more on this topic below).
For large corporations, we have seen the benefit of having a mock store which is as production-like as possible. This ensures a pristine environment in which all functionality and integration can be tested post-deployment.
Risk / Impact Assessment
Determine impact of your rollout. The higher the risk, the longer the rollout schedule. Changes such as OS patches are high impact and often require brief outage time. This type of activity should be spread out over weeks. Low impact / low risk deployments like application releases or system config changes can occur silently in the background. These types of deployments can occur in just a few days.
Create a rollout schedule cadence based on your type of deployment. A full rollout should never be done in a single night. Phase the rollout over waves of increasing size while avoiding days with heavy store trading or limited technical support. We have often targeted Monday – Thursday during close of business for official releases. A well phased rollout has a schedule similar to the one below. Note, this example is for a major release such as WiFi proxy changes:
Pilot and gather feedback from users post-deployment. Always pilot a deployment and let it bake for a few days. Ideal pilot locations are power users of the affected system(s), one which you have a good working relationship with, and are local to the engineer/dev teams. Being able to pilot at an ideal site allows for better monitoring, quicker feedback from users, and the ability to resolve issues quicker.
Measure Real Data
Leverage tooling to provide assurance of rollout success. Automation tooling can be used to ease the rollout effort for your teams. Automated scheduling, automated build and upload to MDM repository, and automated retry/reprocess for failed downloads or installs reduce labor costs and increase adoption rates.
Reports should be generated regularly to determine successful application of change. These reports can be pulled from your MDM or, if using an analytics tool like BlueFletch’s Support Analytics, dashboards are populated automatically showing app versions, OS versions, etc.
If enabled via Support Analytics, application and device logging can highlight any issues or errors related to the deployment.
Lastly, mobile remote control provides the ability to validate deployments and/or view any issues that may have been caused by a release.
Roll-back and reversibility are critical for agile development releases. Ensuring that a release can be backed out to a last known working state allows release teams to move quickly and keep up with agile development teams and frequent builds. As it is timely to fully test applications or platform changes, test just the core functionality before release. QA teams can (and will) miss bugs, so ensuring a clean roll-back process can reduce testing efforts and shorten release cycles, as well as provide confidence that IT can support operational continuity of the business.
It is difficult to keep a fleet of devices pristine, with high uptime and changing business needs when volumes are in the thousands. Ensuring compliance and reducing software version fragmentation should be a priority for any owner of an MDM. Keeping a firm grip on scheduling and leveraging supporting tools will ease the pain.
BlueFletch has created a streamlined and purpose-built MDM for enterprise rugged Android devices. We’ve taken the experience of managing over 300 thousand devices, and included the functionality to deploy software and configs consistently and on-time. Please contact firstname.lastname@example.org if you’d like to demo our suite of tools for Android Device Management: EMS.