• Custom UX: When developing applications for client access, a custom UX can provide a more tailored and firm-branded experience.
• Development Users: Will the platform be used by developers in IT to accelerate development, or is the goal to support citizen developers? Some platforms focus on advanced capabilities for the former and others on ease of use for the latter.
• End Users: Depending on the number of people who will be using the development platform and the finished application, you'll need to choose a platform that can handle the load and offers the needed functionality.
• End-User Population: Your choice may differ based on whether the end-users are in-house staff, clients, or business partners.
• Authentication: How will users be managed? For internal use, do you want Active Directory integration and single sign-on (SSO) so you don’t have to manage another set of user permissions? Are there ethical wall considerations?
• On-Premises vs. Cloud: Depending on your firm's data handling and security policies, you might prefer an on-premises, cloud, or hybrid solution.
• Licensing and Budget: Are you looking for one platform that addresses as many of your use cases as possible or selecting multiple solutions better suited to each application?
• Markets Served: Ensure the platform you choose is viable and compliant with the regions you operate in, such as North America, the EU, etc.
• Security: Security is paramount in a law firm. Do you need SOC 2 Type II certification, for example?
• Extensibility: Every platform has limitations. What are the options for adding code, connecting to a web service, or otherwise extending the capabilities of the system?
• Reporting Requirements: Depending on your firm's reporting needs, you may need built-in reporting features or integration with tools like Power BI.
Looking at the different types of low-code tools quickly demonstrates that there are trade-offs between choosing the platform best suited to a specific use case versus evaluating a larger set of common requirements to reduce licensing and management costs. A small selection of low code tools is show in Figure 1 as an example, divided into three broad categories:
• Narrow Use Low-Code Tools: Tools that come with features and functionalities tailored to a particular use case or a business function. For example, some narrow-use tools focus solely on particular workflow automations, while others may be built specifically for creating chatbots. These tools can be highly efficient in their specialized area but lack the versatility to be used for other types of applications. They tend to be focused on easy of use, requiring minimal coding knowledge, making them more accessible to citizen developers.
• Template-Based Low-Code Tools: These platforms provide pre-designed templates that can be used as a starting point for application development. The templates are often designed to address common business needs like collaboration and workflows. Developers select a template that closely matches their needs and then customize it with their own data fields, business logic, and workflows. While template-based tools offer more flexibility than narrow-use tools, they may not be suitable for building highly complex or unique applications that don't align with the provided templates.
• Broad Application Building Tools: These are the most versatile low-code platforms. They allow developers to create a wider variety of applications from scratch. These tools typically provide an extensive set of pre-built components and integrations but also allow for custom coding when necessary. They often include capabilities to handle more complex business logic, data management, multi-platform deployment, and integration with other systems. They offer higher levels of flexibility, in turn requiring a greater degree of technical skill to use effectively.
You’ll likely want to evaluate a broader base of tools; for a more extensive list of low-code tools, visit Legaltech Hub.
Software Development Process
When using low-code platforms, the principles and practices of traditional software development still apply. Keeping these disciplines intact ensures that the end product is reliable, maintainable, and serves its intended purpose.
• Requirement Gathering: Understanding what the end-user needs is still crucial. This involves gathering requirements, determining their priority, and using this information to guide the development process.
• Software Architecture: Although low-code platforms handle much of the underlying infrastructure, understanding software architecture is still important. This knowledge helps in making key decisions about the application's structure, integrations, security, and scalability.
• Testing: Rigorous testing is an essential part of any software development process, including low-code. This involves unit testing, system testing, integration testing, and user acceptance testing to ensure the application works as intended and meets user requirements.
• Version Control: It's essential to maintain different versions of the application, track changes, and have the ability to roll back if needed.
• Security: Security remains a paramount concern. The addition of a low-code platform in the IT stack can complicate security reviews.
• Documentation: Clear documentation is crucial for maintaining and modifying the application in the future. Even with the benefits of low-code, you need to document the application design, user guides, and any custom code.
• Continuous Integration and Deployment (CI/CD): Low-code tools often support CI/CD, which is a fundamental practice for modern software development, ensuring that updates can be made frequently, reliably, and without disrupting the application's operation.
• Code Review: For the sections where traditional coding is required, standard practices of peer review should be followed to maintain code quality and mitigate bugs or issues early on.
• User Experience Design: Low-code platforms often come with pre-built user interface components, but an understanding of good UX design principles is still necessary to ensure the application is intuitive and easy to use.
• Lifecycle Management: Applications need to be managed throughout their lifecycle, from initial development to retirement. This includes regular updates, maintenance, handling user feedback, and ultimately, deciding when it's time to replace the application. Managing across multiple low-code platforms complicates the process.
The Bottom Line
Choosing the right low-code platform(s) for your firm is no easy task, requiring a systematic evaluation process that involves all stakeholders. The goal of this article is to lay out the key considerations, making it easier to develop an evaluation process and scorecard for your firm’s most important priorities.