Statystyka kosztów projektów IT

A jeżeli klient nie ma kompetencji do wykonania analizy

Ostatni arty­kuł szyb­ko zaowo­co­wał pytaniem:

A jeże­li klient nie ma kom­pe­ten­cji do opi­sa­nia pro­jek­tu i musi kogoś z taki­mi kom­pe­ten­cja­mi wyna­jąć, to jak usta­lić cenę za tę usłu­gę? (pyta­nie do arty­ku­łu Budżet na pro­jekt IT).

Jeżeli klient nie ma kom­pe­ten­cji do opi­sa­nia pro­jek­tu (z regu­ły tak jest, fir­my utrzy­mu­ją kom­pe­ten­cje nie­zbęd­ne do bie­żą­ce­go funk­cjo­no­wa­nia) to powi­nien po pierw­sze oce­nić co chce osią­gnąć. Klient powi­nien co naj­mniej opi­sać po co to robi, np. chcę zwięk­szyć sprze­daż do koń­ca roku o 10%, albo chcę uspraw­nić pro­duk­cję i obni­żyć jej kosz­ty o 15% w cią­gu dwóch lat, itp. Z tych pro­cen­tów, zna­jąc war­tość sprze­da­ży czy kosz­ty pro­duk­cji, łatwo osza­co­wać pro­go­wy budżet sen­su tego pro­jek­tu. Bywa, że to trud­ne, wte­dy cza­sa­mi łatwiej oce­nić ile stra­cę w cią­gu roku jeśli nie wpro­wa­dzę tej zmia­ny”. Jednak kon­kret­na war­tość powin­na być określona.

Wycena kosz­tów ana­li­zy może być usta­le­niem sta­łej kwo­ty, będą­cej oce­nio­ną pra­co­chłon­no­ścią i roz­li­cze­nio­wym kosz­tem dnia ana­li­ty­ka (tu jed­nak ktoś musi tę pra­co­chłon­ność okre­ślić). Można opi­sać pro­dukt, to jest ocze­ki­wa­ną treść doku­men­tu wyma­gań, kto ma to jed­nak zro­bić sko­ro klient tego wła­śnie nie wie. Tu moż­na posłu­żyć się stan­dar­da­mi, np. uznać, że pro­duk­tem ana­li­zy wyma­gań jest doku­ment o zawar­to­ści opi­sa­nej przez IIBA (tu powin­ny powstać: mode­le pro­ce­sów całej fir­my, model dzie­dzi­ny sys­te­mu, opis zakre­su pro­jek­tu, spe­cy­fi­ka­cja przy­pad­ków uży­cia i ich ogra­ni­czeń, spe­cy­fi­ka­cja reguł biz­ne­so­wych) jed­nak do usta­le­nia jest cel ana­li­zy a z tego wyni­ka jej sto­pień szcze­gó­ło­wo­ści. Potem szu­ka­my wyko­naw­cy takie­go opracowania.

Druga meto­da to czy­sta ana­li­za ryzy­ka i wyna­gro­dze­nie typu suc­cess-fee (pre­mia za korzy­ści). Klient na ile potra­fi i jak, opi­su­je swo­je potrze­by i wysy­ła takie wstęp­ne zapy­ta­nie w rynek. Zbiera ofer­ty i obli­cza np. media­nę (media­na jest bez­piecz­niej­sza od [[pro­stej śred­niej aryt­me­tycz­nej]]) ich war­to­ści. Tu mamy ryzy­ko, że nie­pro­fe­sjo­nal­nie” opi­sa­ne wyma­gań ręka­mi klien­ta wymu­szą (i słusz­nie) na ofe­ren­tach narzu­ty na ryzy­ka tak opi­sa­nych wyma­gań. Jeżeli uzna, że te kosz­ty mają sens w jego pro­jek­cie, idzie dalej. Ustala z ana­li­ty­kiem, że potrzeb­ny mu doku­ment, któ­re­go nie potra­fi sam opra­co­wać, koszt jego opra­co­wa­nia usta­la się z góry na 10% war­to­ści media­ny dotych­cza­so­wych. Kolejny etap to wyko­na­nie tego opra­co­wa­nia (ana­li­zy wyma­gań wg. meto­dy usta­lo­nej przez ana­li­ty­ka) oraz wysła­nie kolej­ny raz zapy­ta­nia w rynek, tym razem w imie­niu ana­li­ty­ka 😉 (żeby się dostaw­cy nie zorien­to­wa­li). Znowu zbie­ra­my ofer­ty i liczy­my media­nę. Tu mamy suc­cess-fee, obli­cza­my róż­ni­cę pomię­dzy ofer­ta­mi i jeże­li są dla klien­ta korzyst­ne, to 20% tej róż­ni­cy wypła­ca­my ana­li­ty­ko­wi jako wyna­gro­dze­nie za korzy­ści. Jeżeli nie są korzyst­niej­sze uzna­je­my, że dobrze wyko­na­no pra­cę ale nie przy­czy­ni­ła się zna­czą­co do popra­wy sytuacji”.

Procenty są usta­lo­ne na bazie wie­dzy z badań, mówią­cej, że źle wyko­na­na ana­li­za prze­cięt­nie pod­no­si kosz­ty dwu­krot­nie a bywa, że znacz­nie więcej.

Statystyka kosztów projektów IT

W pierw­szej meto­dzie ryzy­ko w cało­ści bie­rze na sie­bie klient, w dru­giej jest roz­ło­żo­ne mniej wię­cej rów­no na obie stro­ny: klien­ta i ana­li­ty­ka. Ja w prak­ty­ce sto­su­ję obie te meto­dy a cza­sem meto­dę pośred­nią (z góry usta­lam war­tość ana­li­zy ale na bazie zna­nych z badań ryzyk). Moim zda­niem wyce­na pole­ga­ją­ca w 100% na meto­dzie czas i mate­riał” jest ryzy­kow­na gdyż zacho­dzi poważ­ne ryzy­ko wyko­rzy­sta­nia nie­wie­dzy klien­ta do zawy­ża­nia jej war­to­ści. Dobrą meto­dą jest zawar­cie w umo­wie z ana­li­ty­kiem zapi­su, że w try­bie tak zwa­ne­go nad­zo­ru autor­skie­go ana­li­tyk uczest­ni­czy w pro­jek­cie do koń­ca, co powin­no go zmo­ty­wo­wać do jak naj­lep­szej pra­cy a tak­że klient zysku­je mediatora.

ustalenie kosztów analizy

Najgorsze moim zda­niem roz­wią­za­nie to pod­ję­cie decy­zji o wybo­rze pro­duk­tu bez ana­li­zy, tyl­ko na pod­sta­wie pre­zen­ta­cji sys­te­mu i zle­ce­nie jego opra­co­wa­nia doku­men­tu wyma­gań, by na jego pod­sta­wie wdra­żać (two­rzyć) opro­gra­mo­wa­nia. Ta sytu­acja to prak­tycz­nie cał­ko­wi­ta utra­ta kon­tro­li nad pro­jek­tem przez klien­ta, oraz bar­dzo duże ryzy­ko, że zosta­nie to wyko­rzy­sta­ne przez dostaw­ce do budo­wa­nia jego mar­ży lub zawy­ża­nia pra­co­chłon­no­ści. To kla­sycz­na pato­lo­gia, w któ­rej ktoś sam sobie sta­wia zada­nia, reali­zu­je je i oce­nia czy je wyko­nał, gdyż klient, jak już na samym począt­ku stwier­dzo­no, nie ma do tego kompetencji.

Praktyka poka­zu­je, że koszt ana­li­zy i pro­jek­to­wa­nia w dobrze zarzą­dza­nym pro­jek­cie sta­no­wi ok. 20% war­to­ści całe­go pro­jek­tu dostar­cze­nia, dopa­so­wa­nia lub wyko­na­nia opro­gra­mo­wa­nia. Do tego może być wyma­ga­na dodat­ko­wa ana­li­za orga­ni­za­cji w celu oce­ny moż­li­wo­ści jej uspraw­nie­nia (opty­ma­li­za­cji pro­ce­sów) i usta­le­nia wspo­mnia­ne­go pro­gu ren­tow­no­ści. Projekty takie są tań­sze od pro­wa­dzo­nych typo­wy­mi meto­da­mi” o 30 – 50%. Te typo­we meto­dy to ankie­to­we (warsz­ta­to­we) pozy­ski­wa­nie wyma­gań i ich nie­for­mal­ny zapis w posta­ci tabel, struk­tu­ral­ne­go tek­stu itp. zależ­nie od wyko­naw­cy, te pro­ste meto­dy dają mniej lub bar­dziej opa­słe, i nie­ste­ty mało przy­dat­ne dokumenty.

Opisywane tu nie raz meto­dy bazu­ją­ce na mode­lo­wa­niu przy­szłe­go sys­te­mu (jego logi­ki biz­ne­so­wej) i testo­wa­niu czy model pozwa­la na speł­nie­nie celu biz­ne­so­we­go dają oszczęd­no­ści nawet 50%, a bywa, że znacz­nie więk­sze, jeśli oka­że się, że unik­nię­to zaku­pu jakie­goś zbęd­ne­go opro­gra­mo­wa­nia lub modu­łu. Koszt dobrze opra­co­wa­nej ana­li­zy z dużym zapa­sem pokry­wa­ją oszczęd­no­ści wyni­ka­ją­ce z bra­ku wie­lu prototypów.

Podsumowując: ana­li­ty­ka zawsze war­to zatrud­nić, poprze­dza­jąc to kon­tro­lą tego co wytwo­rzy. Dobry ana­li­tyk zawsze wyce­ni pro­jekt jako umo­wę o dzie­ło o kon­kret­nym ter­mi­nie i kosz­cie. Projekty w rodza­ju czas i mate­riał to pro­jek­ty w rodza­ju ” na począt­ku nikt nic nie wie”. Warto je robić tyl­ko w przy­pad­kach, gdy tej wie­dzy fak­tycz­nie nie ma, spo­dzie­wa­my się sys­te­mu o war­to­ści setek tysię­cy zło­tych lub kosz­tow­niej­szych i zain­we­sto­wa­nie nawet kil­ku­dzie­się­ciu tysię­cy w ana­li­zę, któ­ra pozwo­li osza­co­wać ryzy­ko wyda­nia tych kil­ku­set, może mieć sens. W takich przy­pad­kach i tak usta­la­my próg kosz­tów, przy któ­rych uzna­my, że dal­sze pra­ce już nicze­go nowe­go nie wniosą.

A na koniec, ana­li­za trwa­ją­ca kil­ka czy kil­ka­na­ście dni robo­czych, zakoń­czo­na kil­ku­dzie­się­cio­ma stro­na­mi tek­stu i tabe­lą na set­ki pozy­cji wyma­gań w niczym nam nie pomoże.

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)