The Low-Code Movement

By Srikanth Devarajan, REI Systems

 

Motivation: An IT journey begins with the considerations of several software technologies, roadmaps, and strategies. A software development roadmap usually falls within a spectrum ranging from custom developed solution to use/extend pre-packaged solutions. Regardless of the choices made, most application implementations are difficult and expensive. And quite often, even with good intentions and near-flawless execution, fatal flaws are discovered at the core of the project. The software journey reaches this point one way or another and then introduces another new solution or technology to overcome the problem.

 

The introduction of new technology to overcome deficiencies of the old is complex. Any such actions taken by organizations of all sizes can fix the current problem, but it is not scalable or sustainable, and it keeps the door open for future problems. It is a vicious cycle: IT suddenly finds itself struggling to cope with applications of various sizes and shapes. The larger the project, the higher the risks. In the end, many complex applications function within the same environment and do the same things. Adding disruptions such as Mobile, Cloud, and AI to the mix only further amplifies the problem.

 

Reducing the number of such multiplied applications is the primary concern orbiting around IT leaders throughout government agencies. For a few years, IT leaders have increased their focus on reducing the number of applications in their ecosystem—a process otherwise known as "application rationalization." Speeding up application rationalization seems to be the war cry in many government agencies, and rightfully so as it will reduce risk, increase efficiencies, and simplify the environment.

 

Growing Software Complexities: When it comes to application rationalization, government agencies are still at risk of reaching the same fatal flaw at the project’s core. That is because most government agencies prefer to employ traditional technologies such as .NET, JAVA, and Open Source. Furthermore, business applications remain depicted as a 3-tiered architecture—UX, Business Logic, and the Data. The fundamental principle behind tiered architecture defines how applications are “layered” or “divided” for promoting separation of concerns (SoC). Though at the beginning of tiered architecture time the concept of SoC was substantial, over time this architecture invariably creates harmful dependencies that foster redundancy, ultimately resulting in a perfect breeding ground for software complexity. A critical step in application rationalization is reducing software complexities. Software complexity is the sum of the numbers of “things” multiplied by the type of interrelationships between those things.

 

Complexity = Number of applications x Schema x Code

 

In the above three variables, if we can reduce one or two of them simultaneously, the overall complexity will be reduced. For example, consider a reduction in code per schema.  The critical question here is, “How does one decrease coding volume and time?” Here is where the new movement called "Low-Code platforms" comes into the picture. Low-Code platforms offer a new way to develop robust applications by eliminating code redundancy, development time, and cost significantly faster than traditional tools. Depending on the goals or project, it could be up to, or more than, 50%-60% faster[1].

 

What is a Low-Code platform? A Low-Code platform is an interactive and intuitive software development and management platform that decreases the volume and dimensions of conventional coding activities needed to create a software application. Low-Code platforms empower teams to deliver value more quickly and reliably. A Low-Code platform utilizes visual representations, prepackaged templates, and an integrated development environment (IDE) with drag-and-drop tooling to build or integrate software and manage IT infrastructure. Low-Code eases the pressure off IT by enabling businesses to meet their demands for application solutions and adapt quickly to new business process rules and models as business needs shift.

 

When to Consider Low-Code?

  • When you have many software applications doing the same routines (REI Systems calls it application proliferation)
  • When IT has accumulated an unmanaged collection of applications due to changing business and governmental policies
  • When IT is unable to respond to technology disruption and has therefore missed opportunities to serve people
  • When your agency is holding on to low-value IT projects in spite of rapidly raising development and maintenance cost
  • When your agency has a huge backlog for modern technology such as Mobile and/or AI

 

Low-Code Benefits:

  • Model-driven development: Visual models are used to define the data model, business logic, and the user interfaces. The visual approach empowers a range of users (such as developers, business analysts, etc.) and offers 7x productivity gains over traditional methods[2].
  • Community connection: Low-Code platforms have strong communities that promote reusability by offering reusable components. Low-Code platforms promote reusability, which means there are existing communities that offer reusable components. Low-Code development is then assembling building blocks rather than recoding the same needs in every project.
  • Full lifecycle solution: Low-Code includes integrated tools and connectors to manage backlogs, as well as robust CI/CD pipelines process for deployment. It also includes visually rich collaboration tools for agile project management and user feedback.
  • Reduction in testing time: Low-Code practically eliminates unit testing. The components offered are pre-tested and ready to use, allowing the developer to focus on the logic and the process.
  • Cloud and on-premises installation. Low-Code offers both hosting options.

 

Low-Code platforms have some disadvantages which should be considered and evaluated before making a decision:

  • Widely but not universally applicable: It might not be suitable for anything and everything. Proper evaluation is a must.
  • Fear of vendor lock-in: It is challenging to exit a Low-Code platform. Nevertheless, OutSystems, a leading Low-Code platform (as per Gartner’s 2018 Magic Quadrant) offers features to prevent lock-in. If at any point you choose to exit, OutSystems will provide you with the source code of the last version of all your applications. They guarantee that their code will run in your application servers and infrastructure without the need for custom interpreters, runtimes, or any proprietary library.
  • Developer reasoning: Low-Code platforms are different from traditional coding. The platform is visual, and developers have a learning curve or may have less interest in picking it up.

 

Government agencies must deal with the challenges of application proliferation and rationalization and the constant need for a faster mode of delivering applications. Low-Code is an efficient and scalable mode for addressing these needs. Without any low-level coding, applications can be rapidly built, seamlessly deployed, and quickly changed. The critical value gained is that Low-Code platforms collectively bring IT and the business together closer than ever. Low-Code platforms expedite rapid, iterative, and collaborative development and include robust communication tools to align agency IT stakeholders and leaders, ensuring higher software quality at lower cost to propel agencies towards mission success.


[1] Based on REI Systems’ internal prototypes

[2] Based on REI Systems’ internal prototypes

Read article

Share