There is a new sense of urgency in modern enterprises, to drive mobility and agility, and to deliver more, faster. The expectation from modern-day application development revolves around delivering quick and agile releases, multi-channel applications, availability and scalability.
The formula for quick release is quick development along with continuous integration and delivery. Quick releases = Quick development + CI/CD
Quick Development is where Low Code Development vendors are providing superpowers to accelerate development and delivery. CI/CD challenges are already addressed to a great extent. Docker, Kubernetes on cloud and other CI tools can be configured with Jenkins to achieve integration and delivery. Considered to be a standard in the industry, most companies are already using CI tools and low-code to drive quick releases of applications with agility.
The underlying challenge is that majority of the vendors are BPM (Business Process Management) vendors who generate applications originally created for business users. As complete application development is not feasible without IT, BPM vendors are calling themselves low code platforms. The applications they develop are an afterthought and is invariably reflected in the quality and maintainability of the application.
BPM modified solutions are not bendable
BPM tools primarily cater to BPM types of applications and other facilities are normally added as an afterthought. By using tools to quickly generate process-based applications, technical business users and citizen developers fall short of taking application development all the way. Typically standalone applications, core business applications, mobile applications, dashboards, API mashup applications and chatbots are not optimized by the tools provided by BPM vendors.
The challenges professionals developers face when using BPM tools
Professional developers are a different breed compared to citizen developers. While business users can create intricate wireframe diagrams, not many are proficient in understanding the code that goes behind a single box in a diagram. The task of wiring code into wireframes can only be performed with the help of professional developers and their role typically involves (not limited to):
- Writing custom business logic
- Using custom or external widgets
- Styling the application their own way
- Testing applications for security and vulnerability
- Deploying applications on the IT approved infrastructure
- Delivering applications on different devices and channels
- Managing application maintenance
When using custom BPM tools, professional developers face several challenges. They are unable to follow the popular agile methodology in the same way. BPM tools typically use complicated and proprietary technology and are based on older UI technologies like JSP/JSF, making it difficult for professional developers to work with. Moreover, BPM applications are not normally based on modern, microservice architecture, making multi-channel delivery a challenge. Added to this, professional developers are unable to use their favorite IDE, which can be demotivating and constrictive to the value they would like to bring.
Supporting professional developers may seem to be an ordeal, although that’s a price worth paying for high-quality, enterprise application development. Fortunately, low-code tools have proven to take the load off professional developers by doing the heavy lifting and enabling them to deliver more with less.
Taking app development all the way. How low code empowers professional developers
Rapid application development platforms are designed to provide a frictionless environment for professional developers to learn and evolve. Low code platforms compared to BPM tools, help professional developers meet their expectations from the development process. Expectations such as:
- Using modern architecture with modern technologies.
- Delivering the application fast with Microservices based delivery.
- Integrating multiple devices and channels using API based development.
- Creating and using standard code so it is readable and maintainable.
- Using agile methodology (not a modified agile or BPM methodology).
- Using their choice of CI/CD tools as these technologies are already being used.
- Using their preferred project management tools with no overpowering process from low code tool.
- Creating and capturing repetitive business logic that can later be re-used and expanded.
Rapid Application Development and low-code platforms help produce ready-to-deploy applications. Combining code generation features with an integrated development environment (IDE), low-code includes the entire application technology stack, UI, middle-tier and back-end. Here are examples of how low code development provides accelerators for development and delivery instead of imposing new practices:
- Reusable widgets that can be designed and configured
- Reusable styles and a provision to create custom styles
- Reusable templates to cut the intense styling
- Easy to connect external services and systems like REST APIs, SOAP APIs and WebSockets without additional coding.
- Auto-generates APIs wherever possible to avoid boilerplate code
- Integration with the existing CI/CD and version control of choice
- Provides accelerators for devices and channels
- Out of the box configurable security like SSO, AD, and LDAP
There is a change in the pace of enterprise demands and delivery. With a critical need for rapid application development, more often than not BPM vendors are mistaken for low code platform providers. Choosing the right low code platform could ensure you empower professional developers to deliver more, deliver fast and deliver better. Because enterprise application development is more than an afterthought.