This paper will examine the low-code/no-code development environment, identify some potential use cases, explain why Katalyst Technologies selected OutSystems as our low-code/no-code platform of choice, and highlight some of Katalyst’s experiences in this exciting component of today’s rapidly-evolving enterprise information technology environment.
The Pace of Change
The pace of change in today’s highly interconnected and rapidly evolving business environment is a significant challenge for developers and managers alike. From CIO Magazine on September 6, 2018:
- In a recent survey of the graduates of top international business schools, the pace of technological and digital advance was rated as the top threat facing global business leaders, surpassing the current churn of economic, political, and environmental changes. Sixty-eight percent of the respondents – over two-thirds – felt this was the most critical threat they would face. The businesses we serve are already pressured by quarter-to-quarter profitability challenges, and the pace of technology change – which was perceived as a global challenge – adds fuel to the fire.
- For those of us in technology, how do we address these concerns? Stephen Hawking once said, “intelligence is the ability to change.” Are we willing and able to change the way that we work to address these threats?
Needs are changing, requirements are changing, the development environments are changing, and resources are tight. One approach to coping with the enormous pace of change is the adoption of low-code/no-code platforms for development, either for internal use, external facing systems, or both.
What Is Low-Code?
A low-code development platform is a way to develop programs and systems with little or no handcoding. A low-code development platform is a tool that experience developers can utilize to deliver results faster, with better functionality, and fewer errors than would be expected from a conventional development environment and allows business analysts or other less-experienced developers to create their own fully realized and highly sophisticated programs without being bogged down in the details.
It is no wonder that low-code/no-code development platforms are seeing explosive growth:
Indeed, Forrester has predicted a nearly tenfold increase in the adoption of low-code/no-code development platforms between 2015 and 2020. We are right in the middle of that cycle now.
Katalyst Technologies evaluated 15 different low-code/no-code development platforms in dimensions of comprehensiveness, ease of use, customizability, cost, and scalability including the development of a proof of concept application.
Here is a sample of the available platforms and how they rank in Forrester’s “Magic Quadrant”:
We chose OutSystems. OutSystems provides best-of-breed features we need to be able to offer to our customers:
- Support for web apps
- Support for native mobile apps for either Android or iOS that support the full range of hardware capabilities of mobile devices.
- Support for the full range of development activities including screen design, process design, database design, and app design within a consistent, easy-to-use, point-and-click user interface
- Agile development
- DevOps deployment
- Support for cloud-based execution
- Support for on-premises execution
- Ability to integrate with external databases
- Ability to integrate with web services
- Ability to integrate with legacy systems or external components
- Support for customer branding
- Digital Transformation
- The pace of change exceeds your rate of development
- Limited development resources
- Tying the pieces together
- Retain control of your own information technology
Digital transformation refers to the process of optimizing an organization’s ability to respond to change and putting the ability to respond to change in the hands of those closest to what is changing. The process begins with a single low-code development team and progresses to encompass a complete digital enterprise.
The OutSystems platform is a vital component of that process.
The pace of change exceeds your rate of development
When requests for changes or new development arrive faster than your IT department can make the changes or develop new programs, you can either expand your IT department or optimize your IT department using the OutSystems low-code platform.
It is well known that expanding an IT department does not necessarily result in an increased output from the department. This principle was first articulated by Fred Brooks in his foundational book, “The Mythical Man-Month”: “Adding human resources to a late software project makes it later.” There is a good reason for that: the additional communications and reporting requirements of adding resources may exceed the additional productive capacity from adding resources.
One solution to this problem is rather that adding more developers to make your existing developers more productive by adopting the OutSystems low-code development platform
Limited development resources
Some companies have capped development resources but due to circumstances are unable to cap the demands that are placed on developers. Making your developers more productive or expanding your development resources beyond the IT department to business analysts and others nearer to the actual needs by using the OutSystems low-code development platform is a good way of dealing with this issue
Tying the pieces together
Enterprises have a way of accumulating legacy software much in the same way that a ship accumulates barnacles with much the same effect. Operations are slowed down. Using Excel spreadsheets to transfer data between incompatible legacy systems or to compensate for the omissions in these systems is a solution that adds additional complexity to an already complicated IT environment.
OutSystems’s unparalleled ability to integrate with external software enables enterprises to tie the disparate threads of their IT environment together in a coherent way and provides a more systematic, more controlled method for handling the deficiencies in legacy software.
Retain control of your own information technology
The shrink-wrapped software can result in cost savings but at the expense of control over your own IT destiny. For some enterprises retaining that control is a primary objective. OutSystems can help you do that by allowing you to implement complex functionality quickly, obviating the necessity of shrink-wrapped software.
The very first app we implemented was our proof of concept app, a mobile with the following features:
- Ability to display a catalog an allow users to order garments in different sizes and colors from a mobile device
- Retain catalog data in local storage
- Allow users to establish budgets
- Implement a rating system for garment styles by user
- Integrate with an external ERP
Here are some sample screens from the app:
Ordering from the catalog
Notice the rating system (hearts in the upper right corner). The catalog may also be sorted in descending order of preference, cf. the pull-out menu on the left side of the screen. When individual styles are selected, are larger graphic is displayed and the colors and sizes that are in stock are refreshed dynamically based on inventory (lower right quadrant).
Set a budget
The percent of budget remaining is displayed in the upper right-hand corner of the catalog screen.
Review and submit orders
Review customer contact info
This application including integration with an external ERP for inventory information was developed in approximately three weeks by a developer who had no prior experience with OutSystems. With the knowledge gained during the exposure it could now be implemented in a week. This is a fully functional mobile app, native to either Android or iOS which can be put on the Google or Apple stores and downloaded from there.
In the development environment
The following screens illustrate how the catalog app looks to the developer when opened in the OutSystems development environment, Service Studio.
This is the Service Studio’s Interface tab which allows the user to create, change, view, or delete screen layouts in a straightforward point-and-click manner. This is the catalog screen.
This is the Data tab which allows the user to create, change, view, or delete entities (database tables) and their attributes (fields). In this screen capture the Style Catalog entity has been expanded.
This screen capture illustrates how a user enters, changes, or views the business logic that supports screens. This is the UpdateFavorites action, part of how the app’s user is able to identify favorite styles (hearts).
Web App for Internal Use
We have developed a procurement system for internal use
Enter procurement request
This screen enables a user to enter a procurement request.
This screen illustrates guiding a user through the procurement process using a wizard.
Procurement status list
This screen shows the status of various procurement requests
Sophisticated Web App for Customer Use
We are in the process of implementing a complete ERP for a customer to control their entire business process.
Selecting and maintaining company info for customers, vendors, etc.
Selecting and maintaining project info
Zero to 60
Beginning with just a single OutSystems developer, Katalyst now has 10 trained OutSystems developers. Most are certified OutSystems Associates. By the end of the year, we should have at least 20 trained OutSystems developers with most certified and at least six certified as OutSystems Professional Developers.
Whether an enterprise is beginning a complete process of digital transformation, wants to develop complex mobile or web apps presently beyond the bandwidth of their present resources, or needs a coherent method of bridging the gaps among the legacy systems they presently use, the OutSystems low-code development environment is an excellent choice that we at Katalyst can offer.