Mikor a Közgázon tanultam, az egyik tanárom mondta, hogy volt ez a vita a közelmúltban (az ma már régmúlt :-) ), hogy egy vállalat dobozos szoftvert használjon vagy egyedi fejlesztésűt, de ez mára már egyértelműen eldőlt, dobozos szoftvert kell használni. Erről a témáról szeretném megosztani a gondolataimat, és főképpen TAPASZTALATOMAT.
Ha esetleg valaki nem tudná, hogy miről van szó, akkor azoknak összefoglalom röviden: vannak feladatok a nagyvilágban, amelyek NAGYJÁBÓL minden vállalatnál hasonlóak. Ezt felismeri egy szoftverfejlesztő vállalkozás, és elkészít egy jól paraméterezhető programot, ami az adott problémát kezeli. Tőle ezt megvásárolják vagy liszenszelik (jobb esetben mindkettő :-) ), és ők profi módon elkészítik, és főleg követik: a változásokat mindig bedolgozzák a szoftverükbe, és nagyon olcsón, letesztelve, jó minőségben rendelkezésre bocsájtják. A másik megoldás, mikor a vállalatnál van egy szoftveres csoport, amely egy programnyelvben megírja a szoftvert, amihez jellemzően van egy adatbáziskezelő rendszer is (ezek egyébként mind dobozos szoftverek, tehát közismertek, teszteltek stb.). Ez a csapat kezeli a változásokat, és a program pontosan a vállalat üzleti folyamatainak leképezése. Itt azonban minden vállalatnál egyedileg kell lefejleszteni a változásokat. Előnyök, hátrányok:
Dobozos szoftver:
-olcsóbb, mert csak egyszer kell lefejleszteni,
-nem pontosan a vállalat igényeit kezeli, de testre szabható,
-alaposan letesztelt,
Egyedi szoftver
-drágább,
-pontosan azt tudja, ami kell,
-nem lehet találni hozzá szakembereket, nagy kockázat egy ilyet lefejleszteni,
-nincs letesztelve alaposan, sok hiba jön elő menet közben.
Hasonlat: az egyik olyan, mint a konfekcióöltöny. Mindenkire jó, és ráigazítjuk, de olcsó, a másik meg a méretre készített öltöny, ami egyedi, de drága.
Akkor idáig tartott a gyerekmese, most meg jön a valóság.
De mielőtt továbbmennénk, egy fontos kikötést kell tennem: a dobozos szoftver jó dolog. Egy kisvállalatnak pl. vagy egy TÉNYLEG szabványfeladat végrehajtására. Egy kisvállalat megveszi pl. a könyvelőprogramot, vagy mondjuk amivel brókerkedhet. Egy nagyvállalatnál is jó a Word meg az Excel, ami tényleg szabványfeladat. Itt most olyan nagyvállalatokról fogok beszélni, akik megengedhetnék maguknak a saját szoftveres csapatot, és olyan alkalmazásokról, amelyek egyediek az adott vállalatra nézve. Persze azt állítom, hogy nagyjából mindegyik ilyen. Ugyanis nincs két egyforma üzleti folyamat. Aki azt mondja, hogy két cégnek pont ugyanolyan raktárkezelő, könyvelőprogram stb. kell, az hazudik. Persze, aki eladja ezeket az egyenszoftvereket, az hazudik, ez így működik.
Állításom tehát: a nagyvállalatok rengeteg energiát elpazarolnak dobozos szoftverekre, amivel saját tevékenységüket nehezítik meg. Katasztrofális minőséget kapnak, ráadásul akadályozza a jó vállalat működésüket. A fenti hasonlat alapján: szar konfekcióöltönyt kapnak az egyedi áráért (vagy annak sokszorosáért).
Nem csak a levegőbe beszélek, szeretném is alátámasztani érvekkel az igazamat.
Sok projektben vettem részt: egyedi szoftverek fejlesztésében is és dobozos szoftverek bevezetésében is. Egyből feltűnt, hogy a dobozos szoftvereknél mindig több tíz vagy akár száz (!) fős projektek voltak, amiben a tagok többsége NEM ÉRTETT a programozáshoz. Többségük közgazdász végzettségű volt. Ezen felül rengeteg segédcsapat volt: projektvezető-assziszensek, tesztelők, szervezők garmada, rengeteg értekezlet, amit ma már persze mítingnek mondanak. Mivel én egyedi szoftvert is írtam már párat, hamar láttam, hogy magát az eredeti alapszoftvert kb. hárman meg tudnánk írni mondjuk max. egy év alatt. Aztán még két évig csiszolnánk, de akkor már tényleg a "seggkinyaló" funkciók is sorra kerülnének. Egy barátom szokta mondani, hogy olyan ez, mintha beküldenék őt egy szívműtétre: szépen bemosakodna, felrajzolná ütemezőbe a lépéseket, szép prezentációt csinálna, csak éppen azzal a kurva szívvel nem tudna semmit se kezdeni. Mert nem ért hozzá, nincsenek olyan képességei. De ugye őt nem is hívják oda ilyen műtétekre. Ezeket az embereket meg igen. (Majd visszatérek még erre, hogy miért van ez.) Ezek a feladatok mind jelentősen el vannak MISZTIFIKÁLVA, hogy nemzetközi szabvány szerint, meg már bizonyított stb. De aki ért hozzá, az csak röhög ezen. A több milliárdos szoftverek (most nem írok konkrét cégeket, neveket, pedig tudnék) viszony kis munkával megírhatók lennének. Az igaz, hogy rengeteg funkciójuk van, és mindet tényleg nem lehetne megcsinálni. Viszont általában NEM IS KELLENEK, a te vállalatod csak kis részét fogja ezeknek használni. Ennél viszont sokkal nagyobb baj, hogy nem elég, hogy túlárazottak, és a bevezetési projekt meg még inkább az, de ROHADTUL NEM TÁMOGATJÁK az üzleti folyamataidat. Konkrétan NEM TUDJÁK, amit kéne, de pl. a német előírásoknak tök jól megfelelnek. És akkor jön a testre szabhatóság duma. Hogy ezeket lehet customizálni, paraméterezni. Ezzel két nagy baj van: egyrészt akkor már konkrétan egyedi szoftvert készítesz. Tehát nem tudtad kikerülni, csak elfedni, hogy neked egyedi szoftver kell. (De akkor meg minek hozzá a kőleves? :-) ). Másrészt mihelyst testre szabtad a szoftveredet, évekig, egy évtizedig nem telepítheted a dobozos szoftver újabb és újabb verzióit, mert akkor a testre szabott programkódjaid nem működnének, vagy legalábbis mindig újra kéne őket tesztelned, javítgatnod. Aztán általában eljön az idő, hogy már nem tudod tovább halasztani a feladatot, mert már nem fogják a nálad futó változatot tovább támogatni a fejlesztők. (De jó volna konkrét példákat mondani, de sajnos nem lehet. ) Ilyenkor, mikor rohadtul más, értékes dolgot végeznél, fejlesztenéd a piacodat, a termékeidet, újból be kell vezetni ugyanannak a szoftvernek a legújabb változatát, amivel (a pénzen túl) a céged le lesz terhelve egy-két évig. Úgy kell, mint üveges tótnak a hanyatt esés, de nincs választásod. Gyakorlatilag tízévente kötelező egy többéves, felesleges óriásprojektet indítanod. Ha akarod, ha nem. És ez a legnagyobb baj ezzel az egész világgal. Mikor az egyik cégnél bejött az EKÁER, akkor csak belefejlesztettük ezt a lehetőséget is a programba, és kész. De ha dobozos terméked van, akkor megmondják, hogy sajnos tíz verziót ugranod kell, mert el vagy maradva. Egy pár emberhónapos feladat helyett kapsz egy minimum 3-400 emberhónaposat. Csak. Mert hülye vagy. Ez igazi öntökönszúrás, ez a legrosszabb a sok többi mellett a dobozos világban, ez a legnagyobb ellenérv.
Akkor most nézzünk pár további gondolatot!
Sokszor előfordult már, hogy a rettenetesen nagy customizációban (kedvencem, mikor a US State mezőbe kellett rögzíteni az ügynökkódot, mert a rettenetes nagy testreszabhatóságban máshová nem lehetett :-) ) végül nem tudták megoldani a problémát. Ekkor általában az a vége, hogy tkp. ez nem is kell a vállalatnak., pont úgy jó, ahogy a program tudja. :-) Óriási üzleti veszteségek vannak emiatt. Vicc, hogy a program határozza meg, hogy mit akar a vállalat, és nem fordítva van: a program csinálja meg azt, ami kell. Ismertem olyan céget, aki kiváltotta a régi egyedi szoftvert egy dobozos "világszínvonalúra" , és utána fel kellett vennie még 3 embert, hogy ugyanazt a munkát meg tudja csinálni. Öregek emlékeztek, hogy pont ennyien csinálták ezt a feladatot a 90-es években, mielőtt az egyedi szoftver megoldotta ezt a kérdést. :-)
Érdekes egyébként, hogy pl. építési tevékenységnél nem jut eszükbe, hogy nem egyedi fejlesztés kellene. Ott bátran alkalmaznak fejlesztést. Ha hasonlatot szeretnék, akkor képzeljük el, hogy egy cégnek kell egy új üzemcsarnok. De nem épít ám egyet, hanem vesz egy csomó konténert (hisz az már készen van), egymásra, egymás mellé teszi őket, majd összevissza furkálja őket, ide-oda ajtókat vág rajtuk, hogy nagyjából megfeleljen az igényeinek. Aztán az egész düledezik.
A sok közgazdás szoftveresről egy anekdota jut eszembe, ami állítólag Faludy Györggyel történt. (A Pokolbéli víg napjaimban olvastam emlékeim szerint). Szólt egy haverjának az ötvenes években, hogy kéne munka. Mire az mondta, hogy tud jó svéd műfordítói állást az akadémián.
-De én nem is tudok svédül! Mi lesz, ha az ottani svéd műfordítóval találkozom?
-Figyelj, ha az megtudja, hogy te tudsz svédül, a közeledbe sem mer menni!
:-)))))))
Én száz százalékig biztos vagyok benne, hogy az egyedi szoftver a jobb megoldást a nagy cégeknek. Akkor két kérdés adódik:
Miért nem így van?
Szoftvert fejleszteni nagyon nehéz dolog, nem mindenki alkalmas rá. Összetett gondolkodást, tapasztalatot, szervezést igényel. A másik út pedig kedvez a kufároknak: ők megvesznek valamit, oszt eladják haszonnal. Sokkal jobb nekik egy TERMÉK, mint egy fejlesztés. Több cégnél így golyózták ki a régebbi szoftvert, hogy tudtak okosba Ámerikából valami nagyon üzletági sztenderd megoldást. És ezek az emberek azért ügyesek, ahogy a vicc is mondja. A kretén szoftveresek biztosan nem veszik fel velük a versenyt dumában. Másik nagy probléma, hogy nagy pénz van ebben az iparágban, és tudjuk, hogy két esetben nem lehet megcsinálni valamit: ha kevés pénz van rá vagy ha sok. Aztán ott van, hogy a vezetők általában KURVÁRA nem értenek az egész témából semmit. Ők a "seggpáncélozás" nevű össznépi játékot űzik: ha csinálhatnak valami kockázatosat, ami óriási jót tesz a vállalatnak, vagy egy olyan dolgot, ami szar, de nem kockázatos, akkor biztos, hogy az utóbbit fogják választani. Kérem szépen, ez iparági szabvány, ez nem lehet rossz! Következő ok, hogy rettegnek a vezetők a kiszolgáltatottságtól, hogy ők függjenek 4-5 embertől a cégnél, akiket nem lehet kirúgni, kicserélni, mert ők látják át az egész rendszert. Persze ez a rettegésük egyből megszűnik, ha egy másik másik vállalattól kell függeni. Mert a dobozos szoftvernél pontosan ez a helyzet. Azokra pedig kisebb ráhatásod van, mint a saját munkavállalóidra. De nem baj, ezt már nem látják át. És végül ott van a senki sem lehet próféta a saját hazájában elv: a pár hülye informatikus a harmadikon nem érhet fel az iparági szabvány, korszerű, tudományosjajdecsudajó szoftveresekhez.
Akkor ugye ezt az utat javaslom a cégeknek?
Nem, nem javaslom nekik. Egyszerűen ezért, mert mivel nem értenek hozzá, úgyis a leghülyébbeket fogják kiválasztani a szoftver elkészítésére, és nagy bukás lesz a vége. Aki ért hozzá, annak általában gyerekjáték, de a vezető úgysem fogja tudni, hogy ki ért hozzá. Ő tuti a leghülyébbet fogja kiválasztani. De akkor minek írtam ezt a sok hülyeséget, akkor mégis a dobozos szoftver mellett vagyok? Egy oka van: ha már van a cégnél egy egyedi szoftver, amihez van egy jó csapat, akkor azokat ne utálják, ne ellenségnek tekintsék, hanem ÓRIÁSI lehetőségnek, és szép lassan, kizárólag EVOLÚCIÓS módon osszanak rájuk egyre több feladatot. De nem úgy ám, hogy megháromszorozzák a költségvetésüket, és lecserélik az addigi vezetőjüket egy nagyon okosnak TŰNŐ hülyére. Ugye az evolúciós azt jelenti, hogy fokozatosan. Ez az egy járható megoldás. Esetleg a Google módszere lehet még jó, hogy kis csapatokat építenek, hagyják őket kibontakozni, de általában ez egy termelővállalatnál nem szokott működni. Nem szoktak ők meg olyat, hogy valamin el lehet gondolkodni, és esetleg nem egyből sikerül valami.
Még egy utolsó gondolat, ami nem csak a szoftverrel kapcsolatban igaz, hanem általában minden üzleti területen jó ötlet. Ma olvastam Kalasnyikovról, hogy ő --már vezetőként-- sokszor beszélgetett a munkásokkal a gyárban. A középvezetői réteg ugyanis gondosan csak azt közvetíti a felsővezetés felé, amit az hallani akar. Ha nem megy le a főnök, vagy esetleg az ő közvetlenül erre a célra tartott kapcsolattartói csak úgy beszélgetni, mindenről is, akkor sosem fog megtudni roppant értékes információkat a termékekről, a vezetőkről, a munkafolyamatokról.