With the mobile devices becoming ubiquitous in the workplace, enterprises are scrambling to make work-related applications mobile-ready, to not only make their employees/partners/contractors more productive, but also to give them the flexibility to do their jobs from anywhere, at any time.
With the traditional IT organizations unable to cater to this huge demand for enterprise mobile apps, business units are taking the matters in their own hands by buying COTS apps or by creating shadow IT teams to get apps built quickly. For the initial few apps, nobody seems to bother but as the no. and demand for these apps within the organization grow, this haphazard approach becomes a CIO’s and CISO’s worst nightmare.
This presents a whole list of IT challenges like support for multiple platforms, BYOD, authentication and authorization, end-to-end data security, speed to market, fragmentation of toolkits, life-cycle management of apps and integration with back-end integration to name a few.
To effectively leverage mobility, enterprises need the right people, right set of platforms, an agile DevOps methodology and a governance mechanism. For a broader discussion on this topic, check out this post Business guide to leveraging Mobility by Justin Roche.
To bring some order to this chaos, here is a list of top 10 technology considerations that enterprises should consider before embarking on the mobility journey:
1. Flexibility of Toolkit – With new and better developer toolkits/frameworks emerging on a daily basis, coupled with a need for a multi-platform support, toolkit flexibility is the holy grail for client app developers and they love it. This not only gives them access to their favorite toolkit, but also gives architects flexibility to choose the right toolkit for the right need.
2. Common Services – Almost every enterprise app that you build needs to provide some or all of these common services: authenticate & authorize users, provide offline capabilities for workers operating in areas with intermittent or no internet access, push notifications, and manage the life-cycle of apps over time. When an organization plans to build more than a bunch of apps, it is a design disaster if every app developer has to fend for herself/himself to implement these common services. Imagine the operations team managing these apps over the life-cycle of these apps.With the maturity of mobility platforms, there are solutions available in the market which can provide these common services out of the box and expose these services as simple REST APIs for the client app developer to consume.
Building the app only constitutes about 10% of the cost over the entire life-cycle of the app.
3. Reusable micro-services based back-end connectors – When an app has been integrated with a back-end application like an ERP/CRM, this should be available as an API for other apps to consume and in a format that client app developers are comfortable with i.e. REST/JSON. For micro-services in mobile refer to Evolving a Mobile centric Architecture : The Micro-services way by Cian Clarke.
4. Comprehensive Security Architecture – Security needs to be treated as a first class citizen and not as a feature – starting from the data on the device to the data in transit, securely connecting with back-end enterprise applications, user authentication & authorization, infrastructure, network and data center security. Look for technologies/platforms which can provide a comprehensive security model and address the needs mentioned above.
5. Flexible Deployment model – The platform/technologies should offer deployment options from on-premise to public cloud to be able to cater for different customer needs and budgets, especially a cloud based model which helps reduce barriers to entry.
6. DevOps – In today’s fast paced world, business expects IT projects to be delivered in a fast and agile manner, hence the platform/technology should provide you tools to adopt agile methodologies like CI/CD to be able to churn out mobile apps faster.
7. Scalable standard based platform – The platform/technology should be based on open standards to be able to harness the power of community development, at the same time, be able to scale to meet the growth requirements. node has emerged has one of most popular open standards technology for mobile. Check this post about node for more details – The rise of Node.js – and why it will rule enterprise software development for at least a decade
8. Mobile Device Management – This is obvious and generally the first step in enterprises adopting mobility, giving them the capability to manage security policies on the device and be able to wipe-off sensitive data from the device in case of theft/loss and also providing app distribution mechanisms.
9. Mobile App Analytics – These tools help enterprises to understand how users are interacting with the app, identify problems in the apps much more easily and in the process helping improve user experience as well as gaining customer usage insights.
10. Buy vs Build – It seems the world is coming a full circle on this one. Generally for an IT solution, this type of decision has been in favour of buy as long as you get 70-80% or more functionality out of the box.
According to Gartner “75% of application purchases supporting digital business will be “build” and not “buy” by 2020″.
For mobility projects, 90% of the cost lies in building and managing common services, integration to back-end applications and so on. So you need to weigh your options.
In a nutshell, mobility platforms have over the years matured and provide you a better way to manage the chaos of mobile app development and management. So make sure you evaluate the options to make the right choice for your enterprise.
About the author, Bhupesh Arya
Bhupesh is a Solutions Architect with Red Hat, based in Melbourne, Australia. With a strong background in product development, Architecture consulting, technical sales and program management, Bhupesh has helped multiple organizations transform their businesses through innovative use of cutting edge technologies.