Digitization is expected to be a solution to the tightening productivity expectations of business in all industries. Business systems are expected to have high performance, information security and usability, a flexible development project and implementation, but at a moderate cost.
Although progress is constantly taking place, the experiences of many IT buyers are still typical: ready-made SaaS products do not meet their needs, and the price and schedule of traditional software development projects are constantly stretched beyond the original estimates. Visibility into the development work is non-existent, which leads to expensive changes after the system is implemented. In addition, the quality of the end result is often disappointing for the customer.
Codelessness is rising – does it solve the problems of software development?
One of the emerging trends in software production is the Rapid Application Development (RAD) approach, which includes no-code or low-code application development platforms. With them, software is built with visual elements instead of writing code. Codeless methods are developing and maturing at a fast pace; a few years ago, e.g. Gartner talked about High Productivity Application Platform services (hpaPaas). However in their 2023 Magic Quadrant for Enterprise Low-Code Application Platforms report, Gartner updated the terminology, now talking about “Enterprise Low-Code platforms”.
Low-code/no-code platforms aim for rapid development and implementation of tailor-made applications. They do it by increasing the abstraction level of development and minimizing the amount of programming work. The platforms also aim to improve the fittingness of the final result by letting users build their applications themselves, without the intervention of a software company.
While completely code-free platforms are often aimed at citizen developers with no programming skills, low-code tools that require more technical knowledge are usually intended for professional use. On these enterprise low-code platforms, application code is generated, for example, based on a domain-specific models (DSM). The generated application can be developed further by coding manually. The purpose is to increase the productivity of professional developers, while giving freedom for wider customization of applications.
No-code/low-code platforms have also received criticism. Especially on no-code platforms, manual editing of the code is often very limited. That’s why they are mostly suitable for creating simple applications. The templates offered by the platforms cover the most common business processes, but they do not adapt to more versatile workflows, integrations or analytics. Platforms that often promise extreme speed and ease also often require more technical know-how than their marketing suggests.
Low-code and no-code platforms thus eliminate many problems of traditional software development by making it more intuitive, bringing in business experts as application builders and reducing the amount of programming. However, due to the shortcomings of the platforms, it is still common to implement more demanding business solutions together with professional software suppliers. However, the supplier can use enterprise low-code platforms successfully in their own operations, making its benefits available to the customer as well.
Automation and manual coding seamlessly combined in SC Software’s application production
Both traditional and codeless application development methods have their own pros and cons. At SC Software, we have approached the problem by choosing the best aspects of both ways and developing our own SoulGen software production platform around them. When the customer wants a certain kind of system, we model its information content, and generate a basic application based on that model. In the modeling, we use our self-defined domain-specific language (DSL), to which we have selected common application structures and functionalities that are found in all our systems. We proceed to develop the generated application manually according to the customer’s needs. Automating too far would take the end result further away from the customer’s needs.
Our SoulGen platform is comparable to enterprise low-code platforms, but instead of selling user licenses, we use it to increase our own productivity when building software. In this way, we standardize and speed up our software deliveries, which is reflected in the high quality of the solutions and in the holding project schedule and budget. At the same time, we are able to function as a comprehensive development partner that takes care of the systems’ information security, functionality, maintenance, environments and other technical stuff that customers usually don’t want to spend their time on.
It is easy to think of our technology only in terms of producing new tailor-made applications, but in practice it also works well for the renewal of legacy systems (see the project we delivered to Industrial Union), the implementation of large mission-critical systems, the expansion of existing systems or the rapid deployment of product innovations and go-to-market. In this way, we are able to have an agile operating model, where all these services belong to our offering.
The platform tackles the changing digital needs of organizations – now and in the future
Laura Fadjukoff’s diploma thesis – made in collaboration with SC Software – compared the effectiveness of domain-specific modeling and traditional programming in application development. As a result of the case study, it was found that generating an application from a model took up to 80% less total time compared to programming a similar application by hand. According to the study, working time was saved especially in creating the database, programming the application logic and editing the user interface. Although the study discussed just one case example, which as such cannot be generalized to every project, its results nevertheless give some indication of the time savings produced by our technology.
However, our own philosophy is not based on the pursuit of extreme speed, but on meeting the customer’s needs within the given limits. Our technology enables a larger part of the project budget to be used for so-called “higher value work” instead of routine coding, meaning e.g. refined processes and usability, extended device support or better reporting tools. In addition to saving time, we have also found other advantages of utilizing our platform:
- We are able to make a more accurate estimate of the time and resources needed for a project. Therefore the budget and schedule estimates we give to our customers are correct in almost all of our deliveries.
- Customers understands the application better when they see the visual model and the base application generated from it. Specifications can be refined at an early stage, which reduces the need for future fixes.
- The code is always consistent and of high quality, as it has been tested in all our delivery projects. In addition, we are constantly developing the platform further.
- We develop the delivered systems further with the same technology, and changes are quick to implement by editing the model.
- The generated application is a standard system following a usual multitier architecture, which can be further developed using traditional methods. This way the customer avoids vendor lock-in.
Our SoulGen platform also offers many future possibilities. The operation of organizations requires more and more information-based decision making; therefore the critical data must be possible to combine, analyze, share, enrich and cleanse. We have recognized our technological capabilities to e.g. implement ready-made API interfaces and create customized masterdata management solutions, as well as various BI data warehouses and their user interfaces. In addition to the digitalization of core business processes, our technology supports the utilization of core data for different purposes – across system boundaries.
Customer satisfaction is pivotal
As said, all application development methods have their pros and cons. With SoulGen technology, we aim to reduce the bottlenecks of traditional and codeless methods, but even our platform is not suitable for the creation of any kind of application. Competent software developers are still a key asset for the development of our solutions as well as our own technology. Numerous successful deliveries and the positive feedback from our customers encourage us to move forward on this path. Technology is a tool for us, but our customers’ satisfaction is the most important measure of success.