In today’s article, the answer will be concise, as it can be closed with one word: yes or no. Without dragging, I invite you to continue reading!
Should you buy third-party modules for Magento?
Third-party modules in Magento
Why not use third-party Magento modules?
What are the consequences of using third-party modules?
When is it worth using third-party modules?
What approach do I recommend?
What to pay attention to if you must use third-party modules in Magento?
Third-party modules for Magento – summary
The answer is simple, and it is NO, I do not recommend buying third-party modules for Magento.
It is better if your Magento agency creates solutions dedicated to your project.
Let me start by explaining what all these modules are about. It may not be entirely clear to some of you.
Magento, in its standard version, doesn’t have all the functionality you probably need.
For example, let’s imagine that we are an e-commerce director and we are in the process of implementing Magento. We need a product feed – that’s pretty standard functionality. Unfortunately, Magento “out of the box” does not offer such functionality.
So we are wondering how to solve this problem. The agency gives us 2 suggestions.
We will return to this decision shortly, but before we do a brief explanation.
Why did we have so many third-party modules? Most e-commerce executives need a module for feeds, so the company that develops Magento came up with the idea that it could simply prepare a third-party module and put it on the marketplace, and anyone who would need feeds could purchase such a module. What’s more, you’ll be able to do it for a fraction of the cost compared to creating such a solution from scratch. The module’s creator bears the cost of coding once and then earns money from selling licenses to such a module—a simple business model.
This solution sounds brilliant. The question is, will this once-written module fit into any store set up on Magento?
The answer is NO.
We should ask ourselves: if we need, for example, 40 custom functionalities, should we just buy 40 third-party modules, implement them into our Magento, and expect everything to work wonderfully with each other? It won’t.
Where is the catch? There are several.
The first drawback is that we must remember that third-party Magento modules are 98% developed for the standard Magento (not exactly for customized Magento).
The ordering process consists of specific steps. The functions inside Magento consist of specific sequences and operate according to an established standard. So if a module producer creates some third-party module, it writes it to work according to this standard way of Magento operation.
The magic of open-source technology is that we often don’t choose it because we want everything to work perfectly according to the standard. Often, we deviate from the standard in some small processes because we want to adapt Magento to the company’s internal processes. Then, there may be a problem with a module that was written for standard Magento operation, and our Magento just happens to work slightly differently in some minor elements.
Can we implement a third-party module if our Magento does not work according to the standard? Yes, it is possible, but you will have to modify the module in such a case. Sometimes, the modifications are so large that writing something individually for a given project would be much faster.
The second point is that modules are usually quite large and do not contain one functionality but several different ones.
By virtue of their extensive functionality, third-party Magento modules touch many different areas. They are quite large and heavy, which leads to 2 important issues.
The rest, to put it simply, should be knocked out. However, what if these unused 80% are not dumped? Then, they put a strain on Magento’s operation, slowing it down and reducing performance.
You must do this even if you do not use all its features. As a result, you will be wasting your money.
Another disadvantage of off-the-shelf modules is their lack of compatibility among themselves. It happens that modules that different suppliers create – that is, manufacturers of modules for Magento – are incompatible. Moreover, they often affect each other in unpredictable ways.
If you use off-the-shelf modules, it is worth ensuring they are from one company. This way, you will be sure that the modules should work together and should not interfere with each other.
It is also worth choosing simple modules that embrace a single function well rather than elaborate “combos.” This way, you have more control over how a module affects the operation of your Magento.
Another drawback of third-party modules, which few people write about, is that they are often not tested on large data sets.
For example, if you have an online store generating 100,000 transactions per month, having 80,000 SKUs or 300,000 SKUs, off-the-shelf modules most likely have not been tested on online stores of such scale.
As a result, you may become a guinea pig. If it turns out that the module does not perform at your scale, then you will have to optimize it additionally – and this again costs money and takes time.
Another problem you should be aware of if you opt for a third-party module is that often, the marketing description of the module is entirely out of line with what the module delivers.
This is a real drama-sometimes you buy a module for just one functionality and later find out that it doesn’t work properly (or isn’t there at all)
Technical documentation is often not good enough, and this means that more time has to be spent by the programmer on understanding how the module was written and how it works. Again, this increases costs.
This is always occurring, but if you work with a software house. They guarantee that after a production launch, the service will work as intended for a certain period (for example, 3 or 6 months). There is often a provision in the contracts of these software houses that using third-party modules eliminates this guarantee.
This is because the software house loses control over how the store behaves because (as I wrote above) the module can interfere with a lot of a given store’s functionality in unpredictable ways.
It is worth keeping this in mind: if you work with a software house, consider how they approach finished modules relative to their warranty.
Another problem is that the code quality in many modules leaves much to be desired and is difficult to verify based on evaluations alone.
Few people use these modules, resulting in a lack of reviews.
For this reason, it is often difficult to verify the quality of a module until you purchase it and an experienced programmer reviews it.
Another important aspect to remember is that you often need to customize the module to your own Magento system.
For example, suppose you have a Magento system where you have slightly changed the standard operating process, installed two modules, and want to add a third. In that case, you will often find that you need to modify this module in some way to match it with the two modules already in place. The cost of modifying a module is often greater than writing something from scratch. And this is probably the biggest problem.
While reading this text, a warning light should appear against third-party modules.
However, one aspect is the most important: always using third-party modules increases our technological debt.
To simplify the concept of technological debt, let’s imagine we are saving hours of programmer labor by installing a third-party module. And now the question- did we save money, or did we just take out a loan that we will have to repay someday? In the future, we will pay for resolving bugs that this module will generate, for upgrades, for example, of the Magento version and adapting the module to the new Magento version, for developing the module if its developer stops maintaining it.
In other words-buying an off-the-shelf module saves us money now, but over time we will have to pay this debt with interest.
Now the question arises: is it worth using third-party modules, or isn’t it better to build individual solutions for your Magneto instead of saving money?
Third-party modules may reduce our implementation costs at the beginning but will increase the cost of later maintenance and development of the online store. Everyone should judge whether it’s worth saving at the very beginning to spend a multiple of this amount in the next 3 years.
The only justification maybe when we urgently need a Magento-based online store. If reducing the Magento implementation time is crucial and critical to the success of the project, then it is worth considering this solution.
The second case is that the third-party module is straightforward and touches only one functionality (that is, it is unlikely to weld us the operation of completely unrelated store functions).
I recommend that your company implement the functionality you need. This company should develop technological solutions tailored to your project.
I recommend that you use off-the-shelf technology solutions from a single vendor. They should also be fairly small and only address the necessary functionality.
That way, you guarantee that they will be compatible with each other. If something doesn’t work, you can solve the problem without explaining or diluting responsibility.
For example, suppose you report a problem to Software House. In that case, you will not hear a sweeping answer that the problem is due to the incompatibility of different modules from different companies, for which Software House cannot take responsibility.
If, on the other hand, Software House uses only its modules and writes third-party solutions specifically for you, you know who to turn to for help in case of problems. There is then no diluted responsibility. Just is a safer solution for you, especially since the company has to take care of compatibility between its products.
In this case, one of the critical aspects you should keep in mind is that if something is created exclusively for you, it is necessary to regulate copyright issues at the contract signing stage.
If the module was not written exclusively for you, but the company has an off-the-shelf solution that it uses in various projects, remember the need to have the most liberal license possible. Such a license will allow you to make changes to the module freely.
Nevertheless, if you still decide to use third-party modules, pay attention to 2 essential points.
First, choose modules from a single vendor. Doing so increases the likelihood of maintaining compatibility between these modules.
Second, choose modules already implemented by the Software House you are working with. It is important that these are modules whose code is familiar to the Software House and the agency in question and that they are as “small modules” as possible.
In conclusion, is it worth using third-party modules for Magento? In most cases, the answer should be “no”. It is not recommended to use third-party modules, as it increases the technological debt and reduces the whole system’s performance.
So what should we do instead? The best solution is for the Software house to write solutions for your Magento project.
However, if you decide to go for a third-party module and plan to purchase it, knowing that it will increase your technology debt, ensure they are from one supplier. In other words, don’t buy 20 different modules for your Magento project from 10 different suppliers. Also, buy a small modulus.