Due to our experience we know that the implementation process is much easier if company’s habitual terminology and logic of working processes are used in the system. From one side user works with familiar titles and forms, and the sequence of his actions in the system is the same as it was “before the implementation”
From the other side the system “leads” the user, not allowing him to drift from the logic of working process, providing him only validated options and does not offer him any “unnecessary” actions, buttons and interfaces.
In this way the user does feel comfortable in the new system information area.
As the system is designed by ourselves we have all the possibilities to use the terminology and the logic of working processes habitual for the Customer within the system.
Hereby business is not "pulled" on the system but the system reflects the existing business logic of the company.
The possibility and the extent to amend the system during adaptation and implementation process is one of the most important conditions for the successful project. There are three significant factors - the possibility to make changes, the speed of making changes and the final cost of such changes.
1) The possibility to make changes.
Current "standard" systems have good possibilities to adapt. However, all these features are mainly related to input/output and storage of data, to creation of a different kind of analytics etc. At the same time if a more or less significant amendment of logic (or sequence) of the working process is needed, such systems are almost impossible to change.
This is because the logic of working processes is located within an unchangeable "core" of such systems, and the manufacturer of systems allows distributors to make adaptations only in the "superstructure" of systems.
In our case, we can easily operate with any part of the system and even totally rewrite it (if this is required by the logic of the client's business). Some of the "standard" systems (e.g. SAP) are trying to compensate this drawback by creating a high degree of universality by trying to cover all possible options of working processes that exist in the business. However, the result of such universality is a huge cost and significant complication of the system which requires additional training for employees.
In addition more and more options of processes appear inevitably, and this requires the manufacturer to make huge investments in the revision of the "universal" version of programs.
All "standard" systems suffer from this insoluble dilemma in some extent: the universality on one hand and the rising i of the system’s cost on the other hand. And the end customer pays for all this ...
2) Speed of making changes.
In principle the logic in this question is very simple: the more complex the system - the lower the speed of amendments. It is so just because it is necessary to come to agreement with a large number of specialists about such amendments. And then those changes should be tested in conjunction with a large number of modules and interfaces.
3) Cost of changes.
The logic here is the same, although the effect is more significant.
The system which was customized for a client and solves his concrete tasks is more compact and has no redundant functionality, so the cost of amendments is much lower and makes no significant impact on the budget of the project.
A multiplicative effect of this is a radical increase of the speed of making changes (no need to reconcile the money – which is usually the longest process) as well as serious facilitation of the implementation (Customer's representative’s hands are not tied - he has an opportunity to "polish" interfaces and makes them more understandable and user friendly).
The result is a serious reduction of implementation and training costs.
One of the most important factors for the successful implementation of the system is psychological "acceptance" of the system by users.
Lack or minimization of employees’ resistance to the implementation is sometimes crucial for the successful completion of the project. And what is most important, it saves the company's management from taking difficult decisions to dismiss (or withdraw from the project) employees who resist to the implementation.
To reduce the effect of "rejection" it is necessary for future user to make his own contribution to the construction and design of the system.
Typically, in such cases the user who is improving his working interface receives from such improvements a sort of a "bonus" from the implementation of the whole system. And this urges user to move from the "enemy" or "doubtful" category to the category of "ally" of the implementation.
However, it often happens that the wave of "creative proposals" from users makes the cost of adaptation of the system far beyond the budgets of implementation. Therefore it is important not only to create a system of "filtering" of proposals, but also to be able to implement these proposals within the system.
And what is the most important – these amendments must be made quickly and inexpensively. All "standard" systems cannot solve this problem in any reasonable extent.
As we can create user interfaces in accordance with the customer’s needs, we have the opportunity to create a so-called "information environment", in which the user should work.
Within such an environment, the system can "force" users to perform a certain sequence of actions, defined by company’s regulations.
In addition, the user can pass through the specially established "checkpoints" while following this algorithm.
After that the system should just collect these data automatically and present them to the attention of responsible persons as reports.
The system can also track the time and the fact that the employees perform any particular operation, and remind of a need of execution.
Everything will be under control.
Typically, users work with the systems during their working time and from their office desks.
However, in some cases (usually this is relevant to senior management) users would like to access data from home, during a business trip or (for workaholics) on vacation...
There are many ways to provide remote access to systems, but they all involve additional configuration and installation on the user's computer and advanced network settings. This creates some difficulties primarily for the end user (as he should at least learn how to manage remote access systems).
In all our systems we use the technology which allows users to work with the system using Internet Explorer and Excel, i.e. a standard set of software and Internet access.
Thus the user can operate the system from anywhere and from any computer. The technology we use is constantly evolving and has proved itself to be a good instrument in terms of usability and data security.
The relatively high resource intensity of all "standard" systems is caused by their developers’ attempts to universalize their systems for any working processes.
This approach dictates the presence of a large number of flat tables in a database, which causes an increased load on the server hardware. It’s one thing when data have to be entered into three tables to store information, but quite another when it has to be done with 50 tables. ... Also, such product fit better to the franchising schemes for mass sales and support.
In our case we can avoid complex queries and locks of tables: the most complex queries are executed in a few seconds.
Thereby our most complex systems are not demanding to the server hardware, can be installed on the standard equipment and provide simultaneous access for a practically unlimited number of employees (1000-2000 users).
We develop and implement the following systems:
- Financial management and budgeting
- Management of complex / non-standard working processes
- Management of "order-to-invoice" operational processes
- In accordance with individual requirements