logo
terarows facebook google microsoft

Architects design such top-notch ERP

Posted: 2020-01-01 Edited: 2020-01-13

Top-notch enterprises also choose such top-notch ERP

The Term "ERP"

Previously, everyone in academia and information industry talked about "EDP". In the early days, colleges opened Electronic Data Processing Section.

Later, because the name "EDP" sounded too low-end, universities upgraded it to "Department of Information Management" in order to reflect the high altitude and advanced technology imparted by universities.

A few years later, some people may think that the word "EDP" lacked the spirit of management, and then "ERP" was invented to reflect the combination of electronic data processing technology and management.

At the beginning of 2019 or earlier, a new term covering wider scope than "ERP" emerged - "digital transformation".

New names come in endlessly, mostly with new packaging, concepts and nomenclature of old bottles. the old phrase "business information application software system" is the most straightforward and descriptive. But it's too long, few people understand it nowadays, and it's a bit low-end. In order to facilitate communication, this article uses hereinafter the term "ERP" as it has been widely heard of by this generation and is short.

In fact, the name "ERP" is still controversial:

  1. Conservative John believes: The subject "ERP" should be limited to "software".
  2. Mary insists: There exists an "ERP" that is not just a piece of software. The software vendor even injects advanced and subtle world-class management concepts in its grandeur software and fuses both high-end management and digital technology. To say that it is mere "software" is to devalue the management science embed in that software, and to say that its software is just a set of expensive DVDs is no less than slandering the software vendor's reputation.
  3. Steve asserts that: software is only a tool which is of little value without management technology offered by a qualified consultant. A pure tool is like a zombie with only an spiritless body. The most important element is people, that is the consultant. In other words, the role of "ERP" can only be effectively manifested if a user company hires a guru with rich management knowledge as its consultant. Otherwise, software has little chance of being brought live, let alone expect to bring its management benefits to the enterprise!

Because this article focuses on technology, it uses the well known short term "ERP" herein and refers to business information application software systems.

The importance of ERP quality

The quality of ERP software determines the fates of all ERP implementation projects because of the following reasons.

  1. The core quality of ERP software cannot be dramatically improved during the course of ERP implementation project.
  2. ERP implementation project can recruit more consultants at any time, and can also replace members of the advisory team with experts with higher education and more experience.
  3. The risk analysis, management strategy, quality assurance measures, planning skill, communication skill and frequency, and user training applied to the ERP implementation process can be increased, adjusted, improved, and even repeatedly carried out at any time.

A large number of cases proved that once the fundamental quality of ERP software is too poor, adjusting both of the above second and third measures can not alter the overall ERP implementation outcome - either success or failure. An ERP implementation project that uses poor quality ERP software yields only the following three results.

  1. The project ends up in failure and the software is ultimately abandoned.
  2. The user enterprise struggles to use 1 or 2 modules such as accounting and sales, but still announces the project being "successful".
  3. The enterprise continues to invest more personnel and hardware in the project trying to complete the forever in-progress implementation.

ERP quality will ultimately be presented on the income statement and balance sheet of its corporate customers. The quality of ERP has a profound impact on the morale of all personnel in nearly all departments of its enterprise customer. It profoundly affects the enterprise's operating costs, growth drivers, and corporate image.

Therefore, the ERP architect must consider the interests of all the following stakeholders to design the "top-notch ERP":

Essential ERP core functionalities

Even a vanilla ERP must provides all the following basic functionalities.

Top-notch ERP traits

A top-notch ERP must be concise and has the following qualities:

  1. Versatile
  2. A platform
  3. Agile
  4. Simple, lightweight, low threshold of development skill
  5. Database driven
  6. Use PostgreSQL
  7. Three-tier computing architecture
  8. High-speed back-end software
  9. Lightweight client software
  10. Easy to use by end users
  11. Localization
  12. Reporting
  13. Elegant accounting module
  14. File attachment mechanism
  15. Simple and efficient API
  16. Safety protection mechanism
  17. SaaS and PaaS capable

1. Versatile

versatile ERP

Designing a versatile ERP is the mission of the architect, and there is no choice

A versatile ERP has all the following characteristics:

  1. It is suitable for enterprises in all industries, including government, schools, non-profit enterprises, etc. That is, it has the ability of "multi-industry".
  2. It is suitable for enterprises of all sizes, from one-person companies to multinational groups.

1. Remove the traditional restrictions that ERP can only be applied to specific industries.

Once an ERP that is only suitable for use in a specific industry is stuffed to corporate users in different industries, its scope of use may be reduced by the user company to the accounting module, or even becomes a data storage.

Only versatile ERP is eligible to be sold to enterprises from various industries and government departments.

2. Remove the traditional restrictions that ERP can only be applied to companies of a certain size.

The ERP is suitable for large enterprises.
Because it is too complicated, small businesses and one-man companies can't use it.
The ERP is suitable for small businesses and one-man companies.
Because it is too vanilla and rigid, if it is used for large enterprises, it is difficult and even not allowed to be customized to meet many more other requirements.

2. A platform

To materialize an versatile ERP, several strategies have been adopted.

1. Shotgun Strategy

This strategy is also known as the panacea or snake oil strategy. Its ultimate practice is to make every effort possible, basing on past experience or guessing all possible software functions that different companies may need, to pre-make programs or modules and wait for corporate customers to select or bundle all of them for sale.

The ERP products pre-made according to this strategy are bulky, complicated and difficult to use:

Such software has the following defects:

2. Program generator strategy

The concept of "program generator" appeared in M$ DOS era. Recently some people even advocated using AI to generate software.

Questions remain to be answered: What commercial program generators are available? The software they generate,

Suppose now that a personnel salary module is needed as follows. Is there a program generator or AI robot that can automatically design it?

Because there are many unanswered questions, I will not dive any further into this subject for now.

3. The building block strategy

The term "CORBA" appeared long ago. I don't know when the words "SOA" and "micro service" emerged to compete with it.

Because I haven't heard of any ERP made with this strategy, I can't comment on this strategy.

4. The platform strategy

This strategy aims at designing an ERP platform that achieves the aforementioned "Essential ERP core functionalities". A platform can also be called a "framework."

This article refers specifically to this ERP platform from now on.

3. Agile

agile ERP platform

Agile ERP platform

The premise of ERP being versatile is high flexibility. Those prefabricated software packages, no matter how many modules, switches, industry templates, "best practice" configuration schemes, or millions of pre-made programs, all belong to the aforementioned shotgun class. They are not in agile category and do not meet "corner" requirements of corporate in "special" industries and government departments.

One idea must be clarified here. "Special" is actually a misnomer. Just because ERP is not applicable to non-manufacturing industries, abundantly more other industries should not be regarded as "special".

How to construct an ERP to meet the principle of high flexibility?

"You want high flexibility? Programming languages have the highest flexibility! Simply sell COBOL sister proprietary language, 4GL, Java, Python, C, and even assembly language to customers, and ask their IT staff to develop their business application software!"

That's not my intention. Although the use of vanilla programming languages to develop applications for various industries does have the highest flexibility, it has a major disadvantage - the lowest productivity. This strategy is therefore not desirable.

In order to achieve both high flexibility and high productivity, an ERP platform or framework must be constructed.

4. Simple, lightweight, low threshold of development skill

PostERP is simple

Simple and lightweight equals high quality

Any elementary school student knows that fools always complicate simple issues.

A top-notch ERP architect strives for simplicity rather than complexity, and lightness instead of bulk.

Only simple ERP can be agile.

It saves hardware investment for corporate customers:
It can run at high speed on mediocre hardware and respond to users instantly. Conversely, a complex piece of software is like a dinosaur: it crawls slowly on high-end hardware.
It reduces the human resource consumption and time for enterprise customers to develop application systems:
IT personnel, system integrators, and consultants are highly productive because the ERP is easy to maintain, modify, scale, and deploy in multiple environments. On the contrary, a complex software does not listen to IT personnel's instructions, refuses to be tamed, and can not be easily adjusted, which destroys all participants' morale and delays the implementation.
simple
The entire ERP has only a few components. It's not the kind of complex software that is full of intricate details, millions of lines of source code, hundreds of MB of installation files, the software that no IT personnel and even software vendor itself fully understand.
Lightweight
The size of the entire ERP source code is tiny. For example, the uncompressed ERP source code for manufacturing industry is less than 300 KB, which provides costing, MRP and other calculations, that any IT staff can easily maintain.
low threshold of development skill
Because the top-notch ERP platform has the traits of Low-code development platform, not only IT personnel can easily expand and customize applications on this platform, but enterprise end users can also become Citizen Developer. End users come from these departments such as accounting, actuarial, and marketing, etc.

5. Database driven

ERP software digitalizes enterprise processes.

According to author's experience, most enterprise processes can be realized with CRUD screens.

Taking sales process as an example, it may include:

  1. Sales order
  2. Shipping
  3. Return of sales

If 3 CRUD screens can be designed to provide users with all CRUD operations of the above business process, then these CRUD screens fully realize all sales process.

At this time, if IT personnel can complete these 3 CRUD screens through a simple definition method on the ERP platform without writing a single line of code, this ERP platform is called "database-driven".

"Database-driven" is not a new name for pursuing fashion or hype, but for building an ERP platform with the highest productivity, allowing technicians to develop and complete various enterprise information application systems at lightning speed and timely complete all ERP projects.

6. Use PostgreSQL

PostgreSQL

PostERP uses PostgreSQL

ERP must be constructed to run in conjunction with one DBMS.

The reasons for choosing PostgreSQL to drive top-notch ERP platform follow:

7. Three-tier computing architecture

Overall, there are 3 categories of ERP computing architectures.

The top-notch ERP platform is constructed as a three-tier computing architecture.

8. High-speed back-end software

PostERP runs lightening fast

Only ERP with simple architecture can run at high speed.

As the number of customers increases and the complexity of business logic increases, the long response time of ERP server software is easily criticized. The slow-running ERP server software wastes valuable time of its users and reduces their efficiency.

A normal person with a little sense and self-esteem won't blindly adore things they don't understand. However, the information industry is brain washed to believe that "the larger the software, the more complex and difficult to understand, the more powerful it is." Masters selling biggest ERP software trick enterprise decision makers to believe the insanity that "the ERP with best quality is the one you can never fully understand in your whole lifetime."

Common sense 101: The more complex and large the ERP server software is, the lower its running speed, the more hidden errors, and the more hardware resources are consumed. It is absolutely a poorly designed and outdated inferior ERP architecture.

Because ERP server software runs slowly, the ERP vendor instead asks its customers to purchase high-end hosts for their server software to run on. This arrangement is wrong here: The bottleneck of the running speed of the overall ERP system lies in software rather than hardware. Therefore, although ERP enterprise users invest large sums of money in hardware, the overall running speed of the system is not significantly improved.

The sober minded people in information industry are hesitant to disclose the fact that some software vendors use their software defects to coax their product prices and swindle their corporate customers' cash.

Why are some ERP runs like a turtle crawls? Because they process business logic in server software. These software have these incurable inherent defects:

Such ERP works in this way:

After receiving a request to execute MRP from a client program, the server software first reads data from the DBMS. The server software then scans the incoming data. As each data is scanned, the server software reads more data records from the DBMS. This has been repeated recursively, reading data from the DBMS in cascade. Such data processing strategy is certainly inefficient:

It is all ridiculous to complicate simple issue and then to invent layered magical components as solution. The ultimate benefit introduced by such strategy is always negative.

Lightweight and simple design equals high quality. The most efficient strategy for designing high-speed ERP server software follows.

This architecture runs at unmatched lightning speed:

  1. MRP runs, closing accounts, calculating payrolls, etc. are all performed by DBMS stored procedures also known as PostgreSQL functions.
  2. After receiving the request from the client program, the ERP server software authenticates and checks the privileges of the requesting party.
  3. The ERP server software caches the results needed for clients' retrieval. If it finds it, it directly responds without second thought the result to the client software.
  4. If the ERP server software does not find the answer in the cache, it forwards the request to the DBMS. After receiving the data set from the DBMS, the ERP server software immediately responds the data set to the client program.

High-quality ERP server software plays such a simple role, no more and no less:

9. Lightweight client software

PostERP thin client front-end

Thin client is the essential component of top-notch ERP platform

Those days that the fat client-side ERP software burnt in 4 CDs are over. The top-notch ERP platform's client software is designed as follows.

10. Easy to use by end users

Easy-to-use client software reduces training, shortens the system launch period, improves user productivity, and reduces user resistance.

Reduce the number of CRUD screens and menus.
Easy to use for the user. Users can complete their daily work by operating ERP in a few screens. Avoid forcing users to open multiple CRUD screens, switch back and forth, compare, search for data between screens, and perform CRUD.
The number of manual pages is minimal.
The user becomes used to the software within a few minutes and starts to run the software.
Provides comprehensive online help.
Screen description, field description, report usage description, report parameter description, business logic processor description, and business logic processor parameter description are all provided in various languages. Users do not have to search through outdated manuals that are in disrepair.
The layout of each screen is exactly the same.
It takes time to adapt to ERP client screens. You should avoid designing such systems: different CRUD screens have different arrangement of fields, buttons, pop-ups, and other elements.
Easy to search information.
For example: the user can search the records for each field on the CRUD screen.
Records displayed on the screen are allowed to be downloaded by users.
Client provides menus to users.
Avoid forcing users to recite program code as known as "transaction".

11. Localization

localized PostERP

Top-notch ERP platform is competitive in global market

Multilingualism, multiple time zones, multiple calendar systems:

12. Reporting

Empowers IT personnel with unbeatable productivity in reports design:
Allows IT staff to design a variety of reports to meet the diverse and complex user requirements. Each report design can be finished within minutes, not days.
Reporting is integrated in ERP:
Both IT personnel design reports and end user producing reports do not resort to third-party tools. The Top-notch ERP requires zero "report deployment" - after an IT personnel designs a report, end users at the other end of the globe immediately select that report from menu and print it. IT staff does not have to distribute reports to users. The reporting functionalities in top-notch ERP is self-sufficient, meaning that the top-notch ERP does not require standalone third-party reporting tools.
crosstab report

crosstab report

13. Elegant accounting module

14. File attachment mechanism

To approach the goal of paperlessness, ERP should provide a mechanism for users to upload files, attach them under data records, and allow future downloads. E.g:

15. Simple and efficient API

IoT

Top-notch ERP platform provides decent API

The ERP platform should provide APIs of high-quality capable of exchanging data with the outside world simply, efficiently, and securely.

The ERP server software should allow the customer's IT staff to provide RESTful APIs for external facilities such as IoT and MES in a set manner to perform CRUD operations directly on the specified database table.

Basing on productivity considerations, technicians want to avoid dealing with those APIs requiring steep learning curves.

I recommend JSON, not XML or SOAP. Stay away from proprietary interfaces like ActiveX.

16. Safety protection mechanism

secured PostERP

PostERP is highly secure

When designing an ERP platform, you should envision security protection mechanisms, such as:

17. SaaS and PaaS capable

PostERP runs as SaaS and PaaS

PostERP platform is the foundation of SaaS and PaaS

The top-notch ERP platform is the only solution in the SaaS and PaaS era.

Benefits and risks

Simplicity is the most important foundation for building top-notch ERP platform. Because of its simplicity, it has the aforementioned "top-notch ERP traits".

After the architect completes the top ERP platform,

This top-level ERP platform is not another vague concept hype, but a fait accompli; it is a retro concept as well as technological innovation; it returns to the past simplicity and forms the future mainstream of IT industry.