Quite often, chatting about releases with people who are not familiar with the mobile SDLC, I notice that they struggle to understand the costs vs benefits balance of a solid mobile quality engineering setup.
In fact, one of the most obvious differences between Mobile and Web releases is their different ability to absorb errors. The process of releasing a new version of a web app is typically completely under the control of the developer and each release is adopted by users at the same time as it is deployed in production. In case of serious issues, rollbacks benefit from the same advantages and can be performed fairly quickly.
Things are different on mobile. Any new version of your application has to undergo some kind of app store validation and, while it’s possible to try and expedite it for hotfixes, it usually takes from a few hours to a few days. This rules out actually really quick rollbacks and hotfixes.
On top of it, adoption on mobile is not immediate. Users have to download the new version (wether it actually contains a fix or a rollback) and, depending on various factors, it takes a certain amount of time.
For these reasons, a good damage control strategy – e.g. fast and effective release process suited to release fixes quickly, phased rollout, monitoring and observation – is extremely important in mobile environments.
But can it be considered enough? Given the constrains we have to work within, can we do better by tweaking our process? Can we try and prevent the damage, rather than limiting ourselves to controlling it?
This is where a shift-left strategy and a move from Quality Assurance to Quality Engineering make a difference. Given the costs of Damage Control in mobile, improving Damage Prevention has a higher ROI than in other environments.
Implementing good damage prevention strategies and plans require an in depth analysis of your development process in order to select and implement the best fitting solutions. The Quality Quadrants framework is a good example of a framework that can help you analyse and design the best strategy for your organization.