📜 ⬆️ ⬇️

Buy ready MDM or develop your own?

Here I have already written about what an MDM system is and why it is needed. Now I would like to touch upon the topic of choice, which one way or another faces all who are thinking about managing master data: whether to buy a ready-made MDM system or develop it on their own.

A universal recipe traditionally does not exist, and everyone must decide for themselves which path to take. To make the right decision, you need to define a set of requirements for MDM, and then correctly assess your strengths and needs for functionality.

Therefore, I will begin by describing the typical functionality that a modern MDM system should have.

Master Data Lifecycle Management:


The key functionality of MDM systems is the ability to manage master data throughout their life cycle: from the moment they are defined until the moment they are stopped.
')
To do this, the MDM system must support the following features:


Quality control


Poor-quality data reduce to no the entire effect of centralized data and their centralized management.

To control the quality of data in the system, the following mechanisms and tools should be present:


Integration and synchronization of information


The task of integration and synchronization of information between the MDM-system and application systems that consume master data is one of the main ones. Data must be synchronized between all participants in the interaction. Often this function is provided not by the MDM system itself, but by a specialized ESB or MQ system. Ideally, the ESB system should be built on a single technological platform with the MDM system, since while ensuring maximum integration between them.

To build interaction mechanisms, the following features should be present:


The list given by me does not claim to be complete. There are many other functions of MDM systems. I just brought the most important, without which most full-fledged MDM implementations can’t do without.

And yet, write or buy?


If you are inclined to implement the MDM system on your own, then evaluate which of the above functions you need not only now, but also in the future. Often, companies that follow this path start with the implementation of a certain similarity of a central database into which master data objects are placed in a high degree of readiness (manually or using batch loading) and from which master data are downloaded to subscriber application systems . Often this approach is called “centralized directory entry”, which is used to provide a single point to enter reference information, i.e. in fact, to simplify its input. In most cases, this project, tied to an independent development, ends, and further development of the functionality does not occur because of the greater complexity of the implementation of other features of MDM-systems. Strictly speaking, such results cannot be considered as full-fledged master data management. However, for some companies that do not have so many master data entities and low data quality requirements, this is also enough.

If you do not want to be limited to a simple “centralization of the input of directories”, then with a high degree of probability you will want to implement a ready-made MDM system. Here you have a difficult choice of MDM-system, which is best suited for you.

If you touch on the functionality of the system, then you should analyze only after you have already more or less understood which tasks you want to solve with the help of the MDM system: which data domains you have, which method of use and which style implementation style you choose. Here is more about it. Only after defining the tasks can the functionality of the MDM system be evaluated, since Not all MDM systems are equally good in all the variety of domains / methods of use / implementation styles.

In addition to the above functions, pay special attention to the following aspects of MDM systems:


It is also crucial to pay attention to the performance and fault tolerance of the system offered to you. Without these two properties, any MDM functionality will be useless.

Here are some points that you should definitely check:

  1. Ask a potential MDM provider to model the largest master data object and load this data into MDM. Estimate download speed.
  2. Perform various kinds of searches for downloaded data: search by main attributes, search by additional attributes, fuzzy search by different algorithms, full-text search. Rate search speed. This is a very important basic parameter. Many other functions of the system and the speed of their work depend on the speed and quality of the search. If at this stage there is a slow system, then it will only get worse.
  3. Modify the model of any master data object or its attribute. Estimate the speed of restructuring information and the speed of retracement in case of an unforeseen situation.
  4. Analyze the response time of the system to standard requests in the mode of use that is planned for implementation in your company. For example, many MDM systems work satisfactorily in Transactional Hub mode, when all data is entered directly into MDM and then distributed to subscriber systems, but their performance is not enough when working in Coexistence Hub mode, when you need to interact very quickly between systems in two-way real-time.
  5. Analyze which integration mechanisms the MDM system supports and to what extent is it consistent with the systems with which it is supposed to interact. Check the ease of connecting new subscriber systems and their connection speed. Also important is the ability to change the logic and routes for receiving and distributing data without deeply modifying all systems and with minimal downtime.

In any case, the process of choosing the path is a creative process and it is impossible to predict all the questions that will arise, but I tried to describe the main ones that seem important to me.

Maxim Vlasov, Development Director

Source: https://habr.com/ru/post/342340/


All Articles