Friday, August 30, 2019

What to Look Out for When Evaluating a Low-code Platform?

Joget Inc. successfully concluded Digital Transformation Summit in Kuala Lumpur, held at Connexion Conference & Event Centre, Nexus Bangsar South, on Aug 22nd, 2019. The event was surrounded by enterprise application modernization as its primary theme. It was also supported by Red Hat, a good complement between Joget as a low-code platform, and OpenShift.

Image Source: Joget Inc
The event saw participation of 80 IT professionals from existing customers of Joget Workflow in Malaysia, as well as new prospects from medium and large enterprises. Raveesh Dewan the CEO of Joget Inc., flew in all the way from United States to share new opportunities that will be made possible by Joget DX v7 - the next major upgrade of Joget Workflow. Damien Wong, Vice President & General Manager of Red Hat Asia Pacific Pte Ltd, also delivered his insights on the why, what and how to go digital native with containers and DevOps.

I had an opportunity to share personal view on "What to Look Out for When Evaluating a Low-code Platform?", based on my 10 years of exposure in the advocacy of low-code development tools. It doesn't matter whether or not you are evaluating Joget. My view was shared as a 9-point checklist, which I hope is helpful to serve as a guideline when your organization is assessing low-code tool - especially when it is meant to be served as citizen development platform.

1. Tooling

It goes without saying that, low-code tools are the key pillars in any low-code platform.

  • Basic consideration such as processes, end-user application interfaces, forms, reports, user directory and access-control list should be able to be designed and administered through configurations. 
  • Any very importantly, how sophisticated can the UI of form design be configured from wizard/dialog? It defeats the purpose, if slightly more sophisticated requirements would require coding. Examples are: tabbed form, pop-up search and selection, one-to-many relationship between entities, asynchronous data pulling, grid-table multi-row data input, and validation rules.
  • You may want to take note on IDE (integrated development environment) dependency, as to whether any client software installation is required by a low-code developer. 

Low-code doesn't imply no-code. As such, is there a "code behind" flexibility when need arises?


2. Data Management

How is form data structure automatically translated into data definition in storage level? If data is stored into RDBMS, how is form data stored? 

Would you be able to analyze data generated from low-code application using 3rd party BI tools? 

In contrast, form data stored as JSON-formatted object cannot be easily queried by 3rd party tools using standard SQL.

{ "id": "0001", "type": "donut", "name": "Cake", "ppu": 0.55, "batters": { "batter": [ { "id": "1001", "type": "Regular" }, { "id": "1002", "type": "Chocolate" }, { "id": "1003", "type": "Blueberry" }, { "id": "1004", "type": "Devil's Food" } ] }, "topping": [ { "id": "5001", "type": "None" }, { "id": "5002", "type": "Glazed" }, { "id": "5005", "type": "Sugar" }, { "id": "5007", "type": "Powdered Sugar" }, { "id": "5006", "type": "Chocolate with Sprinkles" }, { "id": "5003", "type": "Chocolate" }, { "id": "5004", "type": "Maple" } ] }

3. Extensibility 

Should you encounter requirements not achievable out-of-the-box, what are your options to develop extension?

I don't think you want to go for a platform that doesn't support extensibility by independent party.

4. Presentation Layer

You should question the underlying technology of presentation layer to provide omni-channel support, i.e. desktop and mobile. And, does it align with frontend technology trend of foreseeable future?

For example, something that requires ActiveX, Java Applet and Flash is clearly unfavourable. On the other hand, responsive web design provides better compatibility to omni-channel support.

5. DevOps

What are the DevOps tools (e.g. version-control system integration, CI/CD support, test automation) provided, and do they fit into your organization's DevOps practices? Or, what is the change management expected?


6. Performance Management

For application to be fit for enterprise adoption, performance management is often a key criteria. Some of the questions that you can ask when evaluating low-code platform are:

  • Availability of configuration based performance performance optimization tools, such as content cache 
  • Application performance monitoring and auto alert. For examples: error count, computing resource consumption, processing time
  • Performance issue troubleshooting. For examples, memory leak detection, slow query identification

7. Openness

Enterprise application is never standalone. How can 2-way system integration be accomplished? 
  • From the low-code application, with an external system, such as system automation as part of a workflow. In today's context, you can also assess its support for new areas of technology-in-demand through 3rd party tools, such as artificial intelligence/machine learning, blockchain and robotic process automation (RPA).
  • Secondly, invoking an API published by the low-code platform, from external system. Is there a fixed set of standard APIs available? What can you do, should you wish to publish an API from an application developed on the low-code platform?

8. Security

How does the low-code platform conform to standard web application security checklist, such as The OWASP Top 10 list?

And, if the low-code platform evaluated is not a fully open-source software, is there an independent 3rd party review or accreditation to the software security compliance?

9. Support

Availability of enterprise support option in your country, or region, and the maturity of experience of these options.

Secondly, the state of community support or availability of technical resources for hire. And thirdly, the EOL (end-of-life) policy of the low-code platform software.

Last but not least, examine the product fact sheet, and find out if all the claimed features are supported out-of-the-box from the software version you are evaluating, or does it actually require dependency on another software to achieve the said function. Finding it out earlier, can help you to assess the actual total cost of ownership.

This 9-point checklist isn't a definitive one. The list can be further broken down to greater details. But I do hope, what I could cover in a 30-minute presentation is helpful to an organization's purchasing decision.

No comments:

Post a Comment