How to Choose the Right Enterprise Development Platform
Investing in a development platform is an important decision for enterprises.
However, not all development platforms are created equal. Because it’s a growing market with various specialist tools, it can be difficult to navigate the vendor landscape to choose the best platform for your needs—now and in the future.
To help guide you in your vendor research and selection process, we compiled the following list of the most important questions to ask when evaluating enterprise app platforms.
1. How easy is it to build applications?
And can non-developers actively participate in the process?
Enterprises are facing growing demands for new applications and functionality. Businesses need an application 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 that require highly specialized developers. They tend to add complexity and cost without delivering much-needed productivity gains.
If your goal is accelerating delivery, look for an application 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.
With MDD, the entire project team (including non-developers or business analysts) can quickly create and collaborate on executable application models. Teams can 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.
2. Can the platform build new apps and extend existing systems?
And can it integrate with any system?
Businesses use an enterprise development platform in two main scenarios:
- Developing new custom applications
- Extending existing systems with new business-driven functionality
So, it’s important to solve for both. Certain platforms may focus on extending specific systems (i.e., CRM) or automating processes. But, they might fall short of addressing your full range of application delivery needs.
Whether you’re building new apps or extending existing systems, ease of integration must be carefully vetted. The reality is that for most businesses, integration needs extend far beyond a single application.
The key is to find a flexible enterprise development platform that helps you build applications and integrate them with any existing process and system.
Look for a platform with capabilities like:
- Workflow integration
- Open APIs
- Prepackaged connectors
- Easy integration points
Also, don’t forget integrated development in your IT organization and existing development tools.
3. Are there capabilities for IT/business collaboration?
IT-business collaboration can make or break the success of a custom application.
Unfortunately, too many enterprise development platforms focus on the development environment and overlook key collaboration capabilities that can increase communication, productivity, and successful IT outcomes.
Look for a platform with social collaboration and project management capabilities. This will keep all stakeholders aligned and engaged throughout the development process.
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
- Tracking progress with scrum boards and burn-down charts
- Integrated, closed-loop feedback from end users sent 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.
4. Can the platform deliver multi-device applications?
Enterprise mobile applications are hot right now. But in the rush to meet surging business demands for mobile apps, don’t forget that mobile is not 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).
Look for an enterprise development platform that can deliver true multi-device applications that are integrated 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).
Ultimately, 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.
5. How fast and flexible is the process of deploying applications?
Deployment issues should not slow a project down or even really concern your development team. When evaluating app platforms, ensure 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 in application deployment. While the cloud is often sufficient, there are many business and technical needs that necessitate alternate deployment options, whether private cloud, on-premises, 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 hassles down the road.