5 things to focus on to stay productive, responsive, and in control.
With the explosion of mobile devices and our increasing reliance on apps to stay connected anytime/anywhere, organizations of all sizes in any industry are “all in" on the mobile revolution.
Creating mobile applications to make their workforce more productive, optimize business processes, and better engage with customers is a significant focus for must software development groups. Today, most consumers have already made the shift to mobile thinking; they now expect to immediately get everything they want or need when they open an app on their smartphone, both personally and professionally.
For IBM i shops, the mobile revolution creates an additional challenge in that mobile changes must be synchronized with changes to the underlying IBM i applications or application services they are accessing. The good news is that IBM and the IBM i vendor community are providing the technology and tools to support mobile adoption in the IBM i environment.
As the enterprise platform for the core applications that run critical business functions, the IBM i is often the center of the mobile universe. The apps might be built for the mobile device, but the data and business functions the apps provide are running on the IBM i. Whether the IBM i team or a mobile team is building the apps, IBM i operations must help meet the challenges of deploying the code to the device or to a web server for mobile.
A loose management system may have been acceptable when mobile apps were single-function nice-to-haves, but these days they’re playing host to the enterprise’s most critical data, and they’re integrated with enterprise servers and networks. It’s now necessary to do all the same things with mobile apps and data that are done with primary IBM i applications—from keeping data secure, to adhering to compliance standards, to analyzing usage patterns, and more. So, where to start and how?
When looking at mobile development processes and how to make them better, these are some of the most critical challenges and what to do to overcome them.
#1: SYNCHRONIZATION OF CHANGES: Are the right things moving to the right places at the right time when updating the mobile apps?
Unlike pushing new RPG updates to the IBM i production environment, deploying mobile apps is an asynchronous “pull” process. IT operations cannot necessarily simply push changes to the mobile device at will. They might have to wait until the user signs on to the company’s enterprise app store or until they download the app from a public app store before the device gets the latest version of the code. They need to make sure that the right version of the mobile app is available for download at each stage of the application lifecycle. Testers need to be able to get the right version for testing while production users need the right version for production. Meanwhile, the application must ensure that users are prevented from accessing the application until they have the right version of the code on their device.
These are capabilities that can be provided by an enterprise mobile management system. An enterprise mobile management system will make it possible to attach mobile application changes to changes to the core IBM i applications. Changes can then be moved through the lifecycle together. The enterprise mobile management system will deploy the mobile code to the mobile build server (e.g.. Adobe’s Cordova/Phonegap web build server or an internal build server) run the build, import the build results, and then deploy the build results to an Enterprise App Server for download.
The enterprise mobile management system manages and tracks the downloads of the app to individual devices. It prevents users from signing onto the IBM i application with the mobile device unless they have the right version of the mobile app for their testing or production environment. The enterprise mobile management system ensures that mobile devices and core IBM i application environments stay in sync.
#2: SECURITY: Are all the corporate assets on the mobile device—the application itself and the data—secure even though it’s the user’s personal device?
In these days of BYOD (Bring Your Own Device), an enterprise’s most critical business data is getting in and out of rental cars, running to catch flights, dining out, and dancing the night away. IT is challenged with maintaining the security of the applications and data in the event those devices get left behind. How does IT ensure that valuable corporate data on the device is not compromised and the corporate applications are not accessible to unauthorized users?
It’s important to enforce sign-on policies for the device to protect those corporate assets. This might mean requiring a certain level of security on the device before it can access the network (requiring a passcode at a minimum) or demanding an additional authentication step on the device in order to use the corporate app. It’s also important to have the ability to remotely wipe data and applications from the device if it’s lost or stolen. These are capabilities that can be provided via a modern enterprise mobile management system.
#3: COMPLIANCE: Compliance demands that mobile applications have gone through the appropriate testing and approval processes like other code changes. Mobile development activity must be tracked and available for audit reporting.
Up until recently, most mobile development departments have been independent of the core application development group. Little attention has been paid to regulatory compliance because these apps were often independent of the core applications or they were just user interfaces. But now, as they contain more functionality and are integrated into IT infrastructure, all the same compliance rules apply to mobile apps as are applied to primary, host applications. Mobile development teams need to provide reports on who has touched what code, where the code is, who approved the promotion of the code, what changes have been made to it, and how it got to production.
For compliance success, bringing your mobile development processes into your traditional application lifecycle system is critical. Modern Application Lifecycle Management solutions include enterprise mobile management functions that put everyone onto the same centralized system with automated workflows and approvals. They make it possible to create and enforce repeatable, traceable, auditable processes that include mobile across IT and document them. That should provide the means to deliver reports with all the historical data that most audits require, including service request history, application change activity, authorizations and approvals, and incident trails.
#4: ANALYTICS: Capture data about usage and failures from the application directly from the device?
One of the core concepts of modern DevOps is tracking what happens with the application after it is deployed. This helps direct application development organizations to the areas in which their efforts will have the most impact. Usage analytics can answer questions like these: What features are used most? Which are used least (or not at all)? What content was accessed? Where have there been application failures? That data collection and analysis can be essential to mobile application development plans—what to build next, what to fix, and how to prioritize.
The right management and development tools can automatically insert analytics code into the application that report on exactly how people are using the app. Successful and responsive application development groups use these usage analytics to help drive their development decision-making.
#5: AUTOMATION: Are we doing too much stuff manually to maintain and deploy applications?
Mobile development teams are notoriously known as the ones who love the world of writing scripts to create lifecycle processes. But manual and informal processes can often to lead to errors in production, missed deadlines, and ultimately bad end-results.
Once mobile applications are added to traditional application development systems, it’s possible to replace manual, scripted, ad hoc processes with automated, compliant, release-management processes as defined by IT Operations. With the right system, this operation is completely configurable using simple point-and-click functions to meet the individual business requirements that the organization has established. By managing everything with a single system, all team members gain visibility into the entire change process. Coordinating the mobile changes with the core application changes becomes much easier.
Application Lifecycle Management for Mobile
With the addition of mobile apps and the power they provide, there’s never been a more exciting or more challenging time to be in the application development world. The industry is in explosive growth mode. But it can get incredibly stressful for all those involved. Creating rich, engaging apps that consistently deliver a?great user experience—and meet the need of IT for security governance, and management—requires solid processes every step of the way. IBM i users have tremendous experience in creating highly reliable, compliant processes for application delivery. By applying that know-how to the mobile environment while taking advantage of the great new technology coming from IBM, IBM i users can help their organizations move into the mobile world safely and productively.
It’s the holiday season, and everyone is in the gift-giving mood. Be sure you don’t forget to invest in your company and career.
Written by Brian May
It’s a special time of the year. Family gatherings for the holidays, football season, and time in the woods all make this one of my favorite seasons. The month of December is also unique for IT departments. December is certainly not business as usual for most of us.
It’s time for budgets. That may mean requesting budget items for next year or spending surplus budget before the end of the year. It’s often when project work slows down a bit as end users, and IT staff alike, take time away from the office. It’s a time when stress is often at its lowest, and it’s just easier to get some things done.