Aby oprogramowanie mogło skutecznie wspierać działalność firmy, musi być dopasowane do potrzeb prowadzonego biznesu i jego specyfiki. Z tego względu wiele przedsiębiorstw decyduje się na wdrażanie rozwiązań dedykowanych - czyli zaprojektowanych i stworzonych specjalnie dla nich, na zamówienie. Taki wybór, mimo całej masy zalet, wiąże się z dużym kosztem, którego czasem można uniknąć, sięgając po dostosowane oprogramowanie opensource'owe. Kiedy warto budować systemy informatyczne od podstaw, a kiedy sięgać po rozszerzalne i modyfikowalne rozwiązania gotowe?

{flike}

Oprogramowanie dopasowane do potrzeb, czyli jakie?

Niestety rzadko zdarza się, że oprogramowanie gotowe w stu procentach spełnia pokładane w nim oczekiwania. Jak moja firma może osiągnąć lepsze wyniki od konkurencji, jeśli będę korzystał z tych samych rozwiązań co inni? - usłyszałem kiedyś od właściciela przedsiębiorstwa, zainteresowanego wdrożeniem nowego systemu ERP. Trudno się z nim nie zgodzić. Poza tym, każda firma, nawet z tej samej branży, działa nieco inaczej - różnie realizując podobne (wydawałoby się) procesy. Zamiast więc dostosowywać swój biznes do oprogramowania, dostosujmy oprogramowanie - tak aby pomagało efektywniej realizować istniejące procesy, często będące rezultatem wieloletnich doświadczeń pracowników.

Decydując się na system informatyczny skrojony na miarę, mamy możliwość skorzystania z dwóch opcji:

  • oprogramowania dedykowanego - tj. zaprojektowanego i zbudowanego na zamówienie, na podstawie określonych wymagań,
  • oprogramowania o otwartym kodzie źródłowym (Open Source) - gotowego (i najczęściej darmowego) oprogramowania, które ze względu na dostęp do kodu źródłowego, można dostosować do własnych potrzeb - tak aby realizowały określone wymagania.

Open Source vs oprogramowanie dedykowane

Obszar
Oprogramowanie dedykowane Oprogramowanie Open Source
Koszt Budowane od podstaw (najczęściej w oparciu o szablony, tzw. frameworki wykorzystywane przez dany software house), klient ponosi więc koszt nie tylko realizacji własnych potrzeb biznesowych, ale i utworzenia podstaw programowych, jak np. zarządzania użytkownikami czy systemu uprawnień, a także zaprojektowania całości produktu. System budowany jest w oparciu o własne rozwiązania (znane zespołowi, który je tworzy), dzięki czemu koszt jednostkowy ich dalszego rozwoju jest relatywnie niski. Produkt bazowy jest najczęściej dostępny bezpłatnie - klient ponosi jedynie koszt dostosowania go do własnych potrzeb. Zależy on od stopnia ingerencji w istniejące rozwiązania systemu - im jest ona większa i mniej zgodna ze standardem, tym usługa bardziej kosztowna. Jednostkowy koszt rozwoju oprogramowania nieco wyższy niż w przypadku produktów dedykowanych, ze względu na konieczność borykania się z gotowymi mechanizmami stworzonymi przez producenta, wymagającą eksperckiej wiedzy o danym systemie.
Wykonawca Dowolna firma tworząca oprogramowanie (tzw. software house), wyspecjalizowana w budowaniu systemów danego typu (np. aplikacje mobilne, systemy finansowe itd.). Firma wyspecjalizowana w dostosowywaniu / wdrażaniu konkretnego oprogramowania.
Technologia wykonania Dowolna, wybierana przez wykonawcę w porozumieniu z klientem. Narzucona przez producenta danego systemu.
Czas realizacji Wyższy - ze względu na większy zakres prac, obejmujący stworzenie oprogramowania od podstaw. Niższy - zakres prac obejmuje jedynie dostosowania produktu.
Stabilność Świeżo stworzone oprogramowanie w okresie rozruchu może generować sporą liczbę błędów i problemów (nie zostało przetestowane w warunkach biznesowych). Oprogramowanie dostosowane, z uwagi na relatywnie mniejszą liczbę dokonanych zmian, powinno pracować stabilniej, dzięki solidnie przetestowanej bazie produktowej.
 Dopasowanie do indywidualnych potrzeb  Pełne (oprogramowanie wykonane od podstaw, zgodnie z wytycznymi klienta). Częściowe (wyłącznie w zakresie modyfikowanych obszarów)
Funkcjonalność Obejmująca wyłącznie obszary zdefiniowane przez klienta (brak funkcjonalności standardowej - każdy element aby był dostępny, musi zostać zaprojektowany i wykonany). Najczęściej obejmująca obszar zdecydowanie szerszy niż pierwotne potrzeby klienta (standardowa funkcjonalność).
Utrzymanie / Serwis Najlepiej jeśli świadczone przez twórców oprogramowania - z uwagi na nieznajomość architektury systemu przez inne podmioty. Możliwość świadczenia przez firmy specjalizujące się w dostosowywaniu / wdrażaniu konkretnego oprogramowania.
Kiedy wybrać? Gdy wymagania stawiane systemowi są unikatowe i nie są realizowane przez standardową funkcjonalność żadnego oprogramowania dostępnego na rynku.  Gdy większość wymagań stawianych systemowi jest przynajmniej częściowo realizowana przez standardową funkcjonalność danego oprogramowania, a jego architektura pozwala na odpowiednią rozbudowę.

Czy oprogramowanie zawsze warto kroić na miarę?

Zdecydowanie nie. Dopasowywanie oprogramowania do indywidualnych potrzeb (czy to poprzez tworzenie dedykowanych rozwiązań, czy dostosowywanie systemów open source'owych) jest zazwyczaj kosztowne (co oczywiście zależy od wielu czynników). Jeśli więc Twoja firma nie dorobiła się jeszcze wzorcowych procesów, do których system informatyczny miałby być dopasowany (gdyż jest np. młoda) bądź procesy te są standardowe (np. zależne od polskiego prawa lub zastosowanych metodyk - jak fakturowanie, księgowość, kadry i płace), zamiast kombinować, warto sięgnąć po gotowe produkty - sprawdzone i relatywnie tanie.

Przeczytaj również:


  • Drogi autorze,
    w oprogramowaniach dedykowanych napisałeś "dowolna firma", a w pudełkowych "wyspecjalizowana".
    Firmy, które rzeczywiście tworzą skuteczne dedykowane systemy CRM, ERP, BI, MES, WMS , ... to wyspecjalizowane zespoły. My robimy tylko i wyłącznie takie systemy. Tematyka tych systemów jest tak głęboka, że nie widzę możliwości abyśmy rozszerzyli usługi na cokolwiek innego.
    Pozdrawiam

  • Tomaszu, tylko czy Twoje aplikacje są rzeczywiście oprogramowaniem dedykowanym (w rozumieniu mojego artykułu)? Oczywiście, Twoi klienci zyskują funkcje jakich oczekują, np. przycisk "start" znajduje się z lewej, a nie prawej strony. Jednak jeśli specjalizujesz się we wdrażaniu np. systemów klasy CRM zapewne baza podstawowych funkcji, platforma już istnieje (dostosowujesz ją potem pod konkretne potrzeby). Oferując swoje usługi oferujesz w pewnym sensie produkt gotowy.
    Przez rozwiązanie dedykowane rozumiem oprogramowanie tworzone zupełnie od podstaw.

  • Witam,
    oprogramowania robimy od podstaw. Silnik i cała architektura jest wykonywana przez Kamee. Klient dostaje w 100% to czego oczekuje.
    Nie zmienia to faktu, że w wielu naszych aplikacjach zakładka klienci > osoby kontaktowe albo dane do faktury są bardzo podobne/ identyczne. Jeśli przeniesienie kawałka kodu zaoszczędzi czas to oczywiście to robimy.

    Jeśli klient będzie chciał w zakładce "klienci" zapisywać nowe informacje. Takie, których nigdy wcześniej nie wykonaliśmy na przykład "rozmiar obuwia prezesa" to oczywiście możemy to wykonać bez kłopotu.

    Dziękuję za odpowiedz.
    Bardzo mi się podoba artykuł.
    Wątpliwości mam tylko do ilości błędów.
    Tak w trakcie rozruchu błędy się zdarzają, ale jest to 1 maksymalnie 2 błędy.
    Doświadczenie w testowaniu i specjalizacja w takich systemach procentuje.
    Pozdrawiam

  • Łukasz

    Po zapoznaniu się z artykułem, stwierdzam, że autor mało wie o open source.

  • Łukasz, chętnie odniosę się do Twoich uwag - musisz je jednak wcześniej sprecyzować :)

Dodaj komentarz


Piotr Rawski
Informatyk i ekonomista z kilkunastoletnim doświadczeniem w rozwoju i wdrażaniu systemów IT dla biznesu.

Doradzam, optymalizuję procesy biznesowe i dobieram oprogramowanie do indywidualnych potrzeb. Wszystko po to, aby zwiększyć efektywność Twojej firmy. ⮕ kontakt i współpraca

Zapraszam również na mój nowy blog poświęcony zarządzaniu w IT:
⮕ piotrrawski.pl

Również na stronie: