Gotowe czy Szyte Na Miarę
Jesteśmy unikalną Firmą różniąca się od konkurencji, dlatego potrzebujemy rozwiązania specyficznego, dokładnie dopasowanego do naszych potrzeb 💡.
To częsta odpowiedź na tytułowe pytanie.
Obecnie możemy wyszukać w Internecie prawie każde rozwiązanie:-).
Nawet tak dziwne jak Jak wygrać milion w totolotku?, które zwraca dziesiątki tysięcy wyników – skuteczności porad przemilczę
.
Przecież wszystkie możliwe narządza już są wymyślone 😛.
Gotowe czy szyte na miarę – błędne uproszczenie
Na powyższe pytanie bez szerszego kontekstu nie można odpowiedzieć poprzez wskazanie Gotowe albo Na miarę.
Co więcej nawet znajomość kontekstu nie zawsze umożliwia jednoznaczną odpowiedź 😳.
Z pewnością jako temat do dyskusji – na pewno bardzo ciekawej – ale będący jedynie ćwiczeniem umysłowym jest cool 😮,
ale bez nadmiernych oczekiwań co do uzyskania jednoznacznej odpowiedzi, a jedynie do zebrania argumentów i opinii 😀.
W rzeczywistości jest to próba wskazania drogi w wielowymiarowym labiryncie poprzez wskazywanie skręć w lewo albo skręć w prawo – szansa na znalezienie drogi jest bardzo mała 🙁.
Poniżej proste przykłady przykłady, które zobrazują dlaczego szukanie jednoznacznej odpowiedzi na pytanie Gotowe czy szyte na miarę jest nieoptymalnym działaniem – a przecież chcemy działać efektywnie 🙂.
Szukamy systemu sprzedaży w Internecie
Znalezienie listy popularnych rozwiązań e-commerce nie jest trudne 🙂.
Mamy do wyboru – koszt przemilczmy na tym etapie 😛:
- proste sprzedawane jako usługa – nie musimy myśleć o infrastrukturze
- proste do zainstalowania na serwerze w naszej serwerowni lub w chmurze
- ...
- ....
- bardzo zaawansowane rozwiązania klasy Enterprise
Odruchowo mówimy – Gotowy czy na miarę – Winner is Gotowy, ale czy na pewno 😕
Jak zaczniemy dodawać dodatkowe funkcjonalności to długa lista wyboru zacznie się znacząco skracać 🙁
Przykłady takich dodatkowych wymagań to np:
- faktura korekta,
- wielojęzyczność,
- różne jednostki metryczne,
- automatyczna obsługa płatności,
- integracja z serwisami sprzedażowymi i/lub społecznościowymi
- …
To są w miarę powtarzalne/standardowe funkcjonalności.
Jeżeli sprzedajemy coś specyficznego, produkt niszowy to niewykluczone, że żaden z listy nie oferuje pożądanej funkcjonalności 😳.
Wówczas mamy do wyboru, albo ograniczyć swoje wymagania, albo szyć na miarę.
Zazwyczaj to szycie będzie polegało na dorobieniu wtyczki ((plugina) lub niewielkiej z punktu widzenia całości (patrz Dostępność kodu) zmiany/dodania kodu.
Czy to jest możliwe, nie łamie licencji, kto to zrobi to inna kwestia 😛.
Podsumowując ten przykład – bardzo często korzystając z gotowego rozwiązania musimy je lekko dopasować.
Czy to będzie tylko konfiguracja czy niewielka zmian w kodzie to inna sprawa.
Czyli taki Gotowy to tak nie zupełnie, trochę doszywamy na miarę 😀.
Chcemy zrobić integrację trzech+ systemów
Znalezienie rozwiązania, które pozwala wymieniać informacje pomiędzy trzema różnymi systemami, różnych dostawców jest praktycznie niemożliwe 🙁.
Odruchowo mówimy – Gotowy czy na miarę – Winner is na miarę, ale czy na pewno 😕
Co to znaczy wymieniać informacje?
Zazwyczaj chcemy zastąpić interface manualny (człowiek przepisuje dane) rozwiązaniem informatycznym, czyli przepływ w jedną stronę.
Przykład faktury z systemu sprzedaży do systemu finansowego.
Ponieważ możliwych rozwiązań tego zagadnienia jest wiele 🙂.
Architekci systemowi zaproponują kilka różnych rozwiązań.
Nie będę ich wszystkich analizował i ograniczę się do jednego specyficznego rozwiązania a mianowicie: middleware, po polsku oprogramowanie pośredniczące.
Niewątpliwie oddalamy się od szycia na miarę.
Możemy znaleźć gotowe integratory systemów i pozostaje jedynie dorobienie agentów, które potrafią rozmawiać z daną aplikacją 🙂.
Oczywiście to jest bardziej efektywne niż twarde kodowanie połączenia Aplikacja1 <-> Aplikacja2. Tańsze w implementacji zmian w przyszłości, a przecież IT w PLN ma w tytule optymalizację finansową 😛.
Podsumowanie
Gotowe czy szyte na miarę to pytanie nad którym możemy się zastanawiać.
Szukać odpowiedzi.
Ostatecznie zależnie od konkretnego przypadku wybierzemy gdzieś pomiędzy 🙂.
Skorzystamy z czegoś gotowego co skonfigurujemy lub dopasujemy na naszych specyficznych potrzeb wytyczą lub zmianą kodu.
Optymalne znaczy bez ekstremów 🙂.
Skrajności są nieoptymalne 😳.