Below I present a look at low-code / no-code based on 20 years of experience in implementing CRM / ERP.
In the economy, with ever-increasing competition, low-code / no-code will soon begin to occupy a growing large place. And the point is not that everyone wants to save on the vendor's CRM / ERP system remuneration, low-code / no-code gives great advantages in terms of the cost of owning the system, the cost of changing the system and the cost of creating a system error.
About the different types of costs, with reference to information systems, it was more detailed here
The essence of low-code / no-code (hereinafter simply low-code) is to reduce the threshold for creating / changing an information system to the level of a business analyst or even an advanced user. This is when a vendor does not just create a platform with a built-in language and its employees declare that they will do for the client “all or almost all” - a low-code platform, this is when business analysts or dedicated responsible persons on the client’s side (his employees) can "Almost everything" do it yourself.
What is included in the concept on the platform can be "almost everything"?- Data format, user data
- Calculations
- Desktop / web interfaces
- Reports, dashboards, analytics
- Templates of documents, mailings, notifications
- Process management
- Access and logging control
- Manage customer account and data on the site
Low-code capabilities significantly shorten the path to the result from the chain “User’s task - development budget — business analyst — TK — performer — approval of the result — making changes — acceptance” to “User's task –Business analyst — acceptance”.
')
Key employees are “carriers / owners of knowledge about company processes”. It is the provision in their hands of a tool that allows! completely! create / modify an enterprise information system, leads to:
- more business agility and transparency
- reduce IT costs
- increasing the speed of developing a corporate information system
- reducing risks and waiting time for the implementation of internal tasks in the corporate system
and more "down to earth":
- opportunity for managers at various levels to quickly try new management models
- independent adaptation of the interface and visualization to the needs of users
- fast creation of new reports, forms, forms
- operational changes to process management
- + much more
Below is a look at how a low-code system can be built. One of the options. With an explanation of the key points.
1. Data format, user data

The platform must have data configuration tools. And without programming. Not only “user data” should be available for configuration, but also directories and registries representing the basis of configuration + system — for example, contractors, physical. persons, etc. Or vice versa: there are vendors that allow the configuration of a limited number of data types + create your own directories - this is wrong. Restrictions are a compromise for the client’s money.
All data should have, relatively speaking, equal rights, be displayed in a tree (because there are affiliated registries / directories) and the business analyst of the platform buyer must be able to manage this data without restrictions.
At the moment, the development of the IT market in Russia, many companies - CRM vendors have learned to add their reference books. Just adding a compromise is not enough to be called a full platform.
Highlights
a) Data visualization to the end user.
Working with filters, reports, templates, etc., the user must see the data in a convenient way, with names that are clear to him. The data should be visible not only by the query table, but also by related tables (forward and backward links). The user should be able to filter, select, build reports, queries, relatively speaking “to fall” deep into the associated data at any level.
At the same time, the system should itself take over the functions of converting the final query into SQL. The system should be built in such a way that the user can “reach out” to all data, including system and “exotic”, such as logs. This allows you to receive reports on all information of interest and in a visualized form it is easy and convenient.
2. Calculations
The platform that allows the implementer (business analyst) to manage the load on the database server should divide the calculations into different types of load.
As an option:
- Dynamic calculations (each request to the table is performed)
- Event-based computations (performed only when an entry is created in the control register or a change in the control attribute occurs)
- Calculations on schedules (occur, for example, at night or even once a week / month)
a) Drawing up calculation algorithmsIn a low-code platform, a business analyst should have a functional that allows him using, as an example, the above attribute tree, to compute an algorithm for computation in a clear accessible language and understandable and accessible attribute names, registries, etc.
b) At the same time, T-SQL code is allowed here.
The T-SQL code removes the constraints of computational complexity, making the platform wider than “for business analyst”. In essence, this is again the "absence of restrictions." Low-code platform should not be a tool only for business analysts - it should cover the needs of developing a ready-made solution on the platform, including code in a special language and, for example, T-SQL. But a business analyst on a low-code platform should be able to close most of the typical tasks.
c) “Accounting is results”The system should allow the business analyst to create a calculation of the totals and key indicators necessary to form dashboards, inform users about the number of tasks (example), etc. Ie form corporate-wide calculations that are not tied to specific records. It is also important (it will be discussed below) to display these total indicators in the interface (in the visualization) in the form of indicators, large figures, etc.
d) SubmissionsIn essence, a "view" is a kind of "table constructor." Its availability to business analysts or advanced users allows you to collect tables from several tables, i.e. create views that are not stored in the database. Representations and their development are very important in the analysis and comparison of data, incl. marketers. In the low-code concept, this means that complex constructs, which are usually programmed for a long time, are now created by business analysts with a “mouse” in a short timeframe, and also can change quickly.
e) Units (registers)There is a large number of calculations on a schedule (at night), as well as preparation of totals and calculations for complex reporting forms that also require a large server load and which also makes sense at night. Reports of this type do not require on-line data updating. From the user's point of view, aggregation is the preparation of ready-made reports with ready-made results, so that a request for such a report does not lead to calculations, but gives a ready-made form with results for 1 to 2 seconds.
Intermediate conclusion: low-code design of the finished configuration in terms of data is the closure without programming by the business analyst of all the issues of the database format for a business of any size and complexity + the development speed required, which turns out to be very high.
3. Desktop / web interfaces

a) Accessibility for designOne of the main things in the interface design is the fundamental availability of this function to business analysts, and, of course, without programming. This means that there is a component composition (about it below) and there is a “mouse” with which you can arrange everything on the form, as required, and specify properties, functions, etc., for example, in the object inspector or in object cards. The complexity of the forms in the low-code platform should not be limited to anything.
With regard to modern CRM and ERP systems, the interface designer should be both for the desktop (if the system comes in the desktop version) and for the web.
b) painted and it worksThe work of what has just been rendered is a very important aspect. Often, in platforms in order for the rendered interface to work, code is needed. Let not big. This is not a low-code platform, even if the vendor is trying to present it.
The system in its properties and messages to the user about critical events should imply setting up the form in such a way that when setting the necessary properties and connections of objects on it, everything starts to show data and work right away. No other way. No, even the minimum code.
c) Component composition


The component composition of the interface designer should cover all modern tasks of visualization and work with data. In addition to the standard, should be:
- Pivot
- Organizer
- Indicators
- Results
- Geovizualization
- other
The business analyst should have every opportunity to create a dashboard or workplace of any complexity. Modern business dictates to the interface the requirements not only of beauty, but also of providing on one screen all the large amount of information necessary for decision-making. Often, extremely complex interfaces are created in projects that completely satisfy users, and all theories of simplicity, ease and beauty of interfaces are completely denied - the main thing is the work.
d) Record Cards
Each unit may have its own views and requirements for record cards. Sales managers need to see the customer card in their own way, bookkeeping in their own way, and management in their own way.
In low-code platforms, to implement this feature, there should be settings with copying a card from one user group to another, while creating a unique look in each of them. This should be done WITHOUT the use of an embedded language.
e) Embedded languageWith all this, the built-in language will not be superfluous. But this is an addition to the low-code features:

Where particularly complex scenarios are needed and where there are not enough settings for some reason or it is necessary to control the properties of components, calculations, etc., depending on the actions of users and this cannot be put on a graphic map of the processes - please be available and well. when built-in language is available, as a means of deep customization.
4. Reports, dashboards, analytics
+
5. Templates of documents, mailings, notifications
Actually, as in the report designer, the preparation of document templates based on MS Word and MS Excel requires accessibility for all and users, including. The data visualization described above. The user in the low-code platform should not know the names of the tables in the database, fields, etc. The comprehensive visual toolkit for accessing all data without SQL knowledge should be available to him.

It should also be noted here that it is correct to provide the business analyst with the opportunity to operate, both with direct links to tables and reverse ones. This allows you to insert into MS Word templates - for example, in the contract table specification.

6. Process Management

There are many systems on the market that claim to have process management tools. It is often understood to mean, for example, the sequential distribution of tasks, or the branching of only one type (yes / no, which is essentially a conditional transition).
Low-code platforms should have powerful, accessible without programming graphic editors for process maps, where a business analyst should have modeling capabilities:
1. Events in the database and from this:
- setting up intergroup user interaction
- creating and modifying records and their attributes
- chat and news feed notification
- run handlers
- mailing list including with dynamic attachments
2. Scheduler
- o processing time "before" and "after" the control and / or key values ​​of the attributes of records
- o creating actions described above on a regular (schedule) basis
An important point in the capabilities of a graphical process map is access from the map to interface objects and their properties, as well as a reaction to user actions. However, this is a complex topic and will be discussed in another article.
7. Access and logging control
Implementation of the filling system with regular interfaces and conditionally “new” can and should be available without programming. Including customization of icons and download their collections.

Similarly, access and its limitations.
- Before any, incl. user data and reference books
- Up to data attributes
- Access based on calculations and logic
Separately for each user group

8. Manage customer account and data on the site
Similarly, the management of the audit log (logging)

Due to the growth of user literacy. In view of the fact that those who programmed in Fortran will soon retire. I am sure that the future is precisely behind the management systems of corporate complex systems of the “low-code platform” type.
It is NOT about programming failure. As shown above, the gateway / access / other level can and should be everywhere so that certain issues are implemented in the built-in languages ​​and SQL.
The point is that low-code companies are profitable for objective reasons and the trend is, in fact, in a simpler language: automation of the work of implementers / business analysts - to simplify and speed up their work, is obvious.
Having the means of managing the format of data, computing without programming, distribution of the load on the server through scheduling calculations; having the ability to visualize data, both in terms of the workplace of a particular group of users + visualization and analyticity of data for decision makers; having the ability to customize processes in the graphics engine with elements of a document flow and distribution of tasks - a business analyst can close a very large amount of implementation of an information system of high complexity.
And once again “On different types of costs, as applied to information systems”, more was said here.