Understanding Low-Code No-Code (LCNC) Platforms
The IT-enabling units of most organizations face tremendous pressure to develop and deploy software applications rapidly as per end-user expectations. New software developments are often put on hold or delayed simply because of shortage of skilled resources and a backlog of operations and maintenance work. Developers of all hues are expected to provide more applications in less time than ever before, and because developer talent is in short supply, organizations must equip their existing developers with tools and platforms. When compared to traditional approaches, low-code platforms simplify, speed, and lower the cost of application development, which is particularly tempting to the IT functions. The digital workplace is adopting low-code and no-code applications as their preferred technology. The focus will shift from application development to assembly and integration. According to Gartner’s recent research, by 2025, 70% of new apps built by enterprises would use low-code or no-code technologies, up from less than 25% in 2020. While software is developed to address business problems, internal IT teams are losing ground to business teams who can no longer wait months for a server to be provisioned when they can simply go to the cloud with a credit card. Similarly, they are experimenting with new applications on their own, sometimes without the involvement of IT. Business teams/Client can design their own applications using a low-code/no-code approach. Because of the reduced cost and lower technical barriers to entry, many businesses are prioritizing the digital transformation of daily operations and procedures using low-code/no-code tools. Professional developers may perform jobs two to three times faster with these technologies than with typical developer tools. Low-code technologies also allow business users and developers to focus on their area of expertise thereby reducing friction.
Advent of LCNC
Low-code and no-code development platforms are tools for people who either do not know how to code or have no time to code. Whereas these low-code and no-code frameworks are built on actual coding languages like PHP, Python, and Java, end users are not concerned with the specifics. Instead, they are given visual software development environments where they can drag and drop program components, link them, and watch what occurs. In effect, it may be utilized as a familiar wizard-style paradigm to build, test, and even deploy apps that are totally focused on simplicity of use.
Many people consider Visual Basic as one of the earliest low-code integrated development environment (IDE). However, the first true low-code application platforms arrived in the late 1990s and early 2000s as fourth-generation programming languages and fast application development platforms. Another approach to LCNC platforms began with the spreadsheet, which has a long history dating back to the 1960s. It is a non-procedural, non-algorithmic approach to computation that became immensely popular. Spreadsheets have enabled a whole generation of businesses to efficiently use computers without knowledge of programming.
It is interesting to take note of the evolution of programming itself. Assembler is low-code in comparison to machine language and toggling switches for directly inserting binary instructions into the computer’s memory. C and FORTRAN are low-code in comparison to assembler; Python is low-code in comparison to C++. Rather than writing everything from scratch, developers can rely on the Python runtime environment and libraries, which contain millions of lines of code.
Advantages of LCNC
LCNC promises several advantages such as:
(ii) Degree of Freedom: LCNC platforms may differ based on degree of freedom to configure offerings by them. The higher number of parameters offered to configure on the fly, in any platform business scope, provides better chance to end-users to model their requirements
(iii) Tenancy Extension: While it is possible to make a LCNC platform for most of the requirement, still there is a possibility that some peculiar needs remain unaddressed by the platform framework and hence platform must support provision of tenancy extension in easier way using some scripting language to tweak the behavior of LCNC platform to meet peculiar needs.
(iv) Promotes Innovation: Developers can use LCNC to demonstrate their ideas quickly and can be ramped up during implementation. Instead of simply providing theory, a developer can demonstrate how the project would shape up in order to gain executive buy-in and persuade management to devote more development resources to the initiative. The innovation using LCNC is further compounded with Degree of Freedom and Tenancy Extension features.
(v) Customer Experience: Customers who grew up with digital devices expect similar experiences when using any consumer apps. Low code allows easy integration with numerous services more quickly, maintaining a uniform omnichannel experience.
(vi) Lower IT Infrastructure needs: Most LCNC applications are available or deployable on the cloud, providing on-demand scalability and drastically reducing the upfront investment needs in IT infrastructure. LCNC ensures faster innovation in less time while reducing IT staffing.
(vii) Increases Efficiency: No-code and low-code apps are good for enhancing everyday task efficiency because they need less development effort. IT units can address their own operational difficulties without needing many coders if they can build their own versions of familiar apps or swiftly install much-needed functionalities.
(viii) Efficient Governance: A LCNC platform allows IT and DevOps teams to manage more efficiently a portfolio of applications while maintaining complete compliance and governance capabilities. Low code decreases reliance on third-party apps for quick fixes and allows for a collaborative work environment.
(ix) Easy to understand: Traditional codes are often difficult to understand as they are written by several developers and often is not easy to read and interpret. Debugging of such code also is very time consuming. Low-code and no-code platforms are easier to understand and thus, easier to identify configuration/script bugs and fix them.
(x) Increased Agility: In a rapidly evolving digital world, businesses need to adapt and respond effectively to changing scenarios and dynamics along with leveraging potential opportunities. Using a traditional development approach to create applications is too time-consuming. LCNC development tools help speed up deployment of an almost endless set of requirements more rapidly with little risk.
Disadvantages of LCNC
On the flip side, LCNC platforms have a few disadvantages as well:
(ii) Security and risk: LCNC platforms rely heavily on their platform providers to mitigate IT risks and security flaws as the application providers do not have any control over the source code. If these platform providers discontinue services, no security updates would be available, and applications will be unable to fix them. Moreover, businesses relying on LCNC providers risk their data and systems being exposed and vulnerable to security breaches. This is applicable for LCNC products acquired from the vendors and not applicable for in-house developed products.
(iii) Vendor lock-in: Applications using a specific LCNC platform for their IT solution, makes it difficult for them to switch to a different platform. This increases the dependency of the business on an individual LCNC provider. Obviously, this is not applicable for in-house developed products
An LCNC solution would generally limit customization options to a large extent which caqn be only done with enterprise wide approach during architecture phase) within the domain of discourse (Business Boundary). Generic applications are often easy fit and more adaptable to LCNC solutions, while others are not. Before adopting any platform, customization requirements need to be carefully assessed. Ultimately, the decision to use a LCNC platform depends on each business’s objectives and needs.
LCNC Architectural Guiding principles:
The core guiding principles of architecting a LCNC Platform is that a) architect must have in-depth knowledge of domain of discourse (or enterprise wide), b) Presence of Enterprise view while architecting In order to capture diverging requirements and generalize them c) must possess strong fundamentals of journey from Generalization to specialization approach & Vice versa and d) the architect must be committed to avoid any possibility of “hard-coding” the business logic or process or layouts in any way and c) the proposed architecture should be open to evolution.
The simplest & indicative yardstick to determine their proximity to LCNC architectural principle is [(Number of parameters (Variables) available to client to configure on the fly(without writing code) / Number of total parameters(Variables) available in the platform) * 100]. Higher the percentage value of it would indicate better degree of configurability meaning better LCNC Platform. Obviously, a better LCNC Platform would have no hardcoded parameters within the boundary of platform business scope!
LCNC Architectural attempts at NIC:
While plenty of LCNC platforms are emerging from Industry and efforts at NIC have also been going on for a long time. This has resulted in many systems with varying degree of LCNC affairs. Some platforms are generic in nature within a vertical (problem domain) across the country or in a state while others are generic enough to meet requirements of all domain within a state or across the country. The bigger is the business domain being addressed, higher is the requirements & need for platform being configurable i.e. LCNC, PFMS (https://pfms.nic.in), ServicePlus (https://ServiceOnline.gov.in), eOffice (https://eoffice.gov.in/), DARPAN (https://darpan.nic.in/), Tejas (https://tejasvi.gov.in/), Sandes (https://www.sandes.gov.in/), CollabFiles (https://CollabFiles.nic.in), Local Government Directory (https://lgdirectory.gov.in), SWaaS (https://S3was.gov.in), LokSamvaad (https://LokSamvaad.nic.in) are some of the fine examples of domain & province independent LCNC platforms on one hand and eWayBill, eHospital, ePrison, Transport (Sarathi/Vahan), ePDS, National Generic Document Registration Systems(NGDRS, https://ngdrs.gov.in ), AuditOnline (https://AuditOnline.gov.in), National panchayat Portal (https://Panchayat Portals.gov.in ), Swachh Bharat Mission-Grameen (SBM-G, https://Sbm.gov.in), NREGASoft (https://nrega.nic.in, National Social Assistance (NSAP), http://nsap.nic.in), PMAY-Grameen (https://pmayg.nic.in/netiay/home.aspx ) etc. are some of fine examples of evolving domain specific generic platform offering greater degree of choice to officials to configure their requirements w/o writing any code or much code. This listing is indicative only and by no means an exhaustive one.
ServicePlus: A Low Code No Code Platform for quick roll out of Online Service
ServicePlus, developed by NIC, is a configurable, metadata based, Open Source, low code – no code platform. It provides powerful in-built tools/interfaces for designing, configuring and executing service delivery. It has a configurable, unified framework for service delivery and grievance redressal. It facilitates rapid rollout of any service, any time by any level of government. It is a single platform that can be used across the entire lifecycle of an e-service. Due to its features and ease of configuration and use, this platform has been adopted by 33 States / UTs and with over 2300 e-services available, lakhs of applications are received, processed and delivered every month.
A comparative feature analysis of the ServicePlus with the other popular LCNC platforms has been provided as follows:
Additionally, Language & Browser independence, Tenancy Extension etc. could be other attributes which can be compared.
The evolution of software has been happening from application to MIS to Productization to Platforms to Ecosystem level due to their open-ness, standardization, scalability etc. needing on-the-fly configurability of Platform to interface & exchange information/data with authorized companion systems to survive & compete. In such a scenario, LCNC platform approach for architecture would have better chance to survive, as it is likely to have more functional resilience, than the one which are highly hard-coded.