Czy korzystać z gotowych modułów Magento?

Czy korzystać z gotowych modułów Magento?

W dzisiejszym artykule odpowiedź będzie naprawdę krótka, ponieważ można zamknąć ją jednym słowem, tak lub nie. Nie przedłużając, zapraszam do dalszego czytania!

Co znajdziesz w tym artykule?

Czy kupować gotowe moduły do Magento?
Gotowe moduły w Magento
Dlaczego nie warto korzystać z gotowych modułów Magento?
Jakie skutki niesie ze sobą wykorzystywanie gotowych modułów?
Kiedy warto używać gotowych modułów?
Jakie podejście zalecam?
Na co zwrócić uwagę jeśli koniecznie musisz wykorzystać gotowe moduły w Magento?
Gotowe moduły do Magento – podsumowanie

Czy kupować gotowe moduły do Magento?

Odpowiedź jest prosta i brzmi: NIE, nie zalecam kupowania gotowych modułów do Magento.

Zdecydowanie lepiej, gdy agencja, z którą współpracujesz i która wdraża dla Ciebie Magento, tworzy rozwiązania dedykowane do Twojego projektu.

Gotowe moduły w Magento

Na początku wyjaśnię o co chodzi z tymi wszystkimi modułami. Być może dla niektórych z was nie jest to do końca jasne.

Magento w standardowej wersji nie posiada wszystkich funkcjonalności, których pewnie potrzebujecie.

Przykładowo, wyobraźmy sobie, że jesteśmy dyrektorem ecommerce i jesteśmy na etapie wdrażania Magento. Potrzebujemy feedu produktowego – to dość standardowa funkcjonalność. Niestety, Magento „out of the box”, czyli prosto z pudełka, nie oferuje takiej funkcjonalności.

Zastanawiamy się więc, jak rozwiązać ten problem. Agencja przedstawia nam 2 propozycje.

  • Zakup gotowego modułu – (możemy kupić go na przykład z marketplace’u Adobe), który obsługuje takie feedy. Możemy go nabyć powiedzmy, za 149 dolarów.
  • Napisanie gotowego modułu – jego napisanie, powiedzmy, będzie wymagało 28 godzin pracy programisty. W tym momencie dokładne wartości nie są istotne. Jest to tylko przykład.

Zaraz wrócimy do tej decyzji, ale zanim to zrobimy jeszcze krótkie wyjaśnienie.

Skąd wzięło się tak dużo gotowych modułów? Większość dyrektorów ecommerce musi mieć moduł do feedów, dlatego firma, która ogarnia Magento, wpadła na pomysł, że może po prostu przygotować gotowy moduł, umieścić go na marketplace i każdy, kto będzie potrzebował feed’ów może zakupić taki moduł. Co więcej, będziesz mógł to zrobić za ułamek kosztu w porównaniu do stworzenia takiego rozwiązania od podstaw. Twórca modułu ponosi kosz kodowania raz i następnie zarabia na sprzedaży licencji do takiego modułu. Prosty model biznesowy.

To rozwiązanie brzmi genialnie. Pytanie tylko czy faktycznie ten raz napisany moduł będzie pasował do każdego sklepu postawionego na Magento?

Dlaczego nie warto korzystać z gotowych modułów Magento?

Powinniśmy zadać sobie pytanie: jeżeli potrzebujemy przykładowo 40 niestandardowych funkcjonalności, czy powinniśmy po prostu kupić 40 gotowych modułów, zaimplementować je do naszego Magento i oczekiwać, że wszystko będzie ze sobą wspaniale działało? Nie będzie.

Gdzie tkwi haczyk? Jest ich kilka.

Gotowe moduły pisane są pod standardowy sposób działania Magento

Pierwsza wada polega na tym, że musimy pamiętać, iż gotowe moduły Magento w 98% są tworzone pod standardowy sposób działania Magento.

Proces składania zamówienia składa się z określonych kroków, procesy wewnątrz Magento składają się z określonych sekwencji i działają według ustalonego standardu. Jeżeli więc producent modułów tworzy jakiś gotowy moduł, to pisze go tak, aby działał zgodnie z tym standardowym sposobem funkcjonowania Magento.

Magia technologii open source polega na tym, że najczęściej nie wybieramy jej dlatego, że chcemy, aby wszystko działało idealnie zgodnie ze standardem. Często zdarza się, że w niektórych drobnych procesach odchodzimy od standardu, ponieważ chcemy dostosować Magento do wewnętrznych procesów firmy. Wówczas może pojawić się problem z modułem, który był pisany pod kątem standardowego działania Magento, a nasze Magento akurat w pewnym drobnym elemencie działa nieco inaczej.

Czy możliwe jest wdrożenie gotowego modułu jeżeli nasze Magento nie działa zgodnie ze standardem? Owszem, jest to możliwe, ale w takim wypadku będzie trzeba zmodyfikować moduł. Czasami modyfikacje są na tyle duże, że znacznie szybciej byłoby po prostu napisać coś indywidualnie pod dany projekt.

Moduły są za duże

Drugim punktem jest to, że moduły są zazwyczaj dość duże i nie zawierają jednej funkcjonalności, lecz kilka różnych.

Gotowe moduły Magento, z racji swojej rozbudowanej funkcjonalności, dotykają wielu różnych obszarów. Są one dość duże i ciężkie, co prowadzi do 2 istotnych kwestii.

  • Pierwsza z nich dotyczy faktu, że zazwyczaj z całego wachlarza funkcjonalności, które oferuje moduł, potrzebujemy jedynie 10-20%.

Reszta, mówiąc wprost, powinna zostać wywalona. Co jednak, jeśli te niewykorzystane 80% nie zostanie wywalone? Wówczas obciążają one działanie Magento, spowalniająa jego pracę i zmniejszają wydajność.

  • Dodatkowo, w przypadku utrzymania i ewentualnej aktualizacji Magento do nowszej wersji, będziecie musieli zadbać o to, aby przy okazji podnoszenia Magento dostosować do nowej wersji właśnie ten moduł.

Będziecie musieli to zrobić nawet jeśli nie będziecie korzystali ze wszystkich jego funkcji. W efekcie, marnujecie swoje środki finansowe.

Moduły od różnych dostawców nie są kompatybilne między sobą

Kolejną wadą gotowych modułów jest ich brak kompatybilności pomiędzy sobą. Zdarza się, że moduły, które są tworzone przez różnych dostawców – czyli producentów modułów do Magento – nie są ze sobą kompatybilne. Co więcej często wpływają one na siebie w sposób nieprzewidywalny.

Jeżeli zdecydujecie się na korzystanie z gotowych modułów, warto zadbać o to, aby były one od jednego producenta. Dzięki temu będziecie mieli pewność, że moduły powinny ze sobą współpracować i nie powinny przeszkadzać sobie w działaniu.

Warto też wybierać proste moduły, które ogarniają dobrze jedną funkcję, a nie rozbudowane “kombajny”. Dzięki temu macie większą kontrolę nad tym w jaki sposób dany moduł wpływa na działanie Waszego Magento.

Moduły nie są testowane na dużych obciążeniach

Kolejnym mankamentem gotowych modułów, o którym niewiele osób pisze, jest fakt, że najczęściej nie są one testowane na dużych zbiorach danych.

Przykładowo, jeśli posiadacie sklep internetowy generujący 100.000 transakcji miesięcznie, posiadający 80.000 SKU lub 300.000 SKU, gotowe moduły najprawdopodobniej nie były testowane na sklepach internetowych takiej skali.

W rezultacie możecie stać się królikiem doświadczalnym. Jeżeli okaże się, że moduł nie wyrabia przy Waszej skali to będzie trzeba go dodatkowo optymalizować—a to znowu kosztuje i zajmuje czas.

Opis marketingowy nie jest zgodny z tym jak działa gotowy moduł

Kolejnym problemem, którego powinniście być świadomi, jeżeli zdecydujecie się na gotowy moduł, jest to, że często opis marketingowy tego modułu zupełnie nie pokrywa się z tym, co faktycznie ten moduł dostarcza.

To stanowi prawdziwy dramat—czsami kupuje się moduł dla dosołownie jednej funkcjonalności i później okazuje się, że nie działa ona poprawnie (albo jej w ogóle nie ma)

Dokumentacja techniczna modułów jest niskiej jakości

Dokumentacja techniczna często nie jest wystarczająco dobra, a to oznacza, że więcej czasu programista musi spędzić nad zrozumieniem jak moduł został napisany i jak działa. Znowu zwiększa to koszty.

Software house nie daje gwarancji poprawnie działającego serwisu w przypadku używania gotowych modułów

To jest zawsze występuje, ale jeśli współpracujecie z software housem i dają Wam gwarancję, że po uruchomieniu produkcyjnym serwis ten będzie działał zgodnie z założeniami przez określony okres czasu (przykładowo 3 czy 6 miesięcy), to często w umowach tych software house’ów jest zapis, że stosowanie modułów firm trzecich wyłącza tę gwarancję.

Wynika to z faktu, że software house traci kontrolę nad tym, jak sklep się zachowuje, ponieważ (jak już pisałem wyżej) moduł może ingerować w wiele funkcjonalności danego sklepu w dosyć nieprzewidywalny sposób.

Warto o tym pamiętać, jeżeli współpracujecie z software housem, zwróćcie uwagę na to, jak podchodzą oni do gotowych modułów względem swojej gwarancji.

Jakość kodu gotowych modułów jest niska

Kolejnym problemem jest to, że jakość kodu w wielu modułach pozostawia wiele do życzenia i jest trudna do zweryfikowania na podstawie samych ocen.

Niewielka liczba osób korzysta z tych modułów, co skutkuje brakiem wystawianych opini.

Z tego powodu często trudno jest zweryfikować jakość modułu, dopóki nie dokonamy jego zakupu i doświadczony programista go nie przeanalizuje.

Dopasowanie modułu do Waszego Magento wymaga modyfikacji tego modułu

Kolejnym istotnym aspektem, o którym należy pamiętać, jest fakt, że często trzeba dostosować moduł do własnego systemu Magento.

Przykładowo, jeżeli mamy system Magento, w którym nieco zmieniliśmy standardowy proces działania, doinstalowaliśmy już dwa moduły i chcemy dodać trzeci, często okazuje się, że musimy ten moduł w jakiś sposób zmodyfikować, żeby dopasować do go tych dwóch już działających modułów. Często koszt modyfikacji modułu jest większy niż napisanie czegoś od zera. I to jest chyba największy problem.

Jakie skutki niesie ze sobą wykorzystywanie gotowych modułów?

Podczas czytania tego tekstu powinna zapalić się w nas lampka ostrzegawcza wobec gotowych modułów.

Jednakże, należy pamiętać o jednym aspekcie: zawsze korzystanie z gotowych modułów, skutkuje zwiększeniem naszego długu technologicznego.

Aby uprościć pojęcie długu technologicznego, wyobraźmy sobie, że obecnie oszczędzamy godziny pracy programisty, instalując gotowy moduł. I teraz pytanie—zaoszczędziliśmy, czy po prostu zaciągnęliśmy kredyt, który będziemy musieli kiedyś spłacić? W przyszłości zapłacimy za rozwiązywanie błędów, które ten moduł będzie generować, za aktualizacje, na przykład wersji Magento i dostosowanie modułu do nowej wersji Magento, za rozwijanie modułu, jeżeli jego twórca przestanie go utrzymywać.

Innymi słowy—kupując gotowy moduł oszczędzamy teraz, ale z biegiem czasu będziemy musieli ten dług spłacić.

Kiedy warto używać gotowych modułów?

Teraz pojawia się pytanie, czy warto korzystać z gotowych modułów, czy nie lepiej zamiast oszczędzać zrobić coś zgodnie ze sztuką?

Gotowe moduły na początku mogą obniżyć nasze koszty wdrożenia, ale zwiększą koszt późniejszego utrzymania i rozwijania sklepu internetowego. Każdy powinien ocenić, czy warto oszczędzić na samym początku, aby w ciągu następnych 3 lat wydać wielokrotność tej kwoty.

Wydaje mi się, że jedynym uzasadnieniem może być sytuacja, gdy pilnie potrzebujemy sklepu internetowego opartego na Magento. Jeżeli skrócenie czasu wdrożenia Magento jest kluczowe i krytyczne dla powodzenia projektu, wówczas warto rozważyć takie rozwiązanie.

Drugi przypadek to taki, że gotowy moduł jest bardzo prosty i dotyka tylko jednej funkcjonalności (czyli prawdopodobnie nie zespuje nam działania zupełnie niepowiązanych funkcji sklepu).

Jakie podejście zalecam?

Zalecałbym, aby funkcjonalności, które są potrzebne, były realizowane przez firmę, z którą współpracujemy. Firma ta powinna opracować technologiczne rozwiązania dostosowane do waszego projektu.

Jeżeli decydujecie się na korzystanie z gotowych rozwiązań technologicznych, zalecam, aby były to produkty jednego dostawcy. Powinny one być również dość małe i dotyczyć tylko tej pojedynczej funkcjonalności, której potrzebujecie.

Dzięki temu gwarantujecie sobie, że będą one ze sobą kompatybilne. W przypadku, gdy coś nie działa, macie prostą ścieżkę do rozwiązania problemu, bez konieczności tłumaczenia się czy rozmywania odpowiedzialności .

Przykładowo, jeżeli zgłaszacie problem do Software House, nie usłyszycie wymijającej odpowiedzi, że problem wynika z niekompatybilności różnych modułów od różnych firm, za które Software House nie może wziąć odpowiedzialności.

Jeżeli natomiast Software House korzysta wyłącznie z własnych modułów i pisze gotowe rozwiązania specjalnie dla Was, to w przypadku problemów wiecie, do kogo zwrócić się o pomoc. Nie ma wtedy żadnej rozmytej odpowiedzialności. Jst to dla Was bezpieczniejsze rozwiązanie, zwłaszcza że firma musi zadbać o kompatybilność między swoimi produktami.

W takim wypadku, jednym z kluczowych aspektów, o których powinniście pamiętać, jest to, że jeżeli coś jest stworzone wyłącznie dla was, konieczne jest uregulowanie kwestii praw autorskich na etapie podpisywania umowy.

Jeżeli moduł nie był napisany wyłącznie dla Was, lecz firma posiada gotowe rozwiązanie, które wykorzystuje w różnych projektach, pamiętajcie o konieczności posiadania jak najbardziej liberalnej licencji. Taka licencja umożliwi wam swobodne dokonywanie zmian w danym module.

Na co zwrócić uwagę jeśli koniecznie musisz wykorzystać gotowe moduły w Magento?

Mimo wszystko, jeżeli nadal zdecydujecie się na korzystanie z gotowych modułów, zwróćcie uwagę na 2 istotne kwestie.

Po pierwsze, wybierajcie moduły pochodzące od jednego dostawcy. Dzięki temu zwiększacie prawdopodobieństwo zachowania kompatybilności między tymi modułami.

Po drugie, warto pamiętać, aby wybierać moduły, które były już implementowane przez Software House, z którym współpracujecie. Ważne jest, aby były to moduły, których kod jest znany danemu Software House’owi i danej agencji oraz żeby były to możliwie “małe moduły”.

Gotowe moduły do Magento – podsumowanie

Podsumowując, czy warto korzystać z gotowych modułów do Magento? W większości przypadków odpowiedź powinna brzmieć „nie”. Nie jest zalecane stosowanie gotowych modułów, ponieważ zwiększa to dług technologiczny i zmniejsza wydajność całego systemu.

Więc co powinniśmy zrobić zamiast tego? Najlepszym rozwiązaniem jest pisanie przez Software house rozwiązań pod Was.

Jeżeli jednak zdecydujecie się na gotowy moduł i planujecie go zakupić, mając świadomość, że zwiększy to Wasz dług technologiczny, zwróćcie uwagę na to, aby były one od jednego dostawcy. Innymi słowy, nie kupujcie od 10 różnych dostawców 20 różnych modułów do swojego projektu Magento.

Jeżeli zależy Ci na kolejnych porcjach wartościowej wiedzy – już teraz zapraszam Cię do śledzenia mojego profilu LinkedIn, na którym regularnie publikuje informacje ze świata Magento i ecommerce developmentu!

    Chcesz być na bieżąco?

    Zapisz się do newslettera!



    Co wybrać zamiast Magento?
    Co wybrać zamiast Magento?
    Czym jest integracja PunchOut?
    Czym jest integracja PunchOut?
    Jak wynegocjować niższą stawkę godzinową z agencją ecommerce?
    Jak wynegocjować niższą stawkę godzinową z agencją ecommerce?
    Co to jest optymalizacja współczynnika konwersji ecommerce?
    Co to jest optymalizacja współczynnika konwersji ecommerce?