When you search the web today, you’ll find plenty of app development platforms. It can be a really confusing marketplace with everyone claiming to do everything faster and better than the competition.
In reality, not all enterprise app development platforms can do all aspects of the app development lifecycle; from inception to retirement.
Recognizing False Promises From App Development Platforms
When evaluating a development platform, the first question you should ask is, “what pieces of an SDLC (Software Development Lifecycle) does the platform cover?” The more aspects of the lifecycle the platform covers, the better.
Can You Believe Vendor Claims?
Assuming the vendor you’re considering claims to cover all aspects of the lifecycle from development to retirement, here are some questions that will help you peel back the facade, enabling you to spot false promises before it’s too late.
Integration
How complex are the backend applications?
One of the most time-consuming and laborious tasks in developing apps is integration. It covers everything from integrating backend source applications to identity management.
Here’s some items to consider when evaluating a platform’s integration:
Does the platform integrate to cloud as well as on-premise applications with the same ease-of-use?
We’ve found most platforms can integrate to cloud applications like Salesforce relatively easy, but integrating to on-premise applications, like SAP, requires a lot of development work on the backend source applications.
Some platforms can only consume web services, meaning for on-premise backend applications, you would have to generate a web service for each app interaction.
Not only is this time-consuming and laborious, but it’s expensive to maintain. To save yourself the hassle, look for platforms with native integrations where there’s no need to “touch” the backend application to extract or write data.
What type of integration does the platform offer?
Some vendors promise easy integration to backend applications, but do so via URL or screen-scrapping and remote desktop technologies. While this method works alright for extending web-enables applications to mobile, it’s severely restricted when it comes to extending traditional GUI-based enterprise applications to mobile.
It’s also constricting when you need to build mobile apps that can combine data from multiple systems, or even when you need to integrate to backend applications via their APIs.
How deep is the platform’s integration?
This is one of the most difficult areas to measure and may depend on you actually trying out the system. Most vendors will integrate to most backend enterprise applications, but they expect a web-service or, at a bare minimum, API access.
If your enterprise applications are customized to fit unique business needs, you’ll find you need to make additional customizations to expose data to mobile devices. This alone is a time-consuming nightmare to maintain, especially during software upgrades.
Does the platform have version dependency?
There’s a lot of platforms that require your backend applications to be in specific versions before they can even integrate. This requires many of their customers to deploy service-level patches and enhancements before they can even begin to integrate with a mobile platform. Most mobile platforms don’t allow backward version compatibility, which is important when it comes to building integrations.
Do you want point solutions for specific problems, or the ability to innovate?
Are you looking to solve specific problems, like mobilizing existing business processes, or are you looking to innovate, fundamentally altering the business process to improve productivity?
Consider all the aspects of a SDLC (Software Development Lifecycle)
A typical SDLC process starts with requirements gathering, business process design, software design, development, and goes through all test cycles, ending finally with deployment, administration and governance.
When evaluating a vendor, do a complete inspection of your internal SDLC processes. Most mobile vendors either promise to cover all aspects of the SDLC, or have their own definition of the SDLC.
You should map the capabilities of the vendors to your own SDLC process. Find out how much they can cover, and what your options are for the areas they don’t.
Does the platform empower innovation?
Most platforms allow you to extend existing business applications to mobile but are constrained when you want to innovate or alter the business process to improve productivity.
You should look for platforms that provide a complete app development stack like, database layer, business process and application layer, and visualization layer with a build-once, run everywhere capability.
You may find the need to create a new business process to leverage the capabilities of mobile devices. You’ll want to work with a platform that allows you to fundamentally alter your processes for the sake of improving productivity.
How extensible is the platform?
If you are looking to innovate for improved business processes, you’ll need a platform that is flexible and can grow and adapt to your needs. Most platforms today provide a closed loop. This means you’ll be limited to the features provided and will be stuck waiting for the next vendor release to further innovate.
Make sure to evaluate the capabilities each vendor provides to extend the platform for unique business needs, and future requirements.
How long should you be tied to the platform?
What are the options if you ever want to discontinue the platform?
Does the platform force vendor lock-in?
Most platform vendors use proprietary technology. As a result, their clients are locked-in to their technology without any options to discontinue. Once you start building apps, you may be stuck with them for the life of that app.
Some vendors claim to use an open standard, but still lock you into their platform by not allowing clients to take their apps out of the platform. Even with the open standard, you will still be effectively locked in without the ability to take your apps with you.
You should definitely evaluate the points of vendor lock-in for every vendor you consider. Specifically ask them what you can and cannot take with you if you decide to discontinue use of their platform.
What does your internal bandwidth look like?
What resources does the platform require?
Review your internal staff to discover what it would take to incorporate new technology into your corporate fabric. How much manpower does the organization have, and what is their availability?
Typically, platform vendors can require a huge team of both developers and administrators to build and maintain enterprise apps.
What skill sets does the platform require?
Many platforms require you to either learn proprietary languages, or at least retrain your developers in the language used by the platform. In either case, the dependency on developers to build all the apps is a constraint on resources.
Consider looking for a platform that leverages resources from across your organization without significant retraining requirements.
What are some of the key capabilities, now and in the future?
We’ve found most projects have a specific set of capability requirements for the platform. But when shopping for a platform, look for capabilities that might be required beyond the immediate project.
You may need some of these capabilities in the future:
Offline Functionality:
Many platforms fail to provide support for offline apps and of those who do, support is usually very limited. Most vendors portray “local caching” of data in the mobile device as “offline apps.”
Apps that work offline by local caching support very minimal app requirements. Most can not enable business rules execution while offline, nor the ability for end-users to be offline for long periods of time.
Be sure to peel back the layers when evaluating vendors if you require offline capability. It’s better to ask the tough questions up front, than be stuck with limited functionality later.
True Cloud Applications:
We’ve found many vendors host their systems online and loosely refer to it as a cloud application. A true cloud application offers multi-tenancy and infinite scalability along with flexibility to increase or decrease system resources on the fly. Hosting an application online doesn’t provide all the advantages of a true cloud application.
Be sure to evaluate the cloud hosting capabilities of the platforms you consider, including the scalability and flexibility of the platform.
SLA Terms:
Most platform vendors do not take ownership of runtime nor provide a robust SLA. We recommend you look into the SLA terms, especially if the platform vendor backs it up with a money-back guarantee.
Conclusion:
Finding a platform vendor that can meet all your needs and future-proof your enterprise mobility strategies is a challenging search. Wading through the claims and getting to the real functionality and capability of each platform takes time and effort.
Hopefully, this article gives you a little insight into the claims made by platform vendors so you can peel back the layers and see what you’ll be getting with each platform.
Just take your time and put each vendor through a rigorous evaluation before deciding on a platform to build your apps on. If you would like to see how appsFreedom’s platform can empower you to build enterprise apps quickly, we recommend you take it for a test drive first.