Mobile is Dead! Long live Mobile!
Mobile First was yesterday, well sort of. It is still true that you don’t need to execute massive enterprise transformation programs or backend system (ERP, CRM, HR, etc) modernisations before you develop your Mobility enterprise capability.
However the learnings from the early Mobility adopters is that the management (not the build and test!) of more and more mobile apps becomes exponential (not linear as expected, that is) more expensive. Different technologies, different deployment approaches, etc. In simple terms: some out of the box mobile apps that ship with your shiny HR system and the in-house developed field service mobile app which is seen as a competitive differentiator are just…well…different, and hence need some different tender love and care. That’s when a Mobility Platform strategy comes in handy.
Once you have determined that you best ride with a mobility platform (either due to the Gartner rule of 3) or due to any other means such as a business case, I have documented things to consider.
As my colleague Wayne B. once said every topic needs an iceberg and here’s the mobility iceberg. It’s by no means complete, but it shows you that the actual mobile app is only a tiny component compared to what Enterprises need to look out for when deploying and managing mobile applications. And that is true for both consumer facing and internal employee apps. With or without BYOD or a defined MAM/MDM approach.
Market Research | Have I got a good overview of the market, e.g. through Forrester, Gartner, blogs and forums? |
Peer review in other organisations | How do Digital Transformation agents in other organisations address this topic? |
Hybrid Infrastructure Cloud / Hosting | Can the platform incl design and run-time elements be easily moved between on-prem, public infrastructure and support both deployments (hybrid) at the same time across Dev/Test/UAT/PROD? How can the number of platform infrastructure nodes be extended or decreased to support scalability requirements? Is it dedicated or multi-tenant? |
Licensing / subscriptions | What is the cost structure regarding users / nodes / applications. How does on-boarding of new applications and/or users or the need for more compute / memory / storage affect pricing? Are there any user, back end services or app restrictions. What is the definition of a user (mobile end user, developer, tester etc)? |
Software/solution Development Lifecycle (SDLC) | How do web-scale/cloud native applications move through the SDLC? Is it code or binary based? Do I have a choice? Can I implement emergency deploy scenarios? Can I use web-hooks to trigger builds? Can I do a Source to Image build? |
CI / CD | Does the platform support my CI / CD processes and pipeline? How will it integrate? |
API | How powerful is the API? What does it support in terms of build/design and run-time (DevOps)? What DevOps, CI/CD processes does the platform support – is there a restriction? How powerful is the API? |
Mobile App – Target Platforms | Can you develop and manage native, hybrid and web apps? How are web apps hosted – do you need additional servers? |
Frameworks | What mobile application development frameworks are supported? Is there a restriction on what can/cannot be supported? How are those frameworks updated and what’s the frequency of those updates? What happens if new frameworks come out – can those be onboarded easiliy onto the platform? |
MDM – Mobile Device Management | What exisiting MDM suites are supported? HOw does integration with MDM solutions work? What is pushed to those MDM solution – code, binaries? |
Distribution | How are mobile applications distributed? Is there a private AppStore, QRCode/URL for downloading apps for testing easily? Are Apple, Google, Microsoft, Blackberry app stores supported? How can the platform integrate with those platforms? |
Governance | Is it compatible with our internal project/release processes and the associated project governance and delivery model? |
Collaboration & Project Level Isolation | How can project teams members collaborate across the necessary dev & test roles across UX/UI design, native Android/iOS, Hybrid framework, web, business logic and back end integration ?
How are users, teams, backend services, repositories, code and applications isolated or shared on a per project, app and backend service basis and across applications? How can people & teams collaborate local and remotely? |
Tooling | How can the platform support existing development, test, deployment tools and tool chains? Do I know what the existing or target build/deploy process looks like? Does the platform force any specific tools? |
Source Code | How is source code managed (SCM) around the platform? What existing SCM components are currently being used within my organisation? |
Backend System Access and Integration | How are existing Enterprise services and integrations accessed on a per application, project or user bases? How does the platform support existent architectural concepts such as Microservices, SOA, transactions (ACID/BASE), APIs? |
Bandwidth / Throttling | How does the platform manage bandwidth constraints on mobile networks? |
Re-usability | What is the level of re-usability across applications, code, patterns, reference architectures, libraries, corporate repositories and services? |
Data backend / Storage | What data backends are supported out of the box? How are non-out of the box data backends supported or integrated? |
Business Case | What is my business case timeframe? How is my ROI calculated? What is the TCO over the x years of timeline? Do I need capitial funding or can I run a OPEX model? Is there a license + 20% maintenance or annual subscription pricing? |
Support | Which part of the build/run-time stack is supported by the vendor, i.e. Cloud infrastructure, Operating System, application platform, application run-time? Is the vendor support enterprise ready and 24/7? |
Vendor Stability | Is the vendor financially stable? Is it self (profit) or VC funded? What’s the revenue/profit per year? What do the financial analyst rate the vendor? How long has the vendor been around? How does the vendor go about R&D and select the next new PaaS features? |
References | How many existing customers are there? How many success stories are there? |
Application Deployment – different version and version upgrades | How does the platform support different versions of an an mobile app and services connecting depending on functionality and compatibility? |
Architecture – support and constraints | How does the platform support your reference architectures (eg backend service integration, APIs, business logic and front end? Is my desired deployment architecture (onPrem, multi-AZ, multi region) supported? |
Data Security | What data security (in transit / at rest) is supported and how? |
Authentication / Authorisation | What protocols are supported? Is MFA supported? Are API keys supported? Can I registere and identify specific devices? |
Compliance | How does the platform support the necessary compliance requirements such as SOX, ISO27001, Common Criteria? |
Existing skills and change management | How can the platform support re-use of existing skills sets and help minimise the organisational change management component? Does the vendor provide trainings (on-site, online, class room) and certifications? |
Implementation support | Does the vendor offer implementation services? Does the vendor have a strong partner eco system? How expensive and available are those resources in the market place? |
Scalability | How does the platform allow to scale in high-demand and off-peak scenarios? What work load density is realistic and supported? |
Technology | Are there any specific technologies mandatory I need to train on to use the platform? |
Platform run time | How many compute nodes, memory, CPU, storage does the platform need to run on based on my load scenarios? |
Platform Architecture | What are the architectural components of the platform? Are there any proprietary components that lock me in? |