10 years after the launch of the iPhone, mobile apps have transformed the way that enterprises can engage with employees, partners and customers. Whether developing tactical apps as one-off projects, managing enterprise-wide mobile strategies, or delivering apps that integrate with multiple back-end systems, the list of technologies that exist today to support enterprise mobile development initiatives is broad. Organisations need to understand not only what technologies are available but also which ones are best suited for their needs.
These technologies include API management solutions, off-the-shelf tools, in-house development tools, cloud-based mobile backend-as-a-service (MBaaS), mobile application development platforms (MADP), and rapid mobile application development tools (RMAD), which can range from very simple drag-and-drop tools to more complex scripting and modelling technology. CIOs can play an important role in navigating the mobile ecosystem and advising business heads on the right technologies for their organisations.
Based on my experience in working with enterprises on their mobile app strategies I have shared some questions that can help guide the selection of technology:
Who are the apps being developed for and what features do they require?
User experience is one of the key factors that contribute to the success of a mobile app. Developers should consider consulting with representatives from the target user base when starting a new development project so that they can better understand users’ unique needs.
For example, users involved in areas like field sales or service, workforce management, or supply chain management can benefit from mobile apps with business process automation features that replace paper-based processes such as signature capture, barcode and QR scanning, push notifications and support for messaging and SMS.
Alternatively, an app for customer self-service or marketing users might be more helpful if it includes features that make use of the device camera, geo-location, and integration to third party services such as SMS, mapping, social media, and messaging.
For employees dealing with sensitive data on mobile devices, developers should also factor in authentication and authorisation capabilities by taking advantage of device features such as the camera, interactive screen and microphone, and integration with SSO.
Consulting users on the features that they need and gauging the number of users that the app is expected to serve can help developers decide how simple or complex the app(s) may need to be.
Should you develop native or hybrid apps?
Decisions about whether the app can be limited to a specific type of device and OS, or needs to cater to multiple form factors can also be influenced by the target user base.
RMAD tools tend to be more aligned to specific use cases, vertical sector apps, and tactical development of less complex apps. For this reason RMAD is well-suited to meet demand for B2E apps. However, RMAD offerings are typically limited in scope for the level of customisation and integration often required for B2C apps, or for native app development, which uses knowledge of specific OS and development tools.
Do you have the required skills in-house?
It is worth noting that hybrid developer skills can be more readily available than native coding skills and hybrid can allow for a single codebase that can be deployed across different device operating systems. Where apps are iterative and mobile strategies can support continuous delivery of apps to the enterprise, hybrid apps can offer lower app lifecycle costs. It is also worth considering how future connected devices, apps and operating systems might be supported using open and standard technology.
The popularity of RMAD tools can be impacted by a gap in developer skills, demand for mobile apps, and a desire to get apps to market faster. Low code / no code technologies enable more citizen developers to help meet demand without requiring complex coding skills.
Will the app(s) need to integrate with internal back-end systems?
The answer to this question can be a critical factor in determining whether an RMAD tool can provide the necessary capabilities, or whether MBaaS and a MADP would be better suited for the use case.
If the app front end is fairly simple, such as a form-based app that replaces a paper-based process, then RMAD tools may enable citizen developers to help meet this requirement and get the app up and running more quickly. Off-the-shelf or semi-custom apps are also worth considering for creating this type of app. Equally, if the app does not need to exchange data with third-party applications or internal business systems, then RMAD tools may be the more appropriate choice.
MBaaS offers functionality for integrating back-end services and mobile apps, but not all MBaaS offerings have the same degree of enterprise-grade integration support. Back-end integration security is a crucial consideration when enabling enterprise systems and data sources to connect with mobile apps. Organisations should speak with vendors about how enterprise data is handled end-to-end, whether the MBaaS integrates with existing enterprise mobility management solutions, and whether the platform supports specific security technologies such as user access controls, authentication and encryption.
Should the front end be customised?
To reduce complexity, RMAD tools are generally single stack, which can force enterprises to use the complete environment, including the front end and any middleware included within the tool. This differs from MADP tools where front-end services are typically decoupled from the back end, enabling more flexibility in using back-end services with other front-end tooling.
In my experience, some of the most successfully adopted enterprise mobile apps have involved short iterative development cycles that take account of user feedback and enable continuous innovation. For apps requiring a moderate degree of front-end development and early prototyping to enable feedback to be collected from end users, with iterations released over time, a mobile application platform may be more appropriate.
Does your organisation need tactical apps, or a mobile strategy?
If the organisation is looking to mature its app programme from tactical app delivery to an ongoing strategy of mobile app delivery, it should consider using a mobile app development platform that offers some pre-packaged services, templates, rapid app development tooling, and lifecycle management. This can drive greater efficiency and facilitate agile development practices.
MADP can facilitate collaborative working when enterprises are employing external design and mobility consultants, so that teams with multiple skills can contribute to UI design, client-side app development and back-end/server-side development. A mobile app development platform should enable app developers to have the flexibility to work locally in their own environment, or online through the platform, and use development tools with which they are already familiar.
MADP users should also consider how the platform can support code sharing and version control of code, with controlled access for different developer accounts and visibility of contributions.
Is reusability important to the organisation?
App deployment can represent a significant cost to the enterprise. If demand for apps increases, the number of app projects and users can multiply.
The organisation should assess the back-end systems and data sources that the app must connect to. A mobile application platform that offers pre-built APIs, service catalogues, plugins, connectors, and low code and out-of-the-box apps can help to maximise reusability and manage cost. A back-end connector built for one app may be able to be re-used by a different developer for a completely different business use case.
Where apps need to exchange data with internal business systems and third party providers, this can increase the complexity, particularly if it is the first time that enterprise systems have been integrated with mobile apps and there are no existing APIs. Even integrating with CRM, ERP and EAM systems that have pre-existing API connectors may still require additional coding. Large-scale back-end systems that require complex APIs often require complex coding. However, once APIs have been created, they can be re-used across other app development projects, via a mobile application platform, and this can help to reduce development costs.
For certain app deployments, RMAD technology can sit on top of MBaaS and consume the APIs.
What is the intended delivery model?
For apps that are likely to be adopted by a large number of users, organisations should plan to support deployment of the app at scale. As app adoption and the number of back-end integrations increase, the organisation should consider a flexible cloud-based hosting model that can support elasticity and load balancing now and in the future.
Cloud services, social and mobile technologies are central components of digital transformation. The cultural shift to mobile consumption has helped to drive greater maturation and consolidation of the enterprise mobility market. By considering the users’ current app requirements, with a strategic eye on future connected devices and remaining firmly focused on use cases, CIOs can guide their organisations on the technologies that best align with their current mobile maturity and business objectives.
Interested in hearing industry leaders discuss subjects like this and sharing their use-cases? Attend the co-located IoT Tech Expo, Blockchain Expo, AI & Big Data Expo and Cyber Security & Cloud Expo World Series with upcoming events in Silicon Valley, London and Amsterdam and explore the future of enterprise technology.