The rise of mobile technology in the consumer market has had a major influence on enterprise app development and lifecycle management, and IT administrators can't ignore these effects.
In the PC era, it often took years for vendors to release new versions of their applications, and it was common for these new versions to ship with hundreds of new features, fixes and changes to design. The same still holds true for most legacy software in the enterprise. It takes a long time for change to happen.
When it does, the change is massive and disruptive -- and not always in a good way. It can be difficult for users to learn their way around a drastically new version of what is supposed to be familiar software. Even a seemingly small change can lead to an increase in help desk support tickets and a nightmare for developers; just look at what happened when Microsoft removed the Start menu in Windows 8.
Popular consumer mobile apps have changed users' expectations when it comes to new software releases. For example, Facebook updates its mobile apps every few weeks. These smaller incremental updates are far less disruptive, and they allow the social network to respond more quickly to user feedback.
"People get important stability, speed and feature improvements as soon as they are ready," the company said in a 2012 blog post announcing the move to date-driven release cycles. "This helps us drive toward higher quality."
IT's new role in enterprise app development
As more organizations adopt this model for their internal applications, IT administrators must get more involved in the enterprise application development process. Deploying new versions of apps every few years is one thing, but doing it every few weeks can quickly overwhelm an IT department, especially if the deployment process is manual.
And that's not to mention the wide variety of mobile devices and operating systems in use today. The Android ecosystem suffers from severe fragmentation; the Jelly Bean, KitKat and Lollipop versions of the OS are all still popular among Android users, according to Google statistics from March. Multiple devices from a range of manufacturers run each version, further fragmenting the market. Throw in iPhones, iPads and Windows devices, and maintaining different versions of apps for all the devices employees want to use becomes an untenable situation.
Enter DevOps -- and the need for IT to learn how to code. DevOps is what its name implies: a combination of development and operations. The term has a lot of definitions and real-world applications, but at its core, it's about using coding to automate monitoring, configuration management, application lifecycle management and other traditional IT operations tasks.
DevOps is not solely about mobility -- in fact, it began with server-based applications in corporate data centers -- but it's a natural fit, given the need to continuously develop and deploy new versions of mobile apps. By following DevOps principles, IT administrators can use code to automate much of an app's lifecycle, from prerelease testing to post-release performance monitoring. There are even mobile DevOps tools that use artificial intelligence to analyze an app's effect on its back-end infrastructure, identify the cause of a problem, and either explain the solution or perform the fix automatically.
CIO strategy guide to enterprise mobile app development
Guide to enterprise app development and SOA