Most organizations have unique needs and this creates opportunities for building custom software.
The quest to meet the needs starts with research for off the shelf generic software. Often times, even if you chance upon generic software that may generally satisfy the requirements, it has to be heavily customized to satisfy the specific & unique needs of an organization. While individual software packages and applications have improved extensibility over the last decade and allow easy configuration and customization features – more likely than not there would be a handful of critical business features missing that lead you in the direction of building custom software. Building fully custom software is very time consuming, complex and much more expensive than customizing a generic package.
So, if you have reached a conclusion that you absolutely need to build a custom software solution or a business application, you ought to consider a low code/no code platform that provides robust application development capabilities at a fraction of the cost of custom software. As software development has become more componentized, developing business applications can be thought of as assembling and orchestrating these components into a meaningful whole. However, solution development still requires programming, knowledge of the ever evolving software libraries (look at different jQuery frameworks out on the internet) and infrastructure that may not be easily available within the organization, especially to non-IT folks. Enter the low code platform!
A low code platform solves the problem of developing business applications in uniform, robust and scalable ways without having to code much or at all. From an enterprise application development perspective, this is cool because these platforms can be used by tech savvy individuals that are not necessarily traditional programmers. This does not fundamentally eliminate the need for skills, it just shifts it from deep technical needs to a very healthy and plentifully available combination of tech savvy and business savvy professionals. For developers, there are still plenty of opportunities for customization and deeper programming if there is a real need for fine grained control.
One such no code low code platform we have extensively worked on is K2.
K2 had its roots in a BPM workflow engine and has evolved into an application development platform for rapidly building business applications with absolutely no code or very little code. A K2 business application typically has two or three parts. At the core is the data integration and data management framework called “SmartObject” framework. This framework allows an application developer to rapidly integrate with backend data and homogenize the view of the data as business entities. This data abstraction framework allows the rest of the tooling to view and manipulate data without any programming. The second component of the business application is typically the user interface. K2 SmartForms allows developers or analysts to build user interfaces in a WYSIWYG way, by dragging and dropping various components to create UI building blocks and then being able to compose these UI blocks into a holistic UI experience.
The third component of the platform is the workflow engine. This is a very powerful component to build the business process in a visual way by defining activities, actors and routing rules. As an example, think of an expense management application where an expense request needs to be approved by manager, director and finance department. Note that this is an optional component since not every business application is process oriented. With K2, the business application development time can be reduced dramatically without sacrificing the functionality, robustness and governance. All applications follow a uniform development paradigm and the change management can be governed easily. All the data integration components, UI building block components and even workflows can be reused across different business applications creating a library of components as more and more solutions are built.
K2 has undergone dramatic improvements recently. Here we highlight a few really exciting changes.
K2 recently launched cloud offering called “K2 Cloud”. With K2 cloud, your IT teams or business/citizen development teams can get spun up without having to provision and configure IT infrastructure. Plus K2 cloud gets updated at a much quicker pace (bug fixes and enhancements) than traditional on premise upgrade via patch releases.
Fully Web-Based Designers
With K2 Cloud and K2 Five (equivalent on premise version), all K2 designers including workflow designers are web-based. There are no thick clients to install making it extremely easy for developers and analysts to quickly build SmartObjects, SmartForms (UI) and Workflow.
Given the low code/no code paradigm of K2 platform, citizen developers (tech savvy business users, analysts or technical project managers) can build business applications rapidly as well as adapt them to changing business needs. This creates a virtuous cycle of more business satisfaction leading to more applications built on the K2 platform.
Governance is the most critical issue with citizen development as lack of technical depth can sometimes lead to undesired outcomes. Sandboxing as well as enabling guard rails via a notion of category level security introduced in K2 Five addresses this issue in a very robust way.
K2 natively integrates with common enterprise systems and applications including SharePoint, DocuSign, Salesforce, SAP, Oracle, Box, Office 365 and others. Recently, K2 has added REST based integration with Swagger support to interact with REST endpoints by using the REST SmartObject Broker to expose a particular REST endpoint as a service instance.