Niedawno pro­wa­dzi­łem krót­ką ale cie­ka­wą dys­ku­sje na temat podej­ścia do ofe­ro­wa­nia opro­gra­mo­wa­nia ERP, wdro­żeń, ich doku­men­to­wa­nia i zapi­sy­wa­nia wyma­gań. Osoba, z któ­rą dys­ku­to­wa­łem to były kon­sul­tant dostaw­cy opro­gra­mo­wa­nia ERP świa­to­we­go lide­ra w tej bran­ży. Rozmowa potwier­dzi­ła jed­ną rzecz: celem dostaw­cy goto­we­go sys­te­mu ERP jest wdro­żyć go bez żad­nych mody­fi­ka­cji bo (jej kosz­ty) zja­da­ją mar­żę dostaw­cy. Celem kupu­ją­ce­go opro­gra­mo­wa­nie ERP, jest wspar­cie swo­ich pro­ce­sów biz­ne­so­wych a nie kopia cudzych. To dwa sprzecz­ne inte­re­sy. Silna fir­ma wymu­si na dostaw­cy ERP zmia­ny, sła­ba nie raz pod­da­je się wie­rząc tezom dostaw­cy, że nowy sys­tem upo­rząd­ku­je stan ich orga­ni­za­cji i da prze­wa­gę nad kon­ku­ren­cją. Kto tu ma rację?

Drugie pyta­nie: Po co wyko­rzy­sty­wać np. nota­cję for­mal­ną UML czy BPMN przy wdro­że­niach goto­we­go opro­gra­mo­wa­nia? Po pierw­sze po to by dostaw­ca mógł spraw­dzić czy opro­gra­mo­wa­nie, któ­re ofe­ru­je prze­twa­rza takie dane i tak jak chce tego kupu­ją­cy. Po dru­gie jeże­li tyl­ko nale­ży dodać bra­ku­ją­ce funk­cjo­nal­no­ści to trze­ba je naj­pierw zapro­jek­to­wać a potem zaim­ple­men­to­wać. Niestety obser­wu­je, że to wła­śnie dostaw­cy goto­we­go opro­gra­mo­wa­nia łamią wszel­kie regu­ły tego pro­ce­su: pomi­ja­ją etap pro­jek­to­wa­nia nowych ele­men­tów sys­te­mu, czę­sto pra­cu­ją ?na żywioł? ? wpa­da ana­li­tyk dostaw­cy ERP i ?coś robi? od razu ?w sys­te­mie?. Potem jest tyl­ko lawi­na błędów?

Wróćmy więc do rozmowy:

[Konsultant zna­ne­go na ryn­ku mię­dzy­na­ro­do­wym sys­te­mu ERP. Wiele lat pra­co­wa­łam jako kon­sul­tant księ­go­wy przy wdro­że­niach sys­te­mów ERP, teraz pra­cu­je jako admi­ni­stra­tor modu­ło­wy. W obsza­rze moich zain­te­re­so­wań jest głów­nie pro­ce­so­we uje­cie przed­się­bior­stwa, ale rów­nież ana­li­zy przed­wro­że­nio­we oraz kon­cep­cje wdro­że­nio­we. Chciałabym Pana zapy­tać, jak w prak­ty­ce spraw­dza sie doku­men­ta­cja UML na potrze­by wdro­żeń? Z tego co zaob­ser­wo­wa­łam, a tak­że z roz­mów, dys­ku­sji doszłam do wnio­sku, że UML jest narzę­dziem pra­co­chłon­nym, cza­so­chłon­nym, za mało prze­źro­czy­stym”.

[Jarosław Żeliński] UML to narzę­dzie for­mal­ne (nota­cja), wyma­ga więc pew­nej wie­dzy teo­re­tycz­nej (podob­nie jak pro­gra­mo­wa­nie z uży­ciem jakie­go­kol­wiek języ­ka pro­gra­mo­wa­nia). Pracochłonność? Model UML (np. dia­gram klas) jest (zależ­nie od sza­cun­ków) wie­lo­krot­nie mniej pra­co­chłon­ny w wyko­na­niu niż odpo­wia­da­ją­cy mu kod, prze­kła­da się to tak­że na testo­wa­nie kodu i oce­ny kosz­tu dane­go roz­wią­za­nia. Jednoznaczne opi­sa­nie np. for­ma­tu danych opi­so­wo (?pro­zą?) jest prak­tycz­nie nie­moż­li­we. Tabele są znacz­nie bar­dziej pra­co­chłon­ne niż dia­gram klas i maszy­ny sta­nów im odpowiadające.

[Konsultant] UML moim zda­niem nie wspo­ma­ga wdro­żeń, aby taka doku­men­ta­cja była war­to­ścio­wa musi być aktualizowana.

[JŻ] UML to nie jest narzę­dzie do wdro­żeń goto­wych sys­te­mów ERP, to jakieś nie­po­ro­zu­mie­nie, UML to narzę­dzie pro­jek­to­wa­nia opro­gra­mo­wa­nia, zaś w przy­pad­ku goto­wych ERP ma sens jedy­nie do mode­lo­wa­nia obiek­tów biz­ne­so­wych i inter­fej­sów na eta­pie spe­cy­fi­ko­wa­nia wyma­gań bo obiek­ty takie (np. fak­tu­ra, zle­ce­nie zała­dun­ku itp.) są prze­twa­rza­ne w sys­te­mach ERP (doku­men­ty itp.).

[Konsultant] Pan wie ile to zabie­ra czasu.

[JŻ] Znacznie mniej niż testo­wa­nie pro­to­ty­pów na żywym kodzie.

[Konsultant] Specjaliści z bran­ży źle sie wypo­wia­da­li o UML twier­dząc, że jest bar­dziej narzę­dziem aka­de­mic­kim, świet­nie uczą­ce filo­zo­fii pro­gra­mo­wa­nia, nato­miast zupeł­nie niepraktyczne.

[JŻ] Obawiam się, że nigdy nie korzy­sta­li z doku­men­ta­cji for­mal­nej, korzy­sta­li ze źle wyko­na­nej (w więk­szość jaką widu­ję) lub nie potra­fi­li sami jej wyko­nać w UML. Prawdopodobnie kry­ty­ko­wa­li coś cze­go nie uży­wa­li, jak prze­ka­zu­ję doku­men­ta­cje z uży­ciem UML to pro­gra­mi­ści klasz­czą z rado­ści, zaś na widok wyma­gań w posta­ci pro­zy od razu doda­ją 40% zapa­su na ryzyko …

[Konsultant] A Pan korzy­sta z UML’a. Jak do tego pod­cho­dzą klien­ci? Nie jest to pro­sta nota­cja i pew­nie nie do koń­ca zro­zu­mia­ła dla każ­de­go. Jakie są Pana spo­strze­że­nia w tym temacie?

[JŻ] UML to narzę­dzie ana­li­tycz­ne i pro­to­ty­po­we, klien­tom nie poka­zu­ję kodu pro­gra­mu i dia­gra­mów UML (po co??). Czy tłu­macz na chiń­ski daje swo­im klien­tom tekst tłu­ma­cze­nia do zatwier­dza­nia? Nie – daje go chiń­czy­kom do czy­ta­nia. Jest wie­le nie­po­ro­zu­mień wokół UML i BPMN. Krytykują go chy­ba tyl­ko Ci, któ­rzy nie zna­ją i nie potra­fią użyć. Podam taki przy­kład: wyma­ga­nia w posta­ci opi­su i dia­gra­mów UML są reali­zo­wa­ne przez pro­gra­mi­stów w zasa­dzie z bar­dzo małym ryzy­kiem, wyce­ny kosz­tów imple­men­ta­cji nie mylą się bar­dziej niż 10%, testo­wa­nie przy­pad­ków uży­cia na dia­gra­mach jest nawet 10 krot­nie tań­sze niż kodo­wa­nie i testo­wa­nie prototypów.

Typowe błę­dy jakie spotykam:

- złe mode­le (nie speł­nia­ją­ce zasad nota­cji, błęd­ne pro­jek­ty – w zasa­dzie nie­przy­dat­ne obraz­ki) fak­tycz­nie niko­mu nie poma­ga­ją (a wie­le jest nie­ste­ty złych, podob­nie mode­le pro­ce­sów, wie­le z nich to złe mode­le pozba­wio­ne zasad pragmatyki)

- sto­so­wa­nie UML do goto­wych sys­te­mów ERP jest nie­po­ro­zu­mie­niem za wyjąt­kiem doku­men­to­wa­nia danych oraz nowych funkcjonalności

- nie da się wyko­nać w posta­ci opi­su słow­ne­go sku­tecz­ne­go (jed­no­znacz­ne­go) opi­su dedy­ko­wa­ne­go sys­te­mu podob­nie (lub jakiej­kol­wiek dedy­ko­wa­nej czę­ści goto­we­go) jak nie da się tą meto­dą opi­sać pro­jek­tu biu­row­ca – robi sie rysun­ki tech­nicz­ne, któ­rych nie rozu­mie miesz­ka­niec tego biu­row­ca, ale te rysun­ki nie są dla nie­go, on dosta­je wizu­ali­za­cje (w inży­nie­rii opro­gra­mo­wa­nia matry­ce ekra­nów – mockupy).

Z moje­go doświad­cze­nia wszel­kie for­ma­li­zmy (UML, BPMN, inne) krytykują:

- ci któ­rzy ich nie rozumieją

- ci któ­rym prze­szka­dza­ją (zbyt jed­no­znacz­na doku­men­ta­cja pozwa­la ści­śle roz­li­czyć wyko­naw­cę, cze­go nie­któ­rzy nie chcą)

Dla przy­kła­du. Większość ludzi nie lubi geo­me­trii ale też nie potra­fią oni nicze­go nary­so­wać tyl­ko z pomo­cą cyr­kla i linij­ki, muszą mieć wzor­ni­ki do ryso­wa­nia figur geo­me­trycz­nych a na geo­me­trię narze­ka­ją, że trud­na i teo­re­tycz­na. Geometrie zna bar­dzo dobrze za każ­dy archi­tekt, musi. Niestety zawsze będą pro­jek­ty, w któ­rych mała i skoń­czo­na licz­ba goto­wych figur wzor­ni­ka nie wystar­cza i potrzeb­ne są inne… ktoś to musi zro­bić a nagi­na­nie wszyst­kie­go do kil­ku figur na wzor­ni­ku to zły pomysł…

Po dru­gie: nie­za­leż­nie od tego co wie ana­li­tyk piszą­cy wyma­ga­nia pro­zą, struk­tu­ra pro­gra­mu jest struk­tu­ra for­mal­ną i kom­pi­la­tor jest bez­względ­nym sędzią, podob­nie jak potem przy­szły użyt­kow­nik. To cze­go nie zwe­ry­fi­ko­wa­no na eta­pie pro­jek­to­wa­nia i tak trze­ba zro­bić na eta­pie kodo­wa­nia, tyl­ko tu jest to o wie­le droż­sze w przy­pad­ku popeł­nie­nia błędów.

Niewątpliwie ana­li­za i pro­jek­to­wa­nie (UML to narzę­dzie doku­men­to­wa­nia pro­jek­tu i two­rze­nia mode­li do testów) są trud­ne ale to tak jak z mode­la­mi samo­lo­tów w tune­lu aero­dy­na­micz­nym: nikt przy zdro­wych zmy­słach nie testu­je wszyst­kie­go na goto­wych samo­lo­tach tyl­ko na mode­lach bo to po pro­stu taniej (i bezpieczniej).

Zapewniam Panią, że tam gdzie pła­ci się za dzie­ło” sta­ła kwo­tę coraz czę­ściej mode­lu­je się i pro­jek­tu­je na papie­rze np. w UML, a potem dopie­ro koduje.

[Konsultant] Do tego miej­sca wszyst­ko jest dla mnie pięk­ne, ale zna­jąc życie, resz­ta już nie jest taka pięk­na. Powstaje pro­to­typ i trze­ba go prze­te­sto­wać. Jakoś nie wyobra­żam sobie, aby nawet naj­bar­dziej dosko­na­le wyko­na­na doku­men­ta­cja UML pozwo­li­ła nam pomi­nąć ten etap. W 2004 roku przez oko­ło pół roku bra­łam udział we wdra­ża­niu sys­te­mu dedy­ko­wa­ne­go, pamię­tam etap testów, jak wie­le poja­wia­ło sie błę­dów, pamię­tam ogrom pra­cy jaki nagle poja­wił sie na tym eta­pie. Gdyby wów­czas mia­ło dojść do tego jesz­cze bie­żą­ca aktu­ali­za­cja doku­men­ta­cji UML to pew­nie ter­min zamknię­cia pro­jek­tu prze­su­nął­by sie dale­ko, daleko..

[JŻ]Mamy trzy pod­sta­wo­we eta­py two­rze­nia oprogramowania:

- ana­li­za wyma­gań, jej pro­duk­tem jest spe­cy­fi­ka­cja wymagań

- pro­jek­to­wa­nie

- imple­men­ta­cja

Testowanie doty­czy prak­tycz­nie każ­de­go etapu:

- spe­cy­fi­ka­cje wyma­gań testu­je­my na mapach pro­ce­sów i to jest pro­ste jeże­li mamy dobry model pro­ce­sów biz­ne­so­wych: każ­dy biz­ne­so­wy doku­ment powi­nien przejść” przez model pro­ce­sów, na nim wska­zu­je­my miej­sca, w któ­rych ocze­ku­je­my inte­rak­cji z opro­gra­mo­wa­niem (sam dia­gram wska­że kontekst)

- pro­jekt (w szcze­gól­no­ści model dzie­dzi­ny) testu­je­my w ten spo­sób, że dla każ­de­go przy­pad­ku uży­cia wyko­nu­je­my model sekwen­cji: ta meto­dą prze­te­stu­je­my czy mamy wszyst­kie kla­sy i ich meto­dy czy­li prze­te­stu­je­my całą logi­kę systemu

- teraz ma miej­sce imple­men­ta­cja i tu testu­je­my kod każ­dej kla­sy (wewnątrz klas lub meto­dą testo­wa­nia inter­fej­sów, zale­ży od przy­ję­tej meto­dy, pole­cam poczy­ta­nie o TDD), bo one same z sie­bie, kla­sy i ich logi­ka prze­te­sto­wa­na na eta­pie pro­jek­to­wa­nia, są OK a pro­jekt jest spój­ny bo prze­szedł testy logi­ki na modelach.

I lite­ra­tu­ra i pro­gra­mi­ści potwier­dza­ją, że wykry­cie błę­du w pro­jek­cie jest co naj­mniej o rząd (albo nawet dwa, jak twier­dzą nie­któ­rzy) wiel­ko­ści tań­sze do popra­wie­nia niż błę­dy wykry­te w kodzie. Dotyczy to tak­że wpro­wa­dza­nia zmian.

[Konsultant] Aby Pan mnie źle nie zro­zu­miał, nie kwe­stio­nu­je korzy­sta­nia z UML’a, raczej w kon­tek­ście swo­ich doświad­czeń nie spo­tka­łam sie z wiel­ka apro­ba­tą u prak­ty­ków tego narzę­dzia. Dla mnie za bar­dzo chce być boha­te­rem” w tej sztu­ce jakim jest wdro­że­nie. Za bar­dzo absor­bu­je w pro­ce­sie implementacji.

[JŻ] Podtrzymuje, że na UML (a kon­kret­nie pro­jek­to­wa­nie przed kodo­wa­niem) narze­ka­ją Ci któ­rzy pro­gra­mu­ją na żywioł”, ana­lo­gie do pro­ce­su w budow­nic­twie są moim zda­niem jak naj­bar­dziej na miejscu.

[Konsultant] Mogę się mylić. Pan jest pierw­szym prak­ty­kiem jakie­go pozna­łam, któ­ry korzy­sta z UML’a i twier­dzi, że jest to dobre podej­ście, dla­te­go zapy­ta­łam Pana jak to wyglą­da w życiu.

[JŻ] W życiu jest tak, że moimi klien­ta­mi są głow­nie fir­my po przej­ściach”, te któ­re doświad­czy­ły wdro­żeń bez eta­pu pro­jek­to­wa­nia. Ostatnio coraz czę­ściej kon­trak­ty zwią­za­ne z opro­gra­mo­wa­niem są fixed pri­ce” (sta­łe zakres pro­jek­tu, koszt i ter­min reali­za­cji) i nie opła­ci się wyko­naw­cy kodo­wać i testo­wać w nie­skoń­czo­ność”, kodo­wa­nie bez pro­jek­tu jest w zasa­dzie nie­prze­wi­dy­wal­nym pro­ce­sem (dokład­nie tak jak zło­żo­na budo­wa bez pro­jek­tu). Po dru­gie znam innych ludzi uży­wa­ją­cych UML, są to naj­czę­ściej ludzie zwią­za­ni z dobry­mi pro­gra­mi­sta­mi .NET, JAVA (J2EE) a tak­że pro­jek­tan­ta­mi baz danych, korzy­sta­ją­cy z wzor­ców pro­jek­to­wych i gene­ral­nie obiek­to­wych metod two­rze­nia opro­gra­mo­wa­nia. Praktycznie każ­da fir­ma korzy­sta­ją­ca z meto­dy­ki RUP (lub lżej­szej ICONIX) uży­wa UML w jakiejś posta­ci. W przy­pad­ku goto­wych sys­te­mów ERP jest to (UML) dosko­na­łe wręcz narzę­dzie do opi­sa­nia tego jakie dane o doku­men­tach nale­ży prze­twa­rzać i jak je przetwarzać.

[Konsultant] Ale tak sobie myślę, że Pan dostar­cza doku­men­ta­cje UML pro­gra­mi­stom, oni się cie­szą bo maja kawal robo­ty juz zro­bio­nej, ale czy póź­niej po zro­bie­niu pro­to­ty­pu ta doku­men­ta­cja jest dalej uak­tu­al­nia­na? Jeśli nie, to jej żywot jest skoń­czo­ny, wła­śnie ten etap powsta­wa­nia sys­te­mu jest dla mnie momen­tem, gdy zasta­na­wiam się nad sen­sem two­rze­nia pra­co­chłon­nej doku­men­ta­cji w nota­cji UML, ale mogę sie mylić.

[JŻ] Po pierw­sze dobry prze­te­sto­wa­ny pro­jekt nie jest zmie­nia­ny pod­czas imple­men­ta­cji 🙂 bo taka jest jego rola (jak dosta­nie Pani dobry pro­jekt archi­tek­to­nicz­ny dom­ku, to domek jak powsta­nie jest taki jak pro­jekt i nie ma co uak­tu­al­niać), waż­ne by utrzy­mać szcze­gó­ło­wość pro­jek­tu na wła­ści­wym pozio­mie, nie powi­nien wykra­czać zbyt­nio poza samą logi­kę dzia­ła­nia. Moim zda­niem wie­le pro­jek­tów UML jest prze­sad­nie szcze­gó­ło­wych a w wie­lu miej­scach są zbyt ogólne.

[Konsultant] Jednak chcia­ła­bym wró­cić do goto­wych sys­te­mów ERP bo taki­mi sie zaj­mu­je. Wracam do arty­ku­łu. Dlaczego glo­ry­fi­ku­je Pan przed­się­bior­stwo i jego potrze­by? Czytając Pana arty­kuł odno­szę wra­że­nie, że potrze­by przed­się­bior­stwa uzna­je Pan jako jedy­ne słusz­ne. A gdy­by tak było, to nie było­by szan­sy wdra­ża­nia goto­wych sys­te­mów, a trze­ba by dla każ­dej fir­my pisać dedy­ko­wa­ne opro­gra­mo­wa­nie. Bez sensu.

[JŻ] Osobiście uwa­żam, że zama­wia­ją­cy jest głów­nym źró­dłem wyma­gań ale pod tym poję­ciem rozu­miem spon­so­ra pro­jek­tu i to jego biz­ne­so­wy cel jest nad­rzęd­ny bo to on za swo­je pie­nią­dze reali­zu­je stra­te­gię swo­jej fir­my. Jestem gorą­cym zwo­len­ni­kiem tezy, że to mene­dżer (pre­zes, itp.) jest auto­rem celu biz­ne­so­we­go i to on sta­wia cele dostaw­com sys­te­mów ERP. Jeżeli jest ryzy­ko, że tu jest pro­blem z zama­wia­ją­cym” (a nie raz bywa) to koniecz­ne nale­ży tu umie­ścić usłu­gę doradz­twa biz­ne­so­we­go i stra­te­gicz­ne­go”, któ­ra da uzgod­nio­ne wyma­ga­nia i cele biznesowe.

Wdrażanie goto­we­go opro­gra­mo­wa­nia w dużych fir­mach bez mody­fi­ko­wa­nia go jest w prak­ty­ce bez sen­su bo fir­my się róż­nią. Na wdro­że­nie gotow­ca bez uwag może sobie pozwo­lić mała fir­ma kupu­ją­ca sys­tem fak­tu­ro­wa­nia z pudeł­ka za 1000zł, ale fir­ma mają­ca swo­je zwy­cza­je i stra­te­gię? Nie. W moich pro­jek­tach zawsze (po ewen­tu­al­nym upo­rząd­ko­wa­niu) sza­nu­ję wewnętrz­ne zwy­cza­je firm, powsta­je model pro­ce­so­wy całej fir­my (dość ogól­ny), na nim wydzie­la­ne są te obsza­ry, któ­re są kan­dy­da­tem na goto­wy ryn­ko­wy sys­tem ERP (z regu­ły obszar finan­sów i pro­duk­cja cza­sa­mi inne) a to co wyma­ga­ło­by zmian w danym sys­te­mie ERP kan­dy­du­je na dedy­ko­wa­ny pod­sys­tem. Proszę zwró­cić uwa­gę na to, że prak­tycz­nie każ­dy sys­tem ERP jest, pod­czas wdro­że­nia, para­me­try­zo­wa­ny a bar­dzo czę­sto tak­że mody­fi­ko­wa­ny. Jeżeli więc w ofer­cie widzę, że koszt mody­fi­ka­cji (dosto­so­wa­nia do potrzeb klien­tów, wpro­wa­dze­nie nowych funk­cjo­nal­no­ści) to np. 30% war­to­ści ofer­ty, to ten obszar roz­wa­żam jako mate­riał na dedy­ko­wa­ny pod­sys­tem. Potem nie raz oka­zu­je się, że dostaw­ca ERP doda bra­ku­ją­ce funk­cje za np. 200 tys., a dedy­ko­wa­ny sys­tem wraz z inte­gra­cją kosz­tu­je nie raz mniej niż 100 tys. (zazna­czam, że oba te warian­ty wyma­ga­ją zapro­jek­to­wa­nia i testo­wa­nia wiec to nie jest argu­ment prze­ciw­ko pro­jek­tom w np. w UML).

[Konsultant] Widzi Pan, pozna­jąc wie­le pol­skich przed­się­biorstw zda­łam sobie spra­wę, że w Polsce panu­je bar­dzo dziw­ny zwy­czaj (jeśli to moż­na nazwać zwy­cza­jem). Ktoś zdo­by­wa pie­nią­dze i posta­na­wia zało­żyć fir­mę. W okrze­płych wol­no­ryn­ko­wych pań­stwach (zachód) w takiej sytu­acji wła­ści­ciel finan­sów poszu­ku­je spe­cja­li­stów, mena­dże­rów. Przekazuje im pałecz­kę, czu­wa, dowia­du­je się ale jeśli się nie zna na biz­ne­sie, to sie nie wtrą­ca. U nas jest ina­czej: mam kasę, two­rze fir­mę, mia­nu­je się jej pre­ze­sem i wtrą­cam się wszę­dzie, wszyst­ko wiem naj­le­piej. Efektem jest stwo­rze­niem jakieś dziw­nej, indy­wi­du­al­nej stra­te­gii przed­się­bior­stwa. Nie raz sły­sza­łam z satys­fak­cją wypo­wia­da­ne sło­wa: Takich roz­wią­zań nie spo­tka­cie nigdzie! Ale to zupeł­nie nie o to cho­dzi. Nie chcę się roz­pi­sy­wać. Chciałabym jed­nak Panu powie­dzieć, że ofer­ta goto­we­go sys­te­mu, zawie­ra w sobie boga­tą bazę uwag, popra­wek zdo­by­tych w trak­cie wie­lu, wie­lu wdro­żeń. Moment wdro­że­nia syte­mu infor­ma­tycz­ne­go w przed­się­bior­stwie jest bar­dzo dobry, aby zre­wi­do­wać stra­te­gie i zało­że­nia biz­ne­su, jak jest reali­zo­wa­ny w fir­mie. Może war­to wła­śnie sko­rzy­stać z tego co ofe­ru­je sys­tem, a nie upie­rać sie, że moje roz­wią­za­nia są naj­lep­sze i tak musi być! Niestety czę­sto tak jest w praktyce.

Proponuje Pan zbyt ide­ali­stycz­ne roz­wią­za­nie. Sądzę że tutaj potrzeb­ny jest mądry kom­pro­mis mię­dzy tym co pro­po­nu­ją sys­te­my, a potrze­ba­mi firm i bra­ku­je mi jed­ne­go: ujednolicenia.

[JŻ] To jest to co róż­ni mnie od wie­lu dostaw­ców ERP, ale też nie ja jeden tak uwa­żam (pole­cam M.E.Porter – Strategia kon­ku­ren­cji, napi­sał tam, że fir­my kopiu­jąc tech­no­lo­gie od kogoś tym samym podej­mu­ją decy­zje że zre­zy­gno­wa­ły już z kon­ku­ro­wa­nia na ryn­ku). Źródłem prze­wa­gi ryn­ko­wej jest tyl­ko to co odróż­nia fir­mę od jej kon­ku­ren­tów. Studiuje tak­że lite­ra­tu­rę z zakre­su zarzą­dza­nia i mar­ke­tin­gu: nigdzie na świe­cie nie potwier­dza się teza, że sko­pio­wa­nie metod kon­ku­ren­ta daje cokol­wiek poza usta­wie­niem się za nim (nigdy przed). Tak więc jeże­li fir­ma decy­du­je się na roz­wój i chce sobie w tym pomóc wdra­ża­jąc nowe tech­no­lo­gie to wła­śnie po to to robi, by być jesz­cze trud­niej­szym do dogo­nie­nia. Ja tak­że bar­dzo czę­sto sły­szę Takich roz­wią­zań nie spo­tka­cie nigdzie” i to jest głów­ny cel pro­jek­tu! Ujednolicenie firm to dla nich Walec Drogowy, któ­ry po nich prze­je­dzie i wyrów­na! Owszem trze­ba zwe­ry­fi­ko­wać i ewen­tu­al­nie zop­ty­ma­li­zo­wać orga­ni­za­cję fir­my (i po to się robi dobry model pro­ce­sów biz­ne­so­wych, by to prze­te­sto­wać i go ewen­tu­al­nie opty­ma­li­zo­wać) ale potem wła­śnie takie dedy­ko­wa­ne roz­wią­za­nie” nale­ży zaim­ple­men­to­wać bo ta fir­ma naj­praw­do­po­dob­niej dzię­ki nie­mu wła­śnie jest lide­rem w swo­jej bran­ży (to nie jest przy­pa­dek, że nie­któ­re pro­ce­du­ry są tajem­ni­cą fir­my) i usu­nię­cie tego jej lokal­ne­go zwy­cza­ju może nawet zabić firmę.

[Konsultant] W tema­cie wdro­żeń panu­je taka róż­no­rod­ność na każ­dym eta­pie prac, że dopraw­dy trud­no się w tym poła­pać. Nie two­rzy­my wspól­nych plat­form, nie mamy punk­tów wyj­ścia”, każ­de wdro­że­nie to pra­ca od począt­ku. Dla mnie to jest zupeł­nie nie tak.

[JŻ] A dla mnie jest to wła­śnie sens nowych tech­no­lo­gii IT i opro­gra­mo­wa­nia wspo­ma­ga­ją­ce­go zarzą­dza­nie. Polecam lite­ra­tu­rę o archi­tek­tu­rze kor­po­ra­cyj­nej, uka­za­ła się nie­daw­no książ­ka Architektura kor­po­ra­cyj­na jako stra­te­gia”. W niej auto­rzy poka­zu­ją na przy­kła­dach wie­lu firm, lide­rów ryn­ko­wych, że wła­śnie kul­ty­wo­wa­nie wła­snych uni­kal­nych struk­tur” dało im prze­wa­gę na ryn­ku i sukces.

Notatka: Polecam tak­że cie­ka­wy wpis na blo­gu Computerworld: ERP-owym pury­stom mówi­my sta­now­cze nie.

Jarosław Żeliński

Jarosław Żeliński: autor, badacz i praktyk analizy systemowej organizacji: Od roku 1991 roku, nieprzerwanie, realizuje projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzi samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzi wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie.) Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów. Prawa autorskie: Zgodnie z art. 25 ust. 1 pkt. 1) lit. b) ustawy o prawie autorskim i prawach pokrewnych zastrzegam, że dalsze rozpowszechnianie artykułów publikowanych w niniejszym serwisie jest zabronione bez indywidualnej zgody autora (patrz Polityki Strony).

Ten post ma 4 komentarzy

  1. Piotr

    Jeżeli pozwo­lisz, wtrą­cę kil­ka uwag do dys­ku­sji. Nie wiem czy była to dys­ku­sja z kon­sul­tan­tem fir­my, któ­rej nazwa zaczy­na się na S i ma 3 lite­ry, ale.. 😉 Poznałem już nie jed­ne­go S**era i znam ich tok rozu­mo­wa­nia. Świetnie odda­je to zda­nie Pani kon­sul­tant ?UML jest narzę­dziem? za mało prze­źro­czy­stym”.? :))) No fakt, plan budo­wy domu też jest mało ?prze­zro­czy­sty?- na szczę­ście! ? Jarku zwróć uwa­gę na jed­ną rzecz. Konsultant ma goto­wy sys­tem, w któ­rym co naj­wy­żej może kon­fi­gu­ro­wać obiek­ty, czy­li np. zde­fi­nio­wać plan kont, zde­fi­nio­wać ban­ki i rachun­ki ban­ko­we, MPKi itd. itp. Po co zatem mode­lo­wać cokol­wiek, sko­ro z zało­że­nia i tak wszyst­ko zosta­nie zaora­ne do zera, a co naj­wy­żej zde­fi­niu­je się obiek­ty w/w. Czyli bio­rę do ręki sta­ry plan kont i przy­kle­pu­ję. Sprawdzam jak wyglą­dał kon­tro­ling i defi­niu­ję MPKi, cen­tra zysku itd. Moim zda­niem UML nijak się ma do goto­wych sys­te­mów IT, chy­ba że wewnętrz­nie dla dostaw­cy, żeby był w sta­nie ogar­nąć zło­żo­ność swo­je­go pro­duk­tu. Generalnie klient do tego doty­kać się nie powi­nien. I tu się zga­dzam z Panią Konsultant, że jest sto­so­wa­nie UML‑a do wdra­ża­nia SAPa jest prze­ro­stem for­my nad tre­ścią (przy zało­że­niu że trzy­ma­my się stan­dar­du ERP). Nawet przy zało­że­niu, że chce­my UMLem okre­ślić zakres danych jakie prze­twa­rza­my, cza­sa­mi łatwiej i szyb­ciej jest wziąć do ręki kil­ka przy­kła­do­wych doku­men­tów (np. fak­tur). Inaczej jest z BPMNem, cze­go w tej dys­ku­sji mi zabra­kło. W koń­cu UML i BPMN to dwa róż­ne narzę­dzia, do cze­go inne­go stosowane.
    W któ­ryś momen­cie trze­ba pod­jąć decy­zję gdzie, co i po co chce­my wes­przeć sys­te­mem IT. Po to mode­lu­je­my pro­ce­sy np. w BPMN. Wiemy jakie dane prze­twa­rza­my, jaki mają kon­tekst biz­ne­so­wy. Wiedząc jaki jest zakres danych, jak i po co chce­my je prze­twa­rzać, wie­my jaki sys­tem IT jest nam tak napraw­dę potrzeb­ny. A że czę­sto oka­zu­ję się, że sys­tem dane­go dostaw­cy ni jak do tego sche­ma­tu nie pasu­je, to nie ma się co dzi­wić, że kon­sul­tan­ci boją się mode­lo­wa­nia jak ognia.
    Jest jed­nak dru­ga stro­na meda­lu. Myślę, że goto­wy sys­tem moż­na wdro­żyć w gru­pie pro­ce­sów wspo­ma­ga­ją­cych, takich jak np. dla fir­my han­dlo­wej będzie księ­go­wość czy HR. Wiadomo, że każ­da fir­ma musi skła­dać takie same spra­woz­da­nia do US, takie same prze­pi­sy obo­wią­zu­ją jeże­li cho­dzi o roz­li­cze­nie pra­cow­ni­ków itd. (pomi­jam kwe­stię doj­ścia do kosz­tu brut­to wyna­gro­dze­nia). Natomiast tam, gdzie sys­tem IT ma wspie­rać pro­ce­sy głów­ne (core­bu­si­ness) to sta­wiał­bym na sys­tem dedy­ko­wa­ny. W koń­cu jak słusz­nie zauwa­ży­łeś, jak ina­czej zyskać prze­wa­gę kon­ku­ren­cyj­ną? Jeżeli pro­dukt ma być lep­szy lub tań­szy przy tej samej jako­ści, to nie ma cudów- musi być ina­czej wytwa­rza­ny niż u kon­ku­ren­cji. Dlatego też dzi­wi mnie idea korzy­sta­nia z mode­li refe­ren­cyj­nych, w obsza­rach klu­czo­wych dla fir­my. Jest to dobre tam, gdzie może­my sobie pozwo­lić na sko­pio­wa­nie goto­we­go roz­wią­za­nia, ale na pew­no nie tam czym chce­my budo­wać prze­wa­gę konkurencyjną.
    To praw­da, że spraw­ne pro­ce­sy to tyl­ko jeden z ele­men­tów suk­ce­su. Dowodem jest cho­ciaż­by stra­te­gicz­na kar­ty wyni­ków, w któ­rej mamy 4 per­spek­ty­wy. Wdrożenie sys­te­mu IT ma na celu uspraw­nie­nie prze­twa­rza­nia danych, a więc bez­po­śred­nio się­ga do per­spek­ty­wy pro­ce­sów (1 z 4). Perspektywa klien­ta jak dla mnie jest nie mniej waż­na. Ale to temat na inną dyskusję 🙂
    Cieszę się, że zna­la­zła się Konsultantka, któ­ra pod­ję­ła się dys­ku­sji na ten temat. To dobrze o niej świad­czy. Przy oka­zji kolej­ny raz wyszedł przy­kry fakt, że przez wie­le osób UML jest sta­wia­ny na rów­ni z BPMNem. Jak dla mnie to są dwa zupeł­nie róż­ne narzę­dzia, do róż­nych zasto­so­wań. UML nie nada­je się do mode­lo­wa­nia pro­ce­sów, do cze­go został stwo­rzo­ny BPMN, a BPMN nie nada­je się do pro­jek­to­wa­nia oprogramowania.
    Podsumowując moim zda­niem przy­szłość jest w SOA, a sys­te­my dedy­ko­wa­ne spraw­dzą się tyl­ko w gru­pie pro­ce­sów wspo­ma­ga­ją­cych. Jeżeli SOA to bez mode­lo­wa­nia pro­ce­sów i pro­jek­to­wa­nia opro­gra­mo­wa­nia?. To jak budo­wa mostu bez pla­nu archi­tek­to­nicz­ne­go i mode­li pozwa­la­ją­cych symu­lo­wać np. wytrzy­ma­łość, czy wpływ warun­ków atmos­fe­rycz­nych na jego kon­struk­cję. Ciekawe czy kon­sul­tan­ci, któ­rzy tak narze­ka­ją na UMLa i BPMNa chcie­li­by być w roli teste­ra wytrzy­ma­ło­ści mostu, budo­wa­ne­go bez planów ?

    1. Jarek Żeliński

      W zasa­dzie pozo­sta­je mi się zgo­dzić ze wszyst­kim co napi­sa­łeś z jed­nym jed­nak uzu­peł­nie­niem: jeże­li zapa­dła decy­zja o tym, że jakiś goto­wy ERP będzie wdra­ża­ny to fak­tycz­nie pozo­sta­je już tyl­ko usiąść do pra­cy z jego instruk­cją obsłu­gi. Jeżeli jed­nak sto­imy dopie­ro przed potrze­bą doko­na­nia wybo­ru jak roz­wią­zać pro­blem” (może to doty­czyć nawet poje­dyn­czej nowej funk­cjo­nal­no­ści) to war­to naj­pierw ją opi­sać i zapro­jek­to­wać (tu miej­sce na UML/BPMN) a potem przy­ło­żyć” taki pro­jekt do posia­da­ne­go już gotow­ca” i zde­cy­do­wać czy i na ile to pasu­je do jego instruk­cji obsłu­gi” czy nie.

    2. Piotr

      Oczywiście. Dlatego napi­sa­łem, że zaczął­bym od zamo­de­lo­wa­nia fir­my i ziden­ty­fi­ko­wa­nia gdzie jakie dane mamy w obie­gu. Znając ich kon­tekst biz­ne­so­wy i celo­wość wie­my co nam jest tak napraw­dę potrzeb­ne. Jest to żmud­na, bar­dzo pra­co­chłon­na i wyma­ga­ją­ca (rów­nież wie­dzy z zakre­su psy­cho­lo­gii i dyplo­ma­cji 🙂 ) pra­ca. Ale z dru­giej stro­ny cie­ka­wa i potrzeb­na, jeże­li pro­jekt ma mieć uza­sad­nie­nie biznesowe.

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.