Rentowność projektu czyli jego wizja i wykonywalność – należy planować

dashboard

W arty­ku­le o szko­le­niu i ana­li­zie na bazie stan­dar­du IIBA i BABoK napi­sa­łem, że war­to pla­no­wać, pro­jek­to­wać i ana­li­zo­wać, bo wte­dy pro­jek­ty są prze­wi­dy­wal­ne zamiast być lote­rią.” (źr. IIBA czy­li ?jak to nie­któ­rzy robią w Ameryce? | Jarosław Żeliński – rynek IT, ana­li­za biz­ne­so­wa i pro­jek­to­wa­nie sys­te­mów.)

Pisząc to mam świa­do­mość tego, że przy­tła­cza­ją­ca więk­szość dostaw­ców opro­gra­mo­wa­nia wma­wia swo­im klien­tom, że oce­na ren­tow­no­ści jest nie­moż­li­wa w pro­jek­tach IT i nale­ży kupić co dają a nie jęczeć. Niestety wie­lu kupu­ją­cych w to wie­rzy i inwe­stu­je nie raz wie­lo­krot­nie wię­cej niż mia­ło by to eko­no­micz­ny sens.

(moja uwa­ga rok 2019: teraz mogę oce­nić, że więk­szość opro­gra­mo­wa­nia jakie audy­to­wa­łem, mia­ła nawet o rząd wiel­ko­ści wię­cej kodu niż mogła­by mieć!) 

Popatrzmy więc na pierw­szy etap ana­li­zy biz­ne­so­wej, budo­wę wizji pro­jek­tu i oce­nę wyko­ny­wal­no­ści. Pierwszy etap to ana­li­za strategiczna.

Analiza stra­te­gicz­na dzia­łal­no­ści to ana­li­za rela­cji pomię­dzy cela­mi biz­ne­so­wy­mi a biz­ne­so­wy­mi funk­cja­mi wspie­ra­ją­cy­mi je. Wizja roz­wią­za­nia powin­na odno­sić się do szan­sy biz­ne­so­wej i celu biz­ne­so­we­go. Tak więc powin­na powstać wizja reali­za­cji celu biz­ne­so­we­go (a naj­pierw sam cel oczy­wi­ście). Wizja ta naj­czę­ściej jest pew­nym ide­ałem, któ­ry nie zawsze jeste­śmy w sta­nie zre­ali­zo­wać (i czę­sto tak jest). Jednak ide­ał ten nale­ży zde­fi­nio­wać bo sta­no­wi on nasze zro­zu­mie­nie celu biz­ne­so­we­go, celu do któ­re­go fir­ma dąży.

Jak zapew­ne pamię­ta­my z pod­staw mar­ke­tin­gu: wizja fir­my do stan (swój lub swo­je­go oto­cze­nia ryn­ko­we­go), któ­ry postrze­ga­my jako ide­al­ny, misja fir­my to spo­sób dąże­nia do osią­gnię­cia tego celu.

Projekt roz­wo­ju ana­lo­gicz­nie, powi­nien mieć wizję (ide­al­ne roz­wią­za­nie), plan (osią­gal­ne roz­wią­za­nie) i stra­te­gię osią­gnię­cia tego pla­nu. Całość powin­na być osa­dzo­na w budże­cie fir­my i jej rachun­ku prze­pły­wów gotów­ko­wych. I nie cho­dzi jedy­nie o umiesz­cze­nie kosz­tów pro­jek­tu w budże­cie i oce­nę czy fir­ma to wytrzy­ma (meto­da bar­dzo czę­sto for­so­wa­na przez sprze­daw­ców roz­wią­zań IT). Chodzi o to by powią­zać te kosz­ty z odpo­wia­da­ją­cy­mi im przy­cho­da­mi oce­nić zasad­ność ich ponoszenia.

Tak więc mamy trzy ele­men­ty projektu:

  1. stan obec­ny,
  2. wizję
  3. oraz pla­no­wa­ny zakres projektu

W ramach ana­li­zy biz­ne­so­wej powi­nien naj­pierw powstać opis sta­nu obec­ne­go. Opis ten nie musi być kosz­tow­nym mode­lem pro­ce­sów biz­ne­so­wych na stan dzi­siej­szy”. Opracowanie szcze­gó­ło­we­go i kosz­tow­ne­go opi­su sta­nu obec­ne­go nie wie­le wno­si do pro­jek­tu a jest bar­dzo kosz­tow­ne. Stan obec­ny, tak zwa­ny opis as-is, to efekt tego jak poszcze­gól­ni mene­dże­ro­wie zarzą­dza­ją swo­imi zaso­ba­mi, a to zaś jest efek­tem zadań jakie im posta­wio­no. Pastwienie się nad tym bar­dzo rzad­ko wno­si war­to­ści do projektu.

Ważnym ele­men­tem pro­jek­tu jest zde­fi­nio­wa­nie po co to robi­my” i nie powi­nien to być argu­ment bo inni mają”. Benchmarking na tym eta­pie, pole­ga­ją­cy na porów­na­niu zaso­bów jest złym pomy­słem. Porównanie wskaź­ni­ków (czy­li wła­śnie bench­mar­king) nie jest porów­na­niem zaso­bów! Porównując się np. z kon­ku­ren­cją porów­nu­je­my cudze osią­gi z wła­sny­mi, jeże­li mamy taką moż­li­wość, to poza przy­cho­da­mi tak­że kosz­ty itp. Ale porów­na­nie takie to nie jest oce­na czym oni jeż­dżą” a oce­na jak oni jeżdżą”.

Po dru­gie kolej­na mar­ke­tin­go­wa zasada: 

nie da się sko­pio­wać cudze­go biz­ne­su, moż­na co naj­wy­żej usta­wić się obok. To jak w spo­rcie, goniąc kogoś może­my co naj­wy­żej iść po cudzych śla­dach za kimś, ale to nie to samo co zaję­cie cudzej pozy­cji bo to nie moż­li­we tą meto­dą. Wyprzedzanie pole­ga na zmia­nie toru ruchu by obejść konkurenta!

Tak więc pierw­szy krok to wizja. Drugi krok to ana­li­za wyma­gań, trze­ci to usta­le­nie zakre­su pro­jek­tu czy­li opra­co­wa­nie stu­dium wyko­ny­wal­no­ści. Dalej ma miej­sce uszcze­gó­ło­wie­nie pla­nu w zakre­sie projektu.

Określenie obsza­ru ren­tow­no­ści pro­jek­tu. Należy to zro­bić na samym począt­ku przy oka­zji budże­to­wa­nia i ana­li­zy prze­pły­wów gotów­ko­wych. To tu są dane o tym jakim kosz­tem i jakie korzy­ści chce­my osiągnąć.

Gdybyśmy mie­li wstęp­ną spe­cy­fi­ka­cję wyma­gań biz­ne­so­wych, to z każ­dym kolej­nym wyma­ga­niem przy­ra­sta łącz­ny koszt imple­men­ta­cji cało­ści. Korzyści poja­wia­ją się dopie­ro od pew­ne­go miej­sca, pew­ne mini­mum musi być zaim­ple­men­to­wa­ne, żeby sys­tem w ogó­le był przy­dat­ny. Idąc dalej osią­ga­my próg mini­mal­ny: korzy­ści zre­kom­pen­so­wa­ły nakła­dy. W mia­rę imple­men­ta­cji kolej­nych wyma­gań rosną korzy­ści jed­nak od pew­ne­go momen­tu ten wzrost się zała­mu­je. Dalsze ulep­sze­nia powo­du­ją, że koszt ulep­szeń zja­da” powsta­ją­ce korzy­ści. Osiągamy gór­ny próg rentowności.

Po wyko­na­niu takiej ana­li­zy wska­zu­je­my opty­mal­ny zakres pro­jek­tu: miej­sce gdzie bilans korzy­ści jest naj­ko­rzyst­niej­szy. Jest to stan to-be czy­li zapla­no­wa­ny świa­do­mie zakres projektu.

Jak prowadzić taką analizę?

Po pierw­sze nale­ży opra­co­wać spe­cy­fi­ka­cję wyma­gań biz­ne­so­wych. Każde z tych wyma­gań powin­no uzy­skać prio­ry­tet, np.:

  1. Bez nie­go potrze­by biz­ne­so­we nie zosta­ną zrealizowane
  2. Bez nie­go roz­wią­za­nie będzie mia­ło ogra­ni­czo­ną użyteczność
  3. Bez nie­go roz­wią­za­nie zre­ali­zu­je potrzeb­ny w pod­sta­wo­wej, pro­stej formie

To pozwo­li odrzu­cić wyma­ga­nia, któ­re powo­du­ją prze­kro­cze­nie budże­tu ren­tow­no­ści, a któ­re nie powo­du­ją zbyt duże­go pomniej­sze­nia osią­ga­nych korzyści.

Proces ten jest ite­ra­cyj­ny, mając jako model finan­so­wy rachu­nek prze­pły­wów gotów­ko­wych, może­my testo­wać wpływ wyma­gań na koszt pro­jek­tu i jego ren­tow­ność. Aby było to moż­li­we nale­ży w całym pro­ce­sie ana­li­zy wyma­gań pro­wa­dzić testy pro­jek­tu. Polegają one na tak zwa­nym śla­do­wa­niu. Cechy użyt­ko­we roz­wią­za­nia muszą się mapo­wać na potrze­by (cele) biz­ne­so­we. Stałe testo­wa­nie tego mapo­wa­nia to wła­śnie śla­do­wa­nie”. Zakres pro­jek­tu to w efek­cie lista cech pla­no­wa­nych do reali­za­cji w pro­jek­cie (wyma­ga­nych do reali­za­cji wizji). Śladowanie to, w całej doku­men­ta­cji obej­mu­je spraw­dza­nie mapowania:

Potrzeby biz­ne­so­we <?> Cechy użyt­ko­we wizji i zakre­su <?> Wymagania <?> Specyfikacja

Projekt ana­li­zy wyma­gań na każ­dym eta­pie jest testo­wa­ny, wali­do­wa­ny. Walidacja to spraw­dze­nie czy wyma­ga­nia są wła­ści­we. Kolejnym kro­kiem jest wyspe­cy­fi­ko­wa­nie roz­wią­za­nia. Zależnie od pro­jek­tu (może to być pro­jekt zmian orga­ni­za­cyj­nych, pro­jekt wdro­że­nia nowe­go opro­gra­mo­wa­nia) wali­do­wa­ne są wyma­ga­nia np. na nowy, pro­ce­so­wy sys­tem zarzą­dza­nia fir­mą (np. wyma­ga­nia w sto­sun­ku do nowej struk­tu­ry orga­ni­za­cyj­nej) albo na nowe opro­gra­mo­wa­nie wspo­ma­ga­ją­ce zarzą­dza­nie (np. ERP). Weryfikacja to testo­wa­nie roz­wią­za­nia, okre­śle­nie czy roz­wią­za­nie speł­nia wymagania.

Walidacja wymagań

Walidacja pole­ga na prze­te­sto­wa­niu czy nasze wyma­ga­nia zaspo­ka­ja­ją reali­za­cję celu biz­ne­so­we­go. Aby taki test prze­pro­wa­dzić, nale­ży zbu­do­wać model fir­my, któ­ry będzie­my testo­wa­li (raczej nie ma sen­su robie­nie tego na żywym cie­le”, było by to bar­dzo kosz­tow­ne). Te mode­le tu, to nic inne­go jak mode­le pro­ce­sów biz­ne­so­wych. Jednak model pro­ce­su to nie model wszyst­kie­go co się dzie­je”. Model pro­ce­su do testów to wewnętrz­ny model prze­pły­wu wartości”.

Modelujemy wyłącz­nie pro­ce­sy (prze­pływ pra­cy), nie pro­ce­du­ry, nie zakre­sy obo­wiąz­ków i nie kom­pe­ten­cje czy regu­ły biz­ne­so­we. Pozostałe szcze­gó­ły to obszar zarzą­dza­nia zaso­ba­mi czy zakre­sa­mi kom­pe­ten­cji (tu wię­cej o mode­lo­wa­niu). Mając popraw­ny model pro­ce­sów, może­my prze­te­sto­wać każ­de wyma­ga­nie i jego wpływ na procesy.

Biznesowa spe­cy­fi­ka­cja wyma­gań opi­su­je tak zwa­ną czar­ną skrzyn­kę”, czy­li nie zna­ne nam od środ­ka roz­wią­za­nie. Wymagania na tym eta­pie to tak zwa­ne przy­pad­ki uży­cia. Walidacja pole­ga wyłącz­nie na mapo­wa­niu (śla­do­wa­niu) celów biz­ne­so­wych na te wymagania.

Weryfikacja roz­wią­za­nia

Kolejny, ostat­ni etap ana­li­zy biz­ne­so­wej to wer­sy­fi­ka­cja roz­wią­za­nia. Mając tak zwa­li­do­wa­ną listę wyma­gań (tak zwa­ną Specyfikację Wymagań Biznesowych) może­my zabrać się za wery­fi­ka­cję roz­wią­za­nia. Tu sce­na­riusz wyglą­da tak:

  1. zapra­sza­my do skła­da­nia ofert dostaw­ców goto­we­go opro­gra­mo­wa­nia prze­ka­zu­jąc im spe­cy­fi­ka­cje wymagań,
  2. dostaw­ca pra­cu­jąc nad ofer­tą wery­fi­ku­je na ile jego roz­wią­za­nie speł­nia wyma­ga­nia (wyko­nu­je tak zwa­ną [[ana­li­zę gap/fit]]), powi­nien przed­sta­wić listę tak lub nie speł­nia­nia wyma­gań i swo­ją wycenę,
  3. jeże­li na tym eta­pie, ofer­ty są nie­sa­tys­fak­cjo­nu­ją­ce, opra­co­wu­je­my spe­cy­fi­ka­cję każ­dej funk­cjo­nal­no­ści (każ­de­go wyma­ga­nia) czy­li pro­jek­tu­je­my roz­wią­za­nie, któ­re­go nie zna­leź­li­śmy na rynku.

Na tym eta­pie zapa­da decy­zja o archi­tek­tu­rze roz­wią­za­nia: podział na ele­men­ty (pod­sys­te­my) goto­we i dedy­ko­wa­ne. Dedykowane muszą zostać zapro­jek­to­wa­ne. Projekty te (mode­le) są tak­że wery­fi­ko­wa­ne.

Kolejny etap to zapy­ta­nie o ofer­ty na reali­za­cję zapro­jek­to­wa­nych pod­sys­te­mów. W przy­pad­ku pro­jek­tów IT kom­plet­ne wyma­ga­nia to: przy­pad­ki uży­cia, regu­ły biz­ne­so­we, ogra­ni­cze­nia (wyma­ga­nia poza­funk­cjon­la­ne). Zaleca się (nie umiesz­czo­no na dia­gra­mie) uzu­peł­nie­nie mode­lu pro­ce­sów o tak zwa­ną taksonomię.

Jeżeli poja­wi się potrze­ba zapro­jek­to­wa­nia dedy­ko­wa­ne­go roz­wią­za­nia, poja­wi się model dzie­dzi­no­wy sys­te­mu wraz z uszcze­gó­ła­wia­ją­cy­mi go dia­gra­ma­mi sta­nów. Weryfikacja tej czę­ści spe­cy­fi­ka­cji pole­ga na tak zwa­nym testo­wa­niu bia­łej skrzyn­ki” czy­li pro­jek­tu roz­wią­za­nia. Tu są to dia­gra­mu sekwen­cji UML.

Całość pro­ce­su ana­li­zy i wery­fi­ka­cji bazu­je na opi­sa­nej już wcze­śniej Analizie Systemowej. Jeżeli zaś ktoś pro­po­nu­je jako wynik ana­li­zy wyma­gań, nie­we­ry­fi­ko­wal­ne wie­lo­stro­ni­co­we opi­sy w rodza­ju user sto­ry lub wypunk­to­wa­ne listy jako wyni­ki wywia­dów, burzy mózgów czy sesji JAD, to war­to mieć świa­do­mość, że to bar­dzo ryzy­kow­ne, bo nie­we­ry­fi­ko­wal­ne i nie­te­sto­wal­ne dokumenty.

Specyfikacja zawie­ra­ją­ca set­ki wypunk­to­wa­nych szcze­gó­ło­wo wyma­gań to nic inne­go jak nie­zro­zu­mie­nie fak­tu, że lista taka nie pod­da­je się żad­nym wali­da­cjom, a dla dostaw­cy goto­we­go opro­gra­mo­wa­nia jest bez­war­to­ścio­wa z uwa­gi na zbyt­nią szcze­gó­ło­wość. Z taka listą ana­li­za gap/fit wyka­że pra­wie cał­ko­wi­tą nie­zgod­ność z tym co ma w ofer­cie i u zde­spe­ro­wa­ne­go dostaw­cy wyge­ne­ru­je ofer­tę na tak zwa­ne kasto­mi­za­cje, te zaś zabi­ją budżet projektu.

Czy to warte zachodu

Praktyka takich ana­liz poka­zu­je, że pro­por­cje pro­jek­tów: ana­li­za i pro­jek­to­wa­nie vs. reali­za­cja, mają nastę­pu­ją­cą postać (dane sko­ry­go­wa­ne dla pro­jek­tów zna­nych auto­ro­wi w Polsce):

1. Czasowo: 50/50% (dane z USA: 75/25),

2. Kosztowo: 20 – 30/80 – 70% (dane z USA: 50/50, roz­rzut zale­ży od stop­nia zło­żo­no­ści dzie­dzi­ny systemu),

(zależ­nie od spe­cy­fi­ki pro­jek­tu i jego zło­żo­no­ści mogą poja­wić się pew­ne odstęp­stwa). Tak więc jak bume­rang wra­ca ta sama war­tość pro­go­wa pro­jek­tów, dla któ­rych war­to takie ana­li­zy robić. Jeżeli uzna­my, że opi­sa­na tu ana­li­za wyma­ga pew­nych nie­ma­łych kom­pe­ten­cji i doświad­cze­nia oraz pew­ne­go mini­mal­ne­go cza­su jaki nale­ży poświę­cić na zba­da­nie i opra­co­wa­nie mode­lu fir­my to jej koszt zaczy­na się od kil­ku­na­stu tysię­cy, daj­my na to 15 tys. W takim razie budżet całe­go pro­jek­tu powi­nien wymo­ści co naj­mniej 5 x 15 = 75 tys. zł. (pamię­ta­my, że koszt ana­li­zy to 20% war­to­ści pro­jek­tu). Analiza taka (dla tego nie­skom­pli­ko­wa­ne­go przy­pad­ku) wraz z pro­jek­to­wa­niem trwa, bio­rąc pod uwa­gę czas ocze­ki­wa­nia na przy­go­to­wy­wa­nie danych przez fir­mę ana­li­zo­wa­ną, ok. jed­ne­go miesiąca.

Ktoś może zarzu­cić powyż­szej kal­ku­la­cji nie­re­ali­zo­wal­ność wdro­że­nia w takim cza­sie. Odpowiem z prak­ty­ki tak: wdro­że­nia sys­te­mów ERP pozba­wio­ne eta­pu tak zwa­nej kasto­mi­za­cji” są bar­dzo spraw­ne. Koszty kasto­mi­za­cji zaś to nawet 75% kosz­tów całe­go wdro­że­nia (war­to popa­trzeć na ofer­ty, a moż­na tych kosz­tów uniknąć!).

Firmy pro­gra­mi­stycz­ne mają­ce dobry pro­jekt reali­zu­ją go i odda­ją do użyt­ku z regu­ły już w pierw­szym podej­ściu. Tak zwa­ne pro­to­ty­py, testy, odkry­wa­nie wyma­gań itp. to cechy pra­cy na źle, zbyt ogól­nie i bez testo­wa­nia (np. tak zwa­ne user sto­ry) okre­ślo­nych wyma­ga­niach. Jeżeli pro­jekt jest już wyko­na­ny i prze­te­sto­wa­ny na eta­pie ana­li­zy i wery­fi­ka­cji, fir­ma pro­gra­mi­stycz­na musi tyl­ko wyko­nać implementacje.

Jeżeli ktoś mimo to zaprze­cza powyż­sze­mu to musi mieć świa­do­mość, że negu­je potwier­dzo­ne doko­na­nia ostat­nich 20 lat wie­lu dobrych firm ana­li­tycz­nych na świe­cie, a od nie­daw­na tak­że w Polsce. Działalność IIBA i jej człon­ko­wie są na to żywym dowo­dem (na dowód mam tak­że swo­je referencje).

Dlaczego takich ana­liz wyko­nu­je się mało? No cóż, nie są one w inte­re­sie dostaw­cy, któ­ry twier­dzi, że jego sys­tem np. ERP jest na pew­no dobry”. Po dru­gie wie­le firm kupu­ją­cych opro­gra­mo­wa­nie uzna­je, że ich nie doty­czy ryzy­ko pro­jek­to­we i pomi­ja­ją ana­li­zy, a te są prze­cież niczym innym jak obni­że­niem ryzy­ka nie­po­wo­dze­nia takich pro­jek­tów. Pamiętajmy, że ponad 80% pro­jek­tów wdro­że­nio­wych w IT to pro­jek­ty z sil­nie prze­kro­czo­ny­mi budże­ta­mi i ter­mi­na­mi, część z nich (sza­cu­je się je na ok. 16%) to pro­jek­ty zanie­cha­ne z tego powodu.

Każdy z Państwa sam musi sobie odpo­wie­dzieć na pyta­nie: czy 20% budże­tu jest war­te tego by chro­nić pozo­sta­łe 80%.

(źr. bada­nia Cortex), dostęp 2011)

Analiza przedwdrożeniowa ? czym jest

Praktycznie każ­dy klient pyta mnie:

Czy wybra­ny dostaw­ca opro­gra­mo­wa­nia będzie prze­pro­wa­dzał wła­sną ana­li­zę pod kątem wdro­że­nia z Pana aktyw­nym udziałem?

Na co zawsze odpo­wia­dam, że:

Dostawca skła­da ofer­tę w odpo­wie­dzi na otrzy­ma­ne zapy­ta­nie, zawie­ra­ją­ce mię­dzy inny­mi Raport z Analizy Biznesowej oraz Wymagania. Wybrany Dostawca jako pierw­szy krok, na pod­sta­wie doku­men­tów jakie otrzy­mał, opra­co­wu­je Koncepcję Wdrożenia. Koncepcja Wdrożenia to doku­ment opi­su­ją­cy to, jak Dostawca pla­nu­je prze­pro­wa­dzić wdro­że­nie swo­je­go pro­duk­tu, czy­li jak speł­ni Wymagania. Składając ofer­tę Dostawca potwier­dził, że jest w sta­nie wdro­żyć Rozwiązanie i speł­nić Wymagania, więc jakie­kol­wiek powta­rza­nie ana­li­zy fir­my Zamawiającego nie ma pra­wa się wyda­rzyć. Wszelkie infor­ma­cje potrzeb­ne do opra­co­wa­nia Koncepcji Wdrożenia, Dostawca czer­pie z tre­ści otrzy­ma­ne­go Raportu z Analizy Biznesowej [z mate­ria­łów dostar­czo­nych przez Zamawiającego], w razie dodat­ko­wych pytań, Raport ten jest uzu­peł­nia­ny [przez jego auto­ra w ramach nad­zo­ru autor­skie­go]. Jeżeli dodat­ko­we pyta­nia tego wyma­ga­ją, mają miej­sce dodat­ko­we kon­sul­ta­cje moje [auto­ra ana­li­zy] z Zamawiającym. Takie podej­ście mini­ma­li­zu­je wszel­kie (nie­ste­ty bar­dzo czę­ste) pró­by wpły­wu i per­swa­zji Dostawcy na Zamawiającego w celu nie­kon­tro­lo­wa­ne­go [przez Zamawiającego] wpły­wu na Wymagania.

Podsumowując: nie ma żad­ne­go powo­du, by Dostawca pro­wa­dził (powta­rzał) jaką­kol­wiek ana­li­zę”, opra­co­wu­je Koncepcję Wdrożenia, po jej zatwier­dze­niu reali­zu­je ją. Bardzo waż­ne! Umowa powin­na zawie­rać klau­zu­lę, gwa­ran­tu­ją­cą obu stro­nom moż­li­wość roz­wią­za­nia umo­wy w przy­pad­ku bra­ku poro­zu­mie­nia co do tre­ści Koncepcji Wdrożenia. (źró­dło: Jarosław Żeliński – Analizy i Badania Systemowe orga­ni­za­cji)

________

Tak więc ana­li­za przed­wdro­że­nio­wa to jest jakaś pra­ca, jej pro­duk­tem mogą być róż­ne tre­ści. Dlatego wła­śnie war­to pytać wyko­naw­cę takiej ana­li­zy o to, co będzie jej pro­duk­tem i do cze­go on posłu­ży. (źr. Wymagania na opro­gra­mo­wa­nie ERP a ana­li­za przed­wdro­że­nio­wa ? gdzie róż­ni­ca?).

Metodyk wdro­że­nio­wych jest tyle ilu dostaw­ców sys­te­mów i ana­li­ty­ków. Ich prze­gląd pozwa­la je jed­nak uogól­nić do nastę­pu­ją­cej postaci:

  1. Analiza przed­wdro­że­nio­wa.
  2. Opracowanie kon­cep­cji wdrożenia.
  3. Wdrożenie.

Z opi­sów wyni­ka, że pierw­szy etap to naj­czę­ściej wywia­dy (warsz­ta­ty) z pra­cow­ni­ka­mi, w ich wyni­ku powsta­je spe­cy­fi­ka­cja wyma­gań. Równolegle lub póź­niej powsta­je (naj­czę­ściej z udzia­łem kadr IT zama­wia­ją­ce­go) doku­ment: wyma­ga­nia poza­fun­cjo­nal­ne (inter­fej­sy, wydaj­no­ści, plat­for­ma, bez­pie­czeń­stwo itp..). Najczęściej dostaw­cy opro­gra­mo­wa­nia piszą, że:

Nasi kon­sul­tan­ci zbie­ra­ją od przed­sta­wi­cie­li fir­my infor­ma­cje o tym, jakie zada­nia ma reali­zo­wać apli­ka­cja (co?), a następ­nie przed­sta­wia­ją naj­efek­tyw­niej­sze roz­wią­za­nia funk­cjo­nal­ne i tech­nicz­ne (jak?) wraz z har­mo­no­gra­mem ich reali­za­cji (kie­dy?).

Kolejny przy­kład:

Koncepcja wdro­że­nia sys­te­mu, pod­czas któ­rej szko­li­my Grupę wdro­że­nio­wą, przy­go­to­wu­je­my listy wyma­ga­nych rapor­tów, wzo­rów doku­men­tów, instruk­cji robo­czych, opra­co­wu­je­my kon­cep­cję migra­cji danych i przy­go­to­wu­je­my pro­ce­du­ry pra­cy. (dostaw­ca oprogramowania)

Tu już temat wyma­gań spadł z listy, po pro­stu apli­ka­cja ma być, a mar­twi­my się się jak to zro­bić by była. Inny pomysł, dostaw­ca idzie jesz­cze dalej – cel jest taki sam zawsze:

…pro­po­nu­je­my zwy­kle pew­ne spraw­dzo­ne roz­wią­za­nia, któ­re przy­nio­są Klientowi mie­rzal­ne korzy­ści. Każde wdro­że­nie trak­tu­je­my indy­wi­du­al­nie, ale cel zawsze jest taki sam – wdro­żyć sys­tem w zakła­da­nym przez Klienta zakre­sie i cza­sie oraz przy kosz­tach nie wyż­szych niż planowane

Tak na praw­dę dostaw­cy opro­gra­mo­wa­nia z regu­ły od razu zaczy­na­ją od punk­tu: kon­cep­cja wdro­że­nia sys­te­mu XXX. Pojawia się czę­sto poję­cie spraw­dzo­ne roz­wią­za­nia. I nigdy nie wiem co to jest: wzo­rzec pro­jek­to­wy czy model refe­ren­cyj­ny. Pierwszy jest tyl­ko meto­dą (nadal nie mamy roz­wią­za­nia), dru­gi to naj­czę­ściej kopia pomy­słu poprzed­nie­go klienta.

Nie zmie­rzam do kry­ty­ki tego podej­ścia, chce poka­zać, że to natu­ral­na, z per­spek­ty­wy dostaw­ców opro­gra­mo­wa­nia, kon­cep­cja, bo biz­ne­so­wy cel każ­dej z tych firm to sprze­daż i wdra­ża­nie ofe­ro­wa­nych przez sie­bie produktów.

Do czego zmierzam?

Do tezy, mówią­cej: sko­ro dostaw­cy opro­gra­mo­wa­nia zaczy­na­ją od opra­co­wa­nia kon­cep­cji wdro­że­nia swo­je­go pro­duk­tu, to ktoś powi­nien przed nimi opra­co­wać w ramach ana­li­zy przed, spe­cy­fi­ka­cję potrzeb. Aby powsta­ła spe­cy­fi­ka­cja potrzeb powi­nien ktoś zde­fi­nio­wać pro­blem, wska­zać moż­li­we roz­wią­za­nia i oce­nić ich wykonywalność.

Nie ma tak­że sen­su szu­ka­nie pro­ble­mu na siłę tyl­ko po to, by wdro­żyć jakieś opro­gra­mo­wa­nie bo jego sprze­daw­ca tak chce. Dostawcy goto­we­go opro­gra­mo­wa­nia powin­ni się w koń­cu pogo­dzić z pro­stym ryn­ko­wym fak­tem: to oni są wybie­ra­ni a nie oni wybie­ra­ją, dokład­nie tak jak każ­dy inny pro­dukt na rynku.

Analiza systemowa jako analiza przedwdrożeniowa

Posłużmy się czymś takim jak Klasyczna ana­li­za systemowa.

Analiza sys­te­mo­wa to dzie­dzi­na wie­dzy doty­czą­ca pozna­nia ukła­dów orga­ni­za­cyj­nych i spo­so­bów ich dzia­ła­nia. Umożliwia łącze­nie dorob­ku róż­nych dzie­dzin nauki wokół wybra­nych pro­ble­mów. Ma cha­rak­ter inter­dy­scy­pli­nar­ny i syn­te­ty­zu­ją­cy, słu­żąc pro­jek­to­wa­niu przy­szłych struk­tur i dzia­łań w opar­ciu o kry­te­ria spraw­no­ścio­we. Doskonali i upo­wszech­nia skwan­ty­fi­ko­wa­ne meto­dy ana­li­zy wyko­rzy­stu­jąc meto­dę mode­lo­wa­nia mate­ma­tycz­ne­go i teo­re­tycz­ne kon­struk­cje odzwier­cie­dla­ją­ce w uprosz­czo­ny spo­sób rze­czy­wi­stość. Badania ope­ra­cyj­ne sta­no­wią pod­sta­wę ana­li­zy sys­te­mo­wej. Analiza sys­te­mo­wa ? to sztu­ka pozna­wa­nia i okre­śla­nia sys­te­mów dro­gą budo­wa­nia modeli.

Występujące w ota­cza­ją­cym nas świe­cie zja­wi­ska np. przy­rod­ni­cze, spo­łecz­ne, gospo­dar­cze, tech­nicz­ne, bez wzglę­du na ich rodzaj, zwy­kło się w potocz­nym rozu­mie­niu nazy­wać sys­te­ma­mi. Za sys­te­my uwa­ża się rów­nież kon­struk­cje abs­trak­cyj­ne, takie jak licz­by, infor­ma­cje, poję­cia, zada­nia, teo­rie. Analogicznie jako sys­tem trak­tu­je się tak­że zbio­ro­wo­ści wska­za­nych wyżej towa­rów kon­kret­nych i abs­trak­cyj­nych. (źr.http://​mfi​les​.pl/​p​l​/​i​n​d​e​x​.​p​h​p​/​A​n​a​l​i​z​a​_​s​y​s​t​e​m​owa)

Produkty pośred­nie i koń­co­wy takiej analizy:

  1. Ograniczenia, cele, kryteria
  2. Opis warian­tów
  3. Scenariusze i ich skutki
  4. Rekomendacje jako wynik analizy

Jakich pro­duk­tów nale­ża­ło by ocze­ki­wać w ana­li­zie przed­wdro­że­nio­wej czy­li, jak sama nazwa wska­zu­je, poprze­dza­ją­cej jakie­kol­wiek wdro­że­nie. Ano, bazu­jąc na pro­duk­tach kla­sycz­nej ana­li­zy systemowej:

  1. Opis aktu­al­nej sytu­acji fir­my i cel jaki chce zrealizować
  2. Opis i oce­nę moż­li­wych warian­tów reali­za­cji tego celu.
  3. Analiza sce­na­riu­szy dla każ­de­go warian­tu, mate­ria­łem do pra­cy tu są mode­le orga­ni­za­cji ana­li­zo­wa­nej (tu są i po to mode­le pro­ce­sów biz­ne­so­wych), moż­li­we, że jed­ną z metod osią­gnię­cia celu jest ich optymalizacja.
  4. W wyni­ku ana­li­zy wyni­ków tych testów (pro­of-of-con­cept) mamy reko­men­da­cje, to one zawie­ra­ją listę tego czym powin­no się cha­rak­te­ry­zo­wać opro­gra­mo­wa­nie, jeże­li oka­że się, że to moż­li­wy spo­sób na reali­za­cje celu (bo nie koniecznie).

Tak więc, gdy­by uzna­no, że nale­ży kupić i wdro­żyć opro­gra­mo­wa­nie to nale­ży doko­nać jego wybo­ru. Mając mode­le (pro­ce­sy i tak­so­no­mie) poka­zu­je­my je dostaw­cy opro­gra­mo­wa­nia i pyta­my czy jego pro­dukt pasu­je do nasze­go mode­lu. Może paso­wać w czę­ści lub cało­ści. Po oce­nie kil­ku takich ofert:

  1. Znajdujemy opro­gra­mo­wa­nie pasu­ją­ce do całe­go nasze­go mode­lu i wdrażamy.
  2. Znajdujemy opro­gra­mo­wa­nie pasu­ją­ce tyl­ko do czę­ści nasze­go mode­lu, wybie­ra­my naj­lep­sze. Dla pozo­sta­łych potrzeb wyko­nu­je­my pro­jekt ich logi­ki: to pro­jekt budo­wy (mecha­nizm dzia­ła­nia) bra­ku­ją­ce­go modu­łu, usłu­gi apli­ka­cyj­nej lub odręb­nej aplikacji.

Mamy więc ana­li­zę biz­ne­so­wą i spe­cy­fi­ko­wa­nie wyma­gań poprzez opra­co­wa­nie wery­fi­ko­wal­nych mode­li a nie tyl­ko listę potrzeb, któ­rej nie­ste­ty nie da się zwe­ry­fi­ko­wać co do kom­plet­no­ści i spój­no­ści bo nie ma narzę­dzia spraw­dza­ją­ce­go. Co jest takim narzę­dziem? Ano mode­le i to, że powsta­ły (jeże­li powsta­ły) przy pomo­cy sfor­ma­li­zo­wa­nej notacji.

Projekt taki ma trzy wyróż­nio­ne eta­py i pro­duk­ty zara­zem. Pierwszy, ana­li­za biz­ne­so­wa, to two­rze­nie mode­lu pro­ce­sów biz­ne­so­wych i tak­so­no­mii orga­ni­za­cji. Celem tego eta­pu jest stwo­rze­nie mode­li, któ­re w dal­szej czę­ści prac nie­ja­ko zastą­pią nam fir­mę (opi­su­ją ja w spo­sób kom­plet­ny). Są one zawsze testo­wa­ne a jeże­li zaj­dzie taka potrze­ba, tak­że opty­ma­li­zo­wa­ne. Jest to klu­czo­wy etap całej ana­li­zy przed­wdro­że­nio­wej. Są to pod­sta­wo­we mode­le, posłu­żą do testo­wa­nia hipo­tez (sce­na­riu­szy) opi­su­ją­cych cele biz­ne­so­we i ren­tow­ność (patrz wcze­śniej­szy opis ana­li­zy sys­te­mo­wej) a póź­niej będą pod­sta­wą ewen­tu­al­ne­go pro­jek­to­wa­nia oprogramowania.

Kolejny etap to spe­cy­fi­ko­wa­nie wyma­gań. Rzadko kie­dy daje się dostaw­com opro­gra­mo­wa­nia model pro­ce­so­wy z uwa­gi na to, że nie pre­cy­zu­je on dokład­nie zakre­su pro­jek­tu (opi­su­je cała fir­mę). Dlatego dla dostaw­cy opro­gra­mo­wa­nia two­rzy się Specyfikacje Wymagań, powsta­je ona w języ­ku dostaw­cy. Zależnie od kon­wen­cji powsta­je spe­cy­fi­ka­cja zawie­ra­ją­ca: opis kon­cep­cji roz­wią­za­nia, sta­no­wi ona opis i kon­tekst cało­ści. Kolejnym ele­men­tem są wyma­ga­nia funk­cjo­nal­ne (usłu­gi apli­ka­cji, jej przy­pad­ki uży­cia) i ich ogra­ni­cze­nia (ja raczej nie sto­su­je ter­mi­nu wyma­ga­nia poza­funk­cjo­nal­ne). Ograniczenia są koja­rzo­ne z poszcze­gól­ny­mi wyma­ga­nia­mi a uogól­nia­ne na całość. W tej czę­ści sto­su­ję mode­le przy­pad­ków uży­cia (nota­cja UML).

Ostatni etap to pro­jek­to­wa­nie. Polega na prze­pro­wa­dze­niu ana­li­zy obiek­to­wej i zapro­jek­to­wa­niu kon­cep­cji archi­tek­tu­ry roz­wią­za­nia oraz opra­co­wa­nia mode­lu dzie­dzi­ny czy­li mode­lu reali­za­cji logi­ki biz­ne­so­wej pzrez przy­pad­ki uży­cia (patrz wcze­śniej­sze artykuły).

Analizę biz­ne­so­wą wyko­nu­je zawsze z powo­dów chy­ba oczy­wi­stych. Specyfikowanie wyma­gań, jeże­li przed­mio­tem pro­jek­tu będzie opro­gra­mo­wa­nie. Projektowanie doty­czy tych ele­men­tów, któ­re nie zna­la­zły się w goto­wym opro­gra­mo­wa­niu i potrzeb­ne są dedy­ko­wa­ne podsystemy.

Czy to kosz­tow­na meto­da? Z moich wyli­czeń ryzy­ka finan­so­we­go wyni­ka, że pro­go­wą war­to­ścią jest budżet na cały pro­jekt rzę­du ok. 75 tys. zaś ana­li­za jest usta­lo­nym pro­cen­tem tej war­to­ści (odzwier­cie­dla postrze­ga­ne ryzy­ko projektu).

Dla dostaw­ców powsta­je tu klu­czo­we ryzy­ko: ich pro­dukt może, w czę­ści lub cało­ści, nie speł­niać wyma­gań okre­ślo­nych przez model fir­my i spe­cy­fi­ka­cję wyma­gań. Może się oka­zać się, że ich pro­dukt zupeł­nie nie nada­je się dla tej kon­kret­nej fir­my. Dlatego dostaw­cy czę­sto od razu suge­ru­ją opra­co­wa­nie kon­cep­cja wdro­że­nia, któ­ra tak na pra­we jest stu­dium moż­li­wo­ści wdro­że­nia kon­kret­ne­go pro­duk­tu, w kon­se­kwen­cji powsta­je lista tego co wyma­ga mody­fi­ka­cji i lista tego co nie zosta­nie zre­ali­zo­wa­ne. Produkt goto­wy z defi­ni­cji ma ogra­ni­cze­nia wdro­że­nio­we bo jest, mimo dekla­ro­wa­nej para­me­try­za­cji, goto­wym pro­duk­tem a nie narzę­dziem pro­gra­mi­stycz­nym. Z tego powo­du moim zda­niem, moż­na już zauwa­żyć na ryn­ku pakie­ty ERP zmie­rza­ją­ce w stro­nę bycia śro­do­wi­skiem pro­gra­mi­stycz­nym. Tu warun­kiem ich podat­no­ści na zmia­ny jest to, czy wewnętrz­na inte­gra­cja reali­zo­wa­na jest poprzez współ­dzie­le­nie danych czy poprzez ich wymia­nę (pomię­dzy modu­ła­mi). Pierwsza meto­da w moich oczach dys­kwa­li­fi­ku­je pro­dukt, bo prak­tycz­nie jego mody­fi­ko­wal­ność jest bar­dzo ograniczona.

Czy dostaw­ca opro­gra­mo­wa­nia może wyko­nać tak opi­sa­ną ana­li­zę? Może. A może sam kupu­ją­cy? Też może. więc o co cho­dzi? O posia­da­ne kom­pe­ten­cje i ryzy­ko bra­ku obiektywizmu:

analityk wymagan
analityk biznesowy

Bardzo czę­sto spo­ty­kam się ze sto­so­wa­niem nor­my IEEE opi­su­jąc spe­cy­fi­ka­cję wyma­gań (napi­sa­łem o tym dwa lata temu, prze­czy­taj). Norma ta, IEEE830-1998, jed­nak w żad­nym stop­niu nie opi­su­je jak spe­cy­fi­ka­cja ma powstać, opi­su­je tyl­ko co ma zawie­rać doku­ment i zwra­ca uwa­gę, że doku­ment powi­nien być spój­ny a wyma­ga­nia wery­fi­ko­wal­ne, opi­su jak to osią­gnąć nie ma.

Problemem jest nie to, jak zapi­sać wyma­ga­nia, bo to mały pro­blem, a to skąd je wziąć.

Inny cytat na koniec:

jest wie­le metod, narzę­dzi, spo­so­bów zapi­su i mode­lo­wa­nia wyma­gań, pew­nie mogli­by­śmy dłu­go się sprze­czać, któ­re są lep­sze, a któ­re gor­sze. Chodzi jed­nak tak napraw­dę o war­to­ści jaki­mi powin­ni­śmy się kie­ro­wać spe­cy­fi­ku­jąc wyma­ga­nia – powin­ny one być zro­zu­mia­łe dla przy­szłych czy­tel­ni­ków, powin­ny być jed­no­znacz­ne, spój­ne, wery­fi­ko­wal­ne, łatwe do zmia­ny, kom­plet­ne i popraw­ne. (źr. Blog O wymaganiach)

_____

(aktu­ali­za­cja: 2016-10-03)

Obecnie już widać, że naj­sku­tecz­niej­szą for­mą doku­men­to­wa­nia wyma­gań, prze­ka­zy­wa­nych dostaw­cy roz­wią­za­nia, jest opra­co­wa­nie pro­jek­tu. Dokładnie tak jak w każ­dej innej inży­nie­rii”. Słowny i para-słow­ny (tabel­ki itp.) opis koła zęba­te­go nigdy nie zastą­pi rysun­ków technicznych…