Mobile DevOps – From Standup Meeting to the Boardroom
Lately, there’s been a lot of talk about the role that DevOps plays in mobile application readiness. A few of you may be wondering why; DevOps is certainly not new to worldwide IT organizations. However, mobile DevOps – maybe for the first time – is finally getting a lot of wanted – and some unwanted — attention.
The rise of the mobile-first enterprise has put DevOps front and center in board and C-level conversations. CEOs and CIOs have always asked, “Are we going as fast as possible?” But mobility should cause them to dig deeper. The bright new world of mobile-first risks looking like a laggard compared to the sophistication and control of cloud-based web services. Understanding mobile app deployment details is finding its way into the boardroom. To increase deployment velocity, Mobile DevOps requires real mobile devices – and that is where the trouble starts.
The best practitioners of DevOps may release software many times a day or many times an hour. That may be too much for some, but a mobile development team practicing DevOps often deploys more than once a day. This velocity, which factors in mobile application testing, is critically important to the enterprise’s ability to respond to the ever-changing jungle of mobile devices and operating systems. It’s no wonder that CEOs and CIOs are asking questions – they are seeing DevOps and the release velocity that it creates as an indispensible competitive advantage. DevOps extends the agile mindset into operations. And for mobility, operations means real mobile devices.
One consistent characteristic of mobile DevOps practitioners is automation. The “2013 State of DevOps” report (http://info.puppetlabs.com/2013-state-of-devops-report.html) surveyed 4000 IT organizations and concluded that high-performing organizations ship code 30 times faster than their peers.
The need for greater automation has become increasingly apparent as the challenges of regression testing grow. Among the key metrics the study evaluated are change lead time (how long it takes to make a change) and change fail rate – the latter often caused by a mismatch between test and production environments. In mobility, this can be caused by the inability to get access to the right device at the right time or the use of a surrogate like an emulator. Every time a platform changes – which is quite often in the cases of Apple and Google – users rapidly upgrade. If developers and testers want to keep up, they must have a cross-platform testing strategy that leverages the use of automated test cases on real devices.
Combined with version control, automated code deployments during the testing phase can build production velocity. This is the only way to curb or eliminate a gradual divergence of test and production platforms, which is a common source of failures. The enterprise is able to support platforms as they progress into the future while preserving the ability to support users no matter which platform version they’re using.
Another characteristic of a strong mobile DevOps program is a systematic approach to reducing inefficiency. In a highly collaborative development organization, the enemy is idleness. This is especially true in mobile application testing, where it’s easy to create idle testers when devices are constantly in transit or hidden away in someone’s cubicle. These situations destroy deployment automation. What should take a few seconds can take hours or days to assemble. The release velocity of a mobile application hinges on developers and testers having access to real devices when they are needed. It’s safe to assume that a CEO or a CIO doesn’t want to hear that a deployment is delayed because no one’s given serious thought to the organization’s device access management strategy. The goal is to build a repeatable process, reducing the number of variables introduced by the work of making and testing a change. Developers and test engineers should be able to quickly access the right mobile devices and right mobile platforms automatically – and the best practitioners can match mobile app versions to the right test environments instantly.
The roles of automated mobile application testing and mobile device access management will continue to grow as mobile DevOps practices evolve. Mobile Labs’ deviceConnect can help automate configuration management and provisioning by deploying the right builds onto the right mobile devices and thus replicating your production environments — and the test automation capabilities provided by Trust focus squarely on reducing the number of failed changes. This is good news for development organizations that feel increased pressure from the C-suite to increase deployment velocity without breaking the bank.