Edward Hadley on December 10, 2013
Investing in an enterprise app platform is an important decision for CIOs. After decades of plodding along with traditional programming languages and development environments, many IT teams are desperately seeking alternatives to make application delivery much less painful, expensive, and cumbersome. Promising to speed up the process from years or months to weeks or days, enterprise app platforms are finally offering much-needed light at the end of the tunnel.
Here’s the thing, though: not all enterprise app platforms are created equal. Because it’s a nascent market with a glut of specialist tools, it can be difficult to navigate the vendor landscape and choose the best platform for your needs—now and in the future. To help guide CIOs in their vendor research and selection process, we put together the following list of the 5 most important questions to ask when evaluating enterprise app platforms.
Facing growing demands from the business for new applications and functionality, CIOs need an app platform that eliminates traditional development bottlenecks, dramatically increasing speed, efficiency, and output. With that in mind, you’ll want to pay careful attention to the platform’s development environment. Be wary of proprietary programming languages requiring highly-specialized developers, as they tend to result in added complexity and cost without delivering much-needed productivity gains.
If you’re really keen on accelerating delivery, look for an app platform built around a new paradigm like visual, model-driven development (MDD). In contrast to traditional code-based methods, MDD is simple, intuitive and extremely fast. The entire project team (including non-developers or business analysts) can quickly create and collaborate on executable application models, intuitively understand and review the functionality, and easily identify and make changes. Illustrating the efficiency gains, a Capgemini study found that MDD took only 2.5 hours per function point compared to 10.6 hours for Java and 15.5 hours for C#. This productivity improvement alone can take a 6 month project down to 6 weeks. Imagine what this compression in time could do for your business.
Businesses typically leverage an enterprise app platform in two main scenarios: developing new custom applications and extending existing systems with new business-driven functionality. Thus, it’s important to solve for both. While certain platforms may be geared specifically towards extending specific systems (i.e. CRM), they may fall short in addressing your full range of application delivery needs.
Whether you’re building new apps or extending existing systems, ease of integration is a crucial factor that must be carefully vetted. The reality is that for most businesses, integration needs extend far beyond a single application. The key then is to identify a flexible platform that not only helps you build applications, but also allows you to quickly and seamlessly integrate the application with any existing process and system. Look for capabilities like workflow integration, open APIs, prepackaged connectors and how easy or cumbersome it is to build the integration points you need. Also, in addition to the application level, don’t forget integrated development within your IT organization and existing development tools.
IT – Business collaboration can make or break the success of a custom application. Unfortunately, far too many app platforms focus narrowly on the development environment, overlooking key collaboration capabilities that can increase communication, productivity, and successful IT outcomes.
To keep all stakeholders aligned and engaged throughout the development process, look for an app platform with social collaboration and project management capabilities. Examples include Facebook-like activity streams for all users and projects; built-in chat for instant communication with the team; agile project management capabilities for creating user stories/requirements, assigning tasks and priorities, and tracking progress with scrum boards and burn-down charts; and fully-integrated, closed-loop feedback from end users that’s sent directly to the development team.
An easy-to-use and social collaboration environment, combined with a model-driven development approach that allows all project team members to speak the same language, will dramatically increase project outcomes.
Enterprise mobile applications are hot right now. In the rush to meet surging business demands for mobile apps, it can be easy to forget that mobile is not—and should never be—an island. For starters, mobile apps typically require integration with one or more back-end systems. And because of different user needs and profiles, they almost always need to be accessed from multiple devices (web, tablet, smartphone).
Thus, CIOs must look for app platforms that are capable of delivering true multi-device applications that are integrated seamlessly with back-end systems. In other words, your team should be able to build an application once and then make it accessible to the necessary users via the necessary devices (and with simple, intuitive UIs). In the end, your business users all need the same app; they just consume it and interact with it in different ways. Having to reprogram or rebuild apps for different devices or operating systems simply isn’t effective or scalable.
Deployment issues should not slow a project down or even really concern your development team. When evaluating app platforms, make sure that application deployment is as fast and easy as plugging an appliance into a power outlet. For instance, with platforms that use executable models (see question #1), you can deploy the application to the cloud literally with a single click.
In addition to speed and simplicity, flexibility is another important factor when it comes to application deployment. While the cloud is often sufficient, there are many business and technical needs that necessitate alternate deployment options, whether private cloud, on-premise, or hybrid. Thus, it’s important to evaluate whether the app platform can effectively support multiple deployment models. Even if this is not an immediate need, requirements often change so having this flexibility can save you major headaches and hassle down the road.
We hope these questions help frame your evaluation process and select the right enterprise app platform. If there are any important questions that we missed or other information that would be helpful in your search, please leave a comment below and we will try to address it.
Receive Mendix platform tips, tricks, and other resources straight to your inbox every two weeks.