Configurable or custom software: which solution should I choose?
Väčšina veľkých spoločností investuje do softvérových riešení, ktoré dokážu presne spĺňať ich požiadavky na funkcionalitu. Takýto softvér by mal vedieť zdigitalizovať, automatizovať či zjednodušiť špecifické agendy v rámci organizácie tak, aby prinášal pridanú hodnotu zamestnancom i zákazníkom a v konečnom dôsledku i novú obchodnú hodnotu a šetrenie nákladov. Aj z toho dôvodu nie sú hotové softvérové riešenia (tzv. out-of-the-box) pre veľké firmy dostačujúce, a preto je na zvážení siahnuť po softvéri na mieru alebo po konfigurovateľnom softvéri.
Aj keď to na prvý pohľad nemusí byť zrejmé, medzi konfigurovateľným softvérom a riešením na mieru je podstatný rozdiel. Oba prístupy majú svoje výhody a nevýhody. Konfigurovateľný softvér je v podstate hotové softvérové riešenie, ktoré však umožňuje prispôsobiť si vybrané aspekty, často bez nutnosti zapojenia vývojára (tzv. low-code). Konfigurovateľný softvér je flexibilný, škálovateľný a je možné ho priebežne upravovať tak, aby spĺňal meniace sa potreby organizácie špecifické pre dané odvetvie a organizáciu. Naproti tomu softvér na mieru je vyvinutý špeciálne pre konkrétneho zákazníka vývojovým tímom, pričom sa berú do úvahy všetky špecifiká zákazníka a jeho potreby. Je však „statický“ v zmysle, že prípadné zmeny funkcionality si vyžadujú zásah programátorov a aktualizáciu kódu systému.
Konfigurovateľný softvér verzus softvér na mieru
Softvér na mieru od spoľahlivého dodávateľa dokáže pokryť prakticky akúkoľvek agendu. Samozrejme, skutočne dobrý softvér so sebou prináša aj pomerne vysoké náklady, dlhšiu a náročnejšiu implementáciu a na jeho vývoj a nasadenie sú potrebné veľké IT tímy a externí konzultanti. A to vždy, keď sa vaše podnikanie posunie na novú úroveň a zmenia sa tak aj požiadavky na softvér. Tak, ako sa vyvíja digitálna transformácia, sa však mení aj tento prístup. Rozmach cloudových a SaaS riešení, neustála akcelerácia technologických zmien a nevyhnutnosť reagovať na ne flexibilnejšie než kedykoľvek pred tým, viedli k potrebe rýchlej a jednoduchej konfigurácie softvérových riešení bez nutnosti zapájať veľké IT tímy, hoci aj pri drobných zmenách.
Prispôsobenie v tomto kontexte znamená zápis nového kódu (programy, skripty a iné artefakty) do softvéru na mieru. Konfigurácia sa chápe ako používanie nástrojov integrovaných v rámci softvéru, ktoré umožňujú splniť špecifické požiadavky bez zásahov do kódu.
Softvér na mieru a prispôsobenie
Výber softvéru ovplyvňuje najmä účel jeho použitia. Hotové softvérové nástroje nedokážu vždy splniť všetky požiadavky na funkcionalitu, a to hlavne pri veľkých spoločnostiach so zložitými procesmi a postupmi a komplexnou infraštruktúrou. Na rad tak prichádza prispôsobenie a vývoj softvéru na mieru. V tomto prípade musia vývojári upraviť existujúci program alebo napísať úplne nový kód, aby softvér plnil aj také úlohy, ktoré v súčasnosti nie sú súčasťou jeho funkcionality.
Príklady, kedy sa využíva prispôsobenie softvérového riešenia:
- Backendové bankové systémy
- Riešenia vyžadujúce integráciu na vnútorné firemné systémy
- Riešenia pre riadenie výroby
- Systémy pre komplexný reporting
- Systémy pre podporu rozhodovania
- Systémy automatizácie podnikových procesov
- Automatická fakturácia
Výhody softvéru na mieru:
⦿ Softvér na mieru presne spĺňa požiadavky na funkcionalitu kopírujúcu vaše podnikanie. To urýchľuje vašu prácu, procesy a digitalizáciu, pretože sa tým eliminujú konflikty spôsobené nedostatočnými funkciami softvérového riešenia.
⦿ Softvér sa prispôsobuje vašim procesom a zamestnancom, nie naopak. Odpadá tak nutnosť preškoľovať zamestnancov či meniť pracovný tok na základe softvéru.
⦿ Zákazkový softvér sa rieši často bez ďalších licenčných poplatkov. Za počiatočné riešenie môžete zaplatiť viac, ale z dlhodobého hľadiska šetríte peniaze za mesačné či ročné licenčné poplatky. Rovnako kontinuita podnikových procesov šetrí čas a náklady aj v iných dimenziách podnikania.
⦿ Softvér na mieru patrí výhradne vašej spoločnosti a je pod jej absolútnou kontrolou. Ak chcete vykonať nejaké zmeny, nemusíte na žiadosti o funkcie čakať týždne. Pracujete priamo so svojím vývojovým tímom.
⦿ Softvér sa často vyvíja ako súčasť celej podnikovej IT infraštruktúry, je preto jej priamou súčasťou. Tým je zabezpečená kompatibilita v rámci celkového informačného toku a zároveň aj integrácia s inými systémami.
⦿ Vývoj vlastného softvéru berie do úvahy aj vaše požiadavky na bezpečnosť a technickú infraštruktúru spoločnosti. Tieto aspekty sú plne vo vašich rukách a ušité vášmu podnikaniu na mieru, tak aby bol výsledný nástroj čo najspoľahlivejší.
Nevýhody softvéru na mieru:
⦿ Implementácia je často náročná a nákladná. Začínate od začiatku, tvoríte niečo jedinečné. To vyžaduje, samozrejme, oveľa viac času i počiatočných nákladov. Kým hotový softvér nasadíte za pár dní, nasadenie vlastného softvéru trvá mesiace. Počiatočné finančné náklady ho predurčujú najmä pre veľké podniky.
⦿ Váš systém je statický, nevyvíja sa v rámci odvetvia. Digitalizácia a rýchlosť technologických zmien akceleruje každým rokom, čo má vplyv aj na podnikanie a podnikové procesy. Softvér na mieru navrhnutý pre určité procesy a pracovné toky tak môže byť o niekoľko rokov zastaralý a jeho aktualizácia si môže vyžadovať masívny zásah vývojárov.
⦿ Nikto iný nepoužíva rovnaký softvér ako vy. Na jednej strane vám to dáva konkurenčnú výhodu urobiť softvér čo najefektívnejší pre vaše podnikanie. Na strane druhej to znamená, že neexistuje žiadna komunita používateľov, s ktorou by ste mohli zdieľať skúsenosti. Priamy vzťah s dodávateľom je nevyhnutný. Taktiež je potrebné zaškoľovanie nových zamestnancov.
⦿ Nájsť spoľahlivého vývojára softvéru je pre majiteľov firiem skutočnou výzvou. Mal by porozumieť vašim obchodným procesom, mať vysokú úroveň technických znalostí a zoznam úspešne dokončených projektov a recenzií od zákazníkov.
⦿ Vo svojom tíme potrebujete technicky zdatných špecialistov na monitorovanie pracovného toku softvéru a vyriešenie všetkých vznikajúcich problémov. Alternatívou je úzka spolupráca s vývojovým tímom vždy, keď sa niečo pokazí, čo je však taktiež finančne náročné.
Konfigurovateľný softvér a konfigurácia
Konfigurovateľný softvér má určité predvolené funkcie, ktoré si môžete konfigurovať na základe svojich preferencií. Konfigurácia prebieha počas procesu nasadzovania softvéru. Spolupracujete pri tom s konzultantmi využívajúcimi nástroje a aplikácie, ktoré už sú súčasťou softvéru. Pomocou nich tak môžete upraviť napríklad polia, hodnoty, číselníky, roly a funkcie systému tak, aby čo najlepšie vyhovovali vašim podnikovým procesom a biznisu. Konfigurácia softvéru nevyžaduje programovanie, v ideálnom prípade ani rozsiahle technické vedomosti, a neovplyvňuje žiadny zásadný aspekt fungovania softvéru. Možnosť konfigurácie je jeho súčasťou a jednou z najdôležitejších vlastností. Takýto softvér má, zjednodušene, sadu vopred pripravených komponentov alebo modulov, ktoré je možné rôzne nakombinovať a prispôsobiť konkrétnym obchodným potrebám. Vývojári nevytvárajú softvér od nuly, ale stavajú ho na hotovom jadre, ktoré je konfigurovateľné podľa vašich podnikových procesov.
Príklady konfigurovateľných riešení:
Výhody konfigurovateľných softvérov:
⦿ Čas implementácie sa výrazne skracuje. Pretože kupujete systém, ktorého základná štruktúra je rovnaká pre všetkých používateľov, nasadenie trvá od niekoľkých dní do niekoľkých týždňov.
⦿ Základ konfigurovateľného systému je používaný mnohými organizáciami. Poskytovateľ softvéru tak má neustálu spätnú väzbu a je schopný identifikovať a začleniť aktualizácie, z ktorých bude ťažiť väčšina možných používateľov.
⦿ Aktualizácie systému sú spravidla bezplatné. Zatiaľ čo prispôsobené riešenie vyžaduje, aby ste si najali vývojára softvéru na vykonanie akýchkoľvek zmien alebo aktualizácií, poskytovatelia konfigurovateľných systémov za vás neustále inštalujú aktualizácie pre efektívnejší chod. Tieto aktualizácie sú spravidla zahrnuté v cene predplatného.
⦿ Súčasťou väčšiny poskytovateľov konfigurovateľných riešení sú online komunity, s ktorými si môžete vymieňať osvedčené postupy a čítať o nových a inovatívnych spôsoboch, akými používajú alebo konfigurujú svoj systém.
⦿ Konfigurovateľné riešenia prinášajú oveľa nižšie počiatočné náklady. K dispozícii sú tiež štandardne bezplatné zdroje – používateľské príručky, školenia, tutoriály, pretože sú relevantné pre všetkých zákazníkov. Nie je teda v takej miere potrebné zaškoľovanie nových zamestnancov.
⦿ Konfigurovateľný softvér často vyvíjajú úzko zamerané spoločnosti. To znamená, že vývojári pracujú iba s určitým segmentom trhu – bankami, výrobou, marketingom… Majú znalosti o procesoch v danom odvetví.
Nevýhody konfigurovateľných softvérov:
⦿ Aktualizáciu nedostávate, keď ju potrebujete vy, ale keď ju naplánuje poskytovateľ služby. To nie vždy korešponduje s aktuálnymi požiadavkami vášho podnikania.
⦿ Systém môže byť obmedzený množstvom konfigurácií, ktoré je možné v rámci softvéru vykonať. Robí ho to síce na jednej strane viac konzistentným, ale na strane druhej je stanovením obmedzení rigidnejší.
⦿ Vaši zamestnanci a používatelia konfigurovateľného softvéru musia pochopiť terminológiu a abstraktný slovník definovaný poskytovateľom služby.
⦿ Pri práci so spoločnosťou zameranou na širokú škálu riešení a obchodných domén riskujete získanie softvéru so zle zavedenými procesmi.
⦿ Je otázne ako dlho dokáže konfigurovateľný systém spĺňať požiadavky pri raste vášho podnikania. Čím komplexnejšie vaše podnikové procesy budú, tým viac sa začnú prejavovať obmedzenia takéhoto riešenia.
⦿ V rámci konfigurovateľných riešení je počet funkcií, ktoré môžete implementovať, obmedzený jeho „základným kameňom“. Je to rýchly spôsob vytvárania softvéru, ale keď potrebujete jedinečnú funkciu, ktorá nie je k dispozícii, budete potrebovať nejaký vlastný kód. Integrácia tohto vlastného kódu môže niekedy stáť oveľa viac ako úplne prispôsobené riešenie postavené od začiatku.
⦿ Konfigurovateľné riešenia majú integrované bezpečnostné protokoly, ale stále nedokážu poskytnúť rovnakú úroveň zabezpečenia ako vlastný softvér. Nemáte úplnú kontrolu nad bezpečnosťou údajov ani prístupom k zdrojovému kódu.
Ako sa rozhodnúť, ktorý prístup zvoliť?
Softvér na mieru nie je pre každého. Tento typ softvéru je vhodný pre banky, veľkých veriteľov so zavedenými obchodnými postupmi a veľké výrobné spoločnosti. Konfigurovateľný softvér je takpovediac „zlatý stred.“ Počiatočné náklady sú oveľa nižšie než pri softvéri na mieru, stále však poskytuje oveľa viac funkcií ako hotové riešenie „out-of-the-box“. Aj preto mnohí vývojári vidia budúcnosť softvéru práve v konfigurovateľných a low-code či no-code riešeniach. Aktuálne je najpravdepodobnejšia situácia, že spoločnosť použije v rámci svojej IT infraštruktúry oba tieto prístupy alebo ich kombináciu. Služby ako Office 365, Microsoft Dynamics alebo Solvedio umožňujú pokryť časť procesov konfiguráciou. To, čo nie je možné pokryť konfiguráciou, je možné doimplementovať ako rozšírenie.
Pri rozhodovaní je dôležité vziať do úvahy najmä:
- Účel využitia softvéru: Zamyslite sa, aké obchodné procesy bude softvérové riešenie pokrývať, aké úlohy má digitalizovať a čo bude jeho primárnym využitím. Hneď tento prvý bod vám môže ponúknuť jednoznačnú odpoveď na otázku či zvoliť konfigurovateľné riešenie alebo riešenie na mieru.
- Rozpočet: Počiatočné náklady na softvér na mieru sú rádovo oveľa vyššie ako počiatočné náklady na konfigurovateľné riešenie. Na druhej strane za konfigurovateľný softvér zväčša platíte časové predplatné alebo predplatné za určitý počet používateľov alebo verziu. Je preto veľmi dôležité zvážiť aj úspory, ktoré prinesie softvér na mieru vášmu podnikaniu z dlhodobého hľadiska. Na druhej strane sú tu aktualizácie, ktoré sú v rámci konfigurovateľných systémov tradične bezplatné, zatiaľ čo aktualizácia softvéru na mieru si vyžaduje zapojenie vývojového tímu a čas.
- Čas implementácie: Konfigurovateľné riešenie môžete implementovať do vašej IT infraštruktúry za niekoľko dní či týždňov. Implementácia riešenia na mieru trvá väčšinou mesiace. Aj toto môže byť dôležitý faktor, ktorý zaváži pri rozhodovaní.
- Segment vášho podnikania a obchodné ciele: Niektoré segmenty sa vyvíjajú v technologických ohľadoch rýchlejšie než iné. Je preto pre ne nevyhnutná vyššia miera flexibility, ktorú ponúka práve konfigurovateľný softvér. Na druhej strane sú segmenty s robustnými pracovnými tokmi, ktorých požiadavky vie oveľa lepšie pokryť softvér na mieru.
Z uvedeného je zrejmé, že rôzni klienti potrebujú rôzne úrovne prispôsobenia svojho softvéru, a to na základe svojich konkrétnych obchodných potrieb. Konfigurovateľný softvér môže byť v určitých ohľadoch o hľadaní kompromisov v otázke funkcionality, na druhej strane má nepopierateľnú výhodu v oblasti obstarávacej ceny a rýchlosti implementácie. Výber spoľahlivého partnera vám v tomto smere pomôže veľmi jasne odpovedať na základné otázky ohľadom výberu vhodného riešenia. Najmä, ak sa partner venuje softvéru na mieru Also konfigurovateľným riešeniam.
Pracuje s NET Core, MSSQL/MySQL/Oracle, Angular, Azure, DevOps CI/CD, SharePoint 2019/Online, PowerBi, PowerForms.
Radovan Skulsky Senior Developer / Architect