Enterprise App Development: A Better Approach

Consider these four guidelines for enterprise mobile application development in the age of mobile and cloud.

The ever-growing dependency on mobile technology has made the need for enterprise applications a hot topic. While convenient for employees, the rapidly evolving application ecosystem is fraught with complexities for businesses. Developers need to consider these challenges when they begin building applications that access core corporate data.

Things like mobile device management (MDM), mobile application management (MAM), enterprise mobility management (EMM), and cloud services all create confusion about what you need to start enabling your employees with high-value business applications.

Many device management vendors say that they will manage everything at the device level, while cloud vendors want enterprise decision makers to shift data to their cloud technology (something that gives many enterprises heartburn because of the level of risk to data and other security). In the end, many existing cloud vendors are not providing the prescriptive instructions on how to develop and deploy applications to end users. I've highlighted four main guidelines to consider when developing enterprise apps.

1. Connectivity
First and foremost, your application needs to have connectivity to the data you are trying to access -- for most large corporations this data is hosted behind a firewall. You need to have connectivity that is meant specifically for mobile. I have seen many projects fail because apps were built using a private WiFi network that had unrestricted access to the corporate network, but once users left the building the app stopped functioning as designed.

Another assumption is that connectivity is easy just by using the VPN, however I continually hear complaints about how VPNs are not meant for mobile. VPNs are session-based and will continually drop the session and require the user to log back in. Alternatively, you can have the VPN client send "keep-alive packets," but this tactic will quickly drain critical battery life. So, when evaluating how to achieve connectivity, look for something that is not session based, works while coverage is intermittent, and conserves battery life.

[Take BYOD hassles, add an extra dose of bureaucracy, and mix in child safety concerns. See why For Public Schools, Mobility Is A Minefield.]

2. Push/sync
Leveraging push technology is important. The most common reason is sending user notifications, but the greater value comes from enabling your applications to work while the user is offline. The key factor to consider when building mobile applications is that business applications need to work whenever and wherever they can provide the most value. A field-service worker needs access to critical ticket data while in remote areas with no coverage, and a traveling executive needs access to business intelligence data while in flight. This can be achieved either by pushing full enterprise data content to the application, or by leveraging a "poke and pull" method where you quickly notify the user that a device synchronization is needed. Be forewarned -- not every device is capable of doing this. Some operating systems prevent background processing, meaning user-initiated triggers will be needed.

3. Full management capability
Developing applications is only half the battle. Managing them is the other half. This includes things like application testing, rollout, and lifecycle management. Both are equally important, but mobile undeniably brings in new issues that you do not see on PCs, especially in a BYOD world.

The biggest wildcard is the lack of control you have on OS upgrades. Let's face it: OS upgrades can break apps. If you have an application that has become critical to your business, you will need to be able to fix it quickly and push out an upgrade. For the variety of devices and operating systems your employees use, you'll want a comprehensive way to manage the various apps as you migrate, approve, or deploy them. Also, providing an enterprise application store is a great way to provide optional value-add applications for employees to download on their own.

4. Open standards/open source
In the past five years, at least eight major app stores catering to various mobile operating systems have launched. Within this brief time period, a shift from closed systems to open standards has started to emerge. Also, the open source community has been flourishing (e.g., Github).

In many cases, app developers may have already figured out how to solve a problem you are trying to solve. Just remember: it's a give-and-take world, so when you figure something out, contribute it to the cause. The biggest standard in the enterprise for developing mobile applications is HTML5. HTML5 shows the biggest promise for writing one app and only requiring minimal code changes for each platform. Ideally, you want to stay away from anything proprietary that locks you into the vendor's development tools or framework, as it will require a complete rewrite and can be costly over time.

These four guidelines can help organizations strengthen the apps they deliver to clients and employees, as well as minimize some of the complexity that often comes along with the app ecosystem. Following these guidelines helps companies deliver business-critical apps that enhance the experience for employees and customers, maintain the security of the network, reduce downtime, and make space for innovation.

Mobile, cloud, and BYOD blur the lines between work and home, forcing IT to envision a new identity and access management strategy. Also in the The Future Of Identity issue of InformationWeek: Threats to smart grids are far worse than generally believed, but tools and resources are available to protect them. (Free registration required.)