As organisations mature their enterprise mobility strategies, the ever-increasing range of devices and delivery platforms creates a challenge for CIOs as they balance the need to deliver mobile apps at speed while still maintaining core IT systems.
Transitioning from developing one-off tactical apps to developing strategic mobile projects that integrate with multiple back-end systems requires a solid grasp of the methodologies and technologies available today.
Although there are many technologies available to support enterprise mobile app development, fear of lock-in, security concerns and the rapid evolution of mobile toolkits, architecture and platforms can stymie the mobile technology selection process.
Potential technologies include API management solutions, off-the-shelf tools, in-house development tools, cloud-based mobile backend-as-a-service (MBaaS) and mobile application platforms.
Here are 12 essential ingredients that help communicate the core requirements of a mobile application platform to the senior management team.
1. Agility
Traditional waterfall development approaches are not well-suited to the continuous, iterative app development cycles demanded by mobile projects. The business case should consider support for common frameworks and developer toolkits but should also take agility into account across all aspects of app development: front-end development, back-end development, testing and deployment.
2. Flexibility
The ideal mobile app platform needs to give app developers the freedom to work locally in their own environment or online through the platform. A ‘bring your own toolkit’ approach gives developers flexibility to use the languages and toolkits they are most comfortable with. This helps simplify and accelerate development, as well as avoiding lock-in caused by using proprietary languages or tools.
3. Market reach
Currently, enterprises seek functionality to allow developers to build native iOS, Android, Windows Phone, hybrid and HTML5 apps, with the ability to distribute to app stores. The mobile market is rapidly innovating as the Internet of Things, wearable technology, beacons and smart sensors evolve. The business case should outline the benefits of using open and standard technology so that new devices, apps and operating systems can be supported in the future.
4. Collaboration
Mobile app development demands multiple skillsets, including client-side app development, UI design, DevOps, back-end or server-side development, administration and quality assessment. Inshore, offshore and agency development teams should be able to collaborate seamlessly.
The business case should demonstrate how the proposed platform supports code sharing and version control of code, with controlled access for different developer accounts and visibility of contributions.
5. Secure back-end integration
This is a crucial element to incorporate into the business case. The evaluated platforms should enable the mobile apps to connect securely to the enterprise systems and data sources in a way that makes these available for other mobile projects. MBaaS offers functionality in integrating back-end services into mobile apps but not all MBaaS offerings have the same degree of enterprise-grade integration support.
>See also: The mobile network untangled – how to simplify mobility
6. Extensibility
Having a platform that supports change and growth can prove both efficient and cost-effective as the volume of apps increases. The business case might examine how the underlying architecture supports extensibility as mobile projects scale. For example, does the platform support integration with third party APIs, and how easy is it to create, discover and manage these for multiple app projects?
7. Reusability
Assess the back-end systems and data sources that the organisation must connect to, then build a case for using a platform with pre-built APIs, service catalogues, codeless apps, out-of-the-box apps, plug-ins or back-end connectors that can maximise reusability and reduce costs. Investigate how easily APIs can be discovered for re-use. A back-end connector built for an app for one particular use-case may be used by a different developer for a very different part of the business.
8. Security and compliance
Consider how enterprise data is handled end-to-end and assess how the platform will support this. The business case might also include a requirement for security technologies provided by the platform including encryption, user access controls and authentication, monitoring and auditing for compliance. Confirm that you can maintain centralised control and visibility of mobile projects and ask whether the platform can integrate with existing enterprise mobility management (EMM) solutions.
9. Flexible deployment
The business case should consider a deployment model that meets the current and future requirements or your organisation. Look to solutions that support different hosting options: public, private, hybrid, on-premise and PaaS. They should enable new deployments to be added quickly and with minimal effort. Ask whether the platform offers infrastructure management and monitoring tools that track cloud resource consumption.
10. Scalability
A key consideration is how well the platform can support scaling over the long term as app usage increases to hundreds of thousands of users and as the number of apps and back-end integrations increase. A flexible cloud-based hosting model that can support elasticity and load balancing can cater for an organisation’s requirements now and in the future.
11. Portability
Proprietary tools or frameworks risk lock-in and create issues around training and skills transfer. When building a case for a enterprise mobile app platform, investigate how apps can be ported for future development. Check ownership of the final app code and any IP issues. Organisations want to be able to take their code with them and not be tied into any ownership issues.
12. Mobile app success
Tracking app usage is imperative. The business case should include the mobile app platform's support for reporting and analytics to monitor app usage, user experience and policy compliance, and to inform future development.
Consider how the platform supports the creation of prototypes that can be quickly created and tested with users. The most successful enterprise mobile apps involve continuous innovation and short iterative development cycles that take account of user feedback.
Mobile-first enterprises have embarked on a continuous cycle of development and deployment whereby mobile apps are created, migrated, upgraded and retired.
According to a recent Forrester survey, enterprise developers are increasingly turning to open-source and standards-based technologies and frameworks that deliver the required development speed, responsiveness and agility to meet this ongoing demand for mobile apps.
At their core, enterprise-grade mobile application platforms accelerate development while reducing the complexity of back-end integration. A business case should identify how a mobile application platform will achieve this agility and integration, with security and policy management in mind.
It must also address any concerns the business has around migrating and managing existing mobile projects, to avoid re-inventing the wheel.
Look ahead and take account of continuous innovation and this will help build the case for selecting a platform that gives the flexibility to update quickly and easily along the way.
Sourced from Cathal McGloin, VP of mobile platforms, Red Hat