Enable javascript in your browser for better experience. Need to know to enable it? Go here.
choosing-low-code-platform

Low code connoisseurship — choosing the right platform

Finding the platform that fits your business


Low code is no silver bullet, and we recommend careful consideration before rushing to adopt it. Many software developers view low code skeptically; even so, many people within the enterprise are attracted by the apparent promise of fast and easy ways to create apps. 


So, who is right? The answer to that is not simple.


There are business needs that traditional software development is failing to fulfill, and low code platforms are trying to address those pain points. So, from a business perspective, low code appears to be a new innovation to solve all of these problems. 


Software developers need to be more understanding of this need, and work in collaboration with the business side of things. In doing so, the non-technical colleagues can start to understand the concerns their developers might have about low-code platforms; and developers can help ensure the technical solutions support the business goals. It’s not really a question of whether low code is good or bad; but rather, will low code help the business meet its goals. For a more in-depth discussion of this question take a look at this article


We believe the best way to think about these issues is through partnership between business and IT, rather than as an isolated exercise in one department or another. If you decide that a low-code platform should be part of your overall strategy, then here’s what we think you need to consider when choosing a platform. 


Goals


First, think about your reasons for wanting to build something with a low-code platform. What is it that you’re hoping to achieve? Be clear on this point, and use it as framing for your thinking. If your hopes are too big — verging on silver bullet territory — this should give you pause. What are your specific business and technology goals? Whichever platform you choose needs to help you reach these goals. 



Cost


Part of low code’s appeal is the perception that you can produce software faster and cheaper. When it comes to evaluating a platform, you need to consider the total cost of ownership, or at least the estimated savings versus traditional software development. Is it any cheaper to create each application once you have paid the “platform tax” of all the other items in this list? Some of the things you’ll need to consider are the following:


  • Licensing of the low-code platform itself.
  • Hosting — whether the low-code platform runs on a commercial cloud such as AWS, GCP or Azure, the platform provides its own environment, or runs on traditional in-house infrastructure, the cost of hosting can be a significant factor.
  • Whether or not support is included, and what level of support you will get. Sometimes you have to pay more to get better support. Have you considered the platform support team within your organization too?
  • One of the primary benefits that low-code platforms advertize is the speed to production. That speed is only possible if the users of the platform know how to use the platform itself. This ramp up time, its cost, and what the platform does to reduce those should be taken into consideration, e.g. training and ease of use.
  • The cost of transitioning a project away from the platform when it’s no longer meeting the project’s needs.

Scalability


The platform you choose should scale with the growth of your business. There are various angles to consider in terms of scalability that should be taken into consideration. An example would be the platform not hindering overall business growth. As your company grows, you’ll likely have more projects and employees that need access to the platform. You need to ensure that the platform will meet your needs as the business grows. Similarly, the platform needs to allow for your projects to grow with the number of users. In general, the platform you choose shouldn’t get in the way of the growth of your business. Some considerations we think you should keep in mind to help ensure that the platform you choose scales with you are as follows: 


  • The number of supported users, and how that relates to the plans/packages the platform offers.
  • The user management and permissions system.  
  • The number of projects that you can create, and how that relates to the plans/packages the platform offers.
  • Project growth. The infrastructure options vary depending on the platform. Some platforms provide their own internal environment; while others support using commercial cloud options, e.g. AWS or Azure. If you’re hosting the platform in your cloud environment, all the usual cross-functional considerations apply regarding reliability, performance, and high-availability. 

Support and evolution


Software is created by humans, and humans make mistakes whether writing code or configuring via “drag and drop” interfaces. It’s an undeniable fact that bugs will pop up. It’s important to have both a plan and the necessary tools for finding and fixing bugs effectively. Whatever platform you choose needs to empower your developers. Collaboration between software developers and ‘citizen developers’ will bring the best result. Having both collaborate to evaluate the tooling and outputs will allow for you to judge both the utility and usability.

Keep in mind that it’s not just your software that can have bugs. The platforms themselves are written and maintained by humans too. So, investigating your prospective provider’s customer and technical support is recommended. There also might be bugs that crop up where the built-in debugging tools are insufficient. Ideally, whichever platform you choose will provide technical support in not only tackling these bugs, but also helping your projects evolve.


Collaboration


It’s rare for a project to have only one or two people working on it, and it’s likely that people will be making changes to the project at the same time. If a team doesn’t have the tools it needs to effectively support a collaborative effort, then development can grind to a halt. This applies to not just traditional software development, but also to low-code development. This means that it’s vital that whatever low-code platform you choose provides you with the tools your teams need to collaborate.


  • Understand how the low-code platform approaches modularization, so that the overall system can be divided into components that can be worked on by different team members.
  • A key example of one of these tools would be version control. For traditional software development, version control is handled through an SCM (source control management) system. These SCMs are powerful tools that help make sure developers step on each other’s toes as little as possible. We strongly recommend that whatever low-code platform you choose provides version control that’s powerful enough to support highly collaborative efforts while also being intuitive enough for non-technical users to use effectively.


Flexibility


It’s important to not just think about whether a platform will work for your current projects, but to also consider your future projects. Each project is different, and business needs and requirements change.


Low-code platforms provide pre-built blocks of code for common application actions that you use to build applications. These are great as long as what you’re working on fits into the mold these pre-built blocks provide. But, there are likely going to be cases where something doesn’t quite fit. This is where the code part of low-code comes into play. Low-code platforms allow for the addition of custom code to supplement the pre-built blocks. Generally this is in the form of creating custom blocks of code. These pre-build blocks and the custom blocks are what need to be evaluated. Some of the things you need to consider are:


  • What pre-built blocks are provided? Do they align with your technical requirements? 
  • How flexible are the pre-built blocks and custom code options?.
  • What methodologies and interfaces are available for adding custom code?  
  • What technical capabilities are required to add custom code? For example, the programming language that you’ll have to use. You will need somebody with programming experience, and who knows the language in order to make use of the custom-code feature.
  • How flexible are the data models? And how easy or hard it is to change them later without starting over again?


Making the choice


The choice of platform is not just a business investment; it’s a long term addition to your technical capabilities and infrastructure. These are not separate concerns, as they inevitably affect and depend on each other. Technology choices always have an impact on meeting your business strategy goals. We believe the best way to think about and tackle these issues is with the business and IT forming a united front, rather than as an isolated exercise in one department or another. Close collaboration is vital when evaluating low-code platforms to ensure that whatever platform you choose will align with both your business and technical strategy. 


Now you have looked beyond the hype, you have found the low-code platform you want and fully understand the investment needed. The next article in this series explores how to ensure that the low-code platform you chose will really deliver what you need. Read it here.

Looking for more insights into important tech trends? Check Thoughtworks Looking Glass