Psychologia podzielona czyli analiza prawdziwa a potoczna

Profesor Łukaszewski swe­go cza­su opu­bli­ko­wał bar­dzo cie­ka­wy tekst: Psychologia podzie­lo­na” . Publikacja ta to porów­na­nie metod, autor pisze we wstępie:

W histo­rii psy­cho­lo­gii, choć jest to histo­ria krót­ka, wie­le było szkół, sys­te­mów teo­re­tycz­nych, zwal­cza­ją­cych się orien­ta­cji, piew­ców jedy­nej słusz­nej dro­gi. Nie o prze­szło­ści jed­nak zamie­rzam pisać, tyl­ko o funk­cjo­nu­ją­cych współ­cze­śnie, w pew­nej izo­la­cji od sie­bie, ale w jakiś spo­sób na sie­bie wpły­wa­ją­cych trzech odmian psy­cho­lo­gii. Pierwsza, to psy­cho­lo­gia rozu­mia­na jako prak­ty­ka spo­łecz­na, dru­ga ? to psy­cho­lo­gia potocz­na (ludo­wa, domo­wa, zdro­wo­roz­sąd­ko­wa, bo wie­le nosi ona nazw) i wresz­cie trze­cia, to psy­cho­lo­gia naukowa. 

Po lek­tu­rze tego tek­stu zauwa­ży­łem, że autor poru­szył pro­blem każ­dej dzie­dzi­ny nauki, nie tyl­ko psy­cho­lo­gii. Pomijając kwe­stie spe­cy­ficz­ne dla psy­cho­lo­gii, moim zda­niem moż­na by zastą­pić sło­wo psy­cho­lo­gia nazwą innej dzie­dzi­ny wie­dzy i arty­kuł nadal był­by praw­dzi­wy” (np. ana­li­za sys­te­mo­wa orga­ni­za­cji). Poniżej kil­ka wybra­nych zja­wisk, tra­pią­cych nie­jed­ną naukę oraz to czym się zaj­mu­je­my: ana­li­za sys­te­mo­wa i pro­jek­to­wa­nie (inży­nie­ria pro­gra­mo­wa­nia i sys­te­my infor­ma­cyj­ne to tak­że nauka). 

Praktyka spo­łecz­na:

Interesującą cechą psy­cho­lo­gii jako prak­ty­ki spo­łecz­nej jest postu­lo­wa­na zbęd­ność wszel­kiej teo­rii, zbęd­ność syn­tez, uogól­nień, a nawet argu­men­tów natu­ry sta­ty­stycz­nej. Wystarczy pro­sta obser­wa­cja. […] Jeśli wie­my, że ?zdar­ta pły­ta?, czy­li powta­rza­nie w kół­ko tych samych argu­men­tów zamę­czy każ­de­go, to żad­na kon­cep­cja psy­cho­lo­gicz­na nie jest już potrzeb­na do męcze­nia swo­ich opo­nen­tów ? gło­szą przed­sta­wi­cie­le tej psychologii.

Wstawmy tu poję­cie meto­dy agi­le”, wywia­dy z użyt­kow­ni­kiem”, user sto­ry” (bazy danych jako model dzie­dzi­ny sys­te­mu…) itp. a odnaj­dzie­my się natych­miast w naszej bran­ży. Regularnie sły­szę od wie­lu deve­lo­pe­rów argu­men­ty typu my (ja) tak od wie­lu lat i dzia­ła, mam więc ogrom­ne doświad­cze­nie” czy też tak mnie nauczo­no i nie tyl­ko mnie”. 

Innymi sło­wy, pod­sta­wo­wą wła­ści­wo­ścią tej psy­cho­lo­gii jest odwo­ły­wa­nie się do oso­bi­ste­go doświad­cze­nia (?sam to wypró­bo­wa­łem z powo­dze­niem?) lub zaufa­nie do doświad­cze­nia cudze­go (?on to wypró­bo­wał, a ja mu wie­rzę?). Niektóre z reko­men­da­cji bywa­ją dość powszech­nie podzie­la­ne, choć nie­ko­niecz­nie bywa­ją zasad­ne. Niektóre w świe­tle wyni­ków badań są dobit­ny­mi przy­kła­da­mi złud­nej skuteczności.

Powyższe brzmi jak wpi­sy na StackOverflow… Do tego war­to dodać, że:

Doniosła rola prze­ko­nań potocz­nych bie­rze się tak­że z tego, że speł­nia­ją one dwie bar­dzo waż­ne funk­cje. Najważniejsza jest funk­cja toż­sa­mo­ścio­wa ? prze­ko­na­nia te są czę­ścią kolek­tyw­ne­go sys­te­mu zna­czeń czy też podzie­la­ne­go świa­to­po­glą­du (?wszy­scy wie­my to samo i tak samo rozu­mie­my świat?). Jest też funk­cja afek­tyw­na, bowiem pro­ste narzę­dzia rozu­mie­nia świa­ta (nie­za­leż­nie od jako­ści czy głę­bo­ko­ści tego rozu­mie­nia) są zazwy­czaj źró­dłem poczu­cia oso­bi­ste­go bezpieczeństwa.

Wielu ludzi uwa­ża, że postę­po­wa­nie wg. zasad sta­rych i do naj­czę­ściej spo­ty­ka­nych jest bez­piecz­ne (kon­for­mizm). Argument nikt tak nie robi” nale­ży czy­tać nie spo­tka­łem sie z tym, by ktoś tak robił”. To cecha więk­szo­ści pro­jek­tów gru­po­wych (reali­zo­wa­nych w gru­pie). A jeże­li będzie porażka? 

Z tego punk­tu widze­nia nie­za­stą­pio­ny wyda­je się sce­na­riusz ?Bóg tak chciał? lub ?taka jest wola Boga?.

Metody nauko­we (pisa­łem o nich nie raz) mają pew­ną cechę: 

Słowem, psy­cho­lo­gia jako nauka ofe­ru­je (a w każ­dym razie czy­ni takie wysił­ki) teo­rie, co do któ­rych zna­ne są warun­ki ich oba­lal­no­ści. […] Właściwością psy­cho­lo­gii nauko­wej, któ­ra wyraź­nie odróż­nia ją od psy­cho­lo­gii potocz­nej czy też prak­ty­ki psy­cho­lo­gicz­nej jest spo­sób docho­dze­nia do twier­dzeń nauko­wych. O ile psy­cho­lo­gia potocz­na (jeśli czy­ni to w ogó­le) oraz psy­cho­lo­gia prak­tycz­na odwo­łu­ją się głów­nie do stra­te­gii kon­fir­ma­cyj­nych, a więc poszu­ku­ją potwier­dze­nia for­mu­ło­wa­nych hipo­tez, to psy­cho­lo­gia nauko­wa, nie rezy­gnu­jąc ze stra­te­gii kon­fir­ma­cyj­nych, nie poprze­sta­je jed­nak na nich. Korzysta tak­że ze stra­te­gii fal­sy­fi­ka­cyj­nych (Brzeziński, 1996). W ten spo­sób zabez­pie­cza się (choć nie zawsze sku­tecz­nie, cze­go przy­kła­dem może być psy­cho­lo­gia ewo­lu­cyj­na, zob. Buss, 2001) przed two­rze­niem kon­cep­cji nieobalalnych.

To zna­czy, że nasz opis ana­li­zo­wa­nej orga­ni­za­cji powi­nien mieć cechę spraw­dzal­no­ści, pole­ga­ją­cą na zro­zu­mie­niu, że poten­cjal­nie ist­nie­je moż­li­wość pod­wa­że­nia efek­tu naszej pra­cy. Bez tego nasze ana­li­zy (czy­li opis tego jak dzia­ła to co ana­li­zo­wa­no), sta­ją się dogma­tem, a powin­ny być teo­rią wyjaśniającą. 

Wynika z tego dość oczy­wi­sta, ale nadal waż­na praw­da, że zgod­ność ze zdro­wym roz­sąd­kiem nie może być kry­te­rium war­to­ści badań naukowych.

I to jest sed­no tego co chcia­łem tu napi­sać: opie­ra­nie się tyl­ko na tym, co mówią pra­cow­ni­cy ana­li­zo­wa­nej orga­ni­za­cji, ich intu­icja i ich wie­dza, oraz zdro­wy roz­są­dek, jest bar­dzo kiep­skim pomysłem. 

Dodać jed­nak muszę, że kry­ty­ko­wa­na prze­ze mnie nie raz pra­ca gru­po­wa, jako narzę­dzie popra­wy jako­ści zupeł­nie nie znaj­du­je potwier­dze­nia w faktach:

Badania nad tak zwa­nym próż­niac­twem spo­łecz­nym odwo­łu­ją się do teo­re­tycz­nych zało­żeń na temat roz­pro­sze­nia odpo­wie­dzial­no­ści. Z zebra­nych danych wyni­ka, że im więk­sza jest gru­pa wyko­nu­ją­ca wspól­ne zada­nie, tym mniej­szy jest śred­ni wkład pra­cy każ­de­go z uczest­ni­ków (Doliński, 2000; Latane, Wiliams, i Harkis, 1979). Co wię­cej, dzia­ła­nia gru­po­we są mniej wytrwa­łe niż indy­wi­du­al­ne (Łukaszewski i Marszał-Wiśniewska, 2006). 

Praktyka poka­zu­je, że w pro­jek­cie zawsze sku­tecz­niej­szy jest jeden, ale dobry, ana­li­tyk, niż armia” ludzi zaan­ga­żo­wa­na w pro­jekt bo nie ma cza­su” (inny argu­ment: klient musi widzieć dla­cze­go tak drogo).

Zaryzykuje tezę, że więk­szość zna­nych mi doku­men­tów tytu­ło­wa­nych jako Wymagania na opro­gra­mo­wa­nie albo Analiza Biznesowa, tak­że przy­ję­te meto­dy pra­cy (doty­czy tak­że publi­ka­cji w sie­ci inter­net np. nie­daw­no opi­sa­na Generalizacja/Specjalizacja Przypadków Użycia), to nie­ste­ty wie­dza ludo­wa” i prak­ty­ka społeczna”… 

Na zakoń­cze­nie gorą­co nama­wiam adep­tów sztu­ki ana­li­zo­wa­nia, ale tak­że sta­rych wyja­da­czy”, do lek­tu­ry całej cyto­wa­nej publi­ka­cji (mam nadzie­ję, że pro­fe­sor wyba­czy mi obszer­ność cyta­tów). Ten wpis miał na celu zachę­cić Was do tego, a nie zastą­pić lek­tu­rę ory­gi­na­łu. Mam nadzie­ję, że wie­lu z Was ten tekst (ory­gi­nał) nauczy pokory… 

Źródła

Fundament analizy: metodyka

Nieco ponad rok temu opi­sy­wa­łem sytu­ację, w któ­rej pewien doświad­czo­ny ana­li­tyk narze­kał, że pra­cow­ni­cy jego klien­tów nie potra­fią mu powie­dzieć cze­go chcą i jak ma dzia­łać ich przy­szły sys­tem. Odpowiedź moja jest w takich sytu­acjach zawsze taka sama:

…ana­li­za nie pole­ga na słu­cha­niu! (wyobra­ża­cie sobie lecze­nie, w któ­rym dia­gno­zy sta­wia­ją pacjen­ci?). Nie raz tu pisa­łem i kolej­ny raz powtó­rzę:
Analiza opar­ta na zezna­niach i życze­niach jej [fir­my zama­wia­ją­ce­go] pra­cow­ni­ków jest bar­dzo nara­żo­na na fia­sko, gdyż subiek­tyw­na wie­dza pra­cow­ni­ków oraz ich spe­ku­la­cje, mogą nie mieć wie­le wspól­ne­go z rze­czy­wi­sto­ścią lub pożą­da­nym sta­nem (co nie musi być ich złą wolą). Analiza orga­ni­za­cji nie może więc pole­gać tyl­ko na zapi­sa­nych subiek­tyw­nych prze­ko­na­niach jej pra­cow­ni­ków. Powinna w być 100% opar­ta na fak­tach oraz na kon­tek­ście jaki two­rzy stra­te­gia budo­wa­na przez Zarząd. (źr. : Strategia? w przy­pad­ku 90% małych i śred­nich firm w Polsce bazo­wał­by Pan na niczym | | Jarosław Żeliński IT-Consulting) 

Na stro­nie opi­su­ją­cej meto­dy­kę pro­wa­dze­nia ana­liz, napisałem:

Analiza sys­te­mo­wa to pro­ces, opar­ty na ana­li­zie fak­tów, sto­so­wa­ny w pro­jek­tach o pod­wyż­szo­nym ryzy­ku (a pro­jek­ty infor­ma­tycz­ne do takich nale­żą, ponad 70% tych pro­jek­tów to nie­ste­ty pro­jek­ty nieudane).Podstawowe pyta­nia w ana­li­zie sys­te­mo­wej to: ?jak jest i dla­cze­go jest tak jak jest? oraz ?jak powin­no być i co nale­ży uczy­nić, aby było tak jak być powin­no?, mode­lo­wa­nie zaś to narzę­dzie a nie cel. Podejście sys­te­mo­we wymu­sza logicz­ną ana­li­zę reali­zo­wa­nych przez przed­się­bior­stwo dzia­łań, pro­po­nu­jąc opar­te na mode­lach podej­ście, pozwa­la zro­zu­mieć stan obec­ny i jego przy­czy­ny. Dzięki temu wyni­ki ana­liz sys­te­mo­wych są obiek­tyw­ne. (źr.: Analiza sys­te­mo­wa orga­ni­za­cji – audyt orga­ni­za­cji | Jarosław Żeliński IT-Consulting) 

Dzisiaj arty­kuł dla zain­te­re­so­wa­nych teorią…

Czym jest analiza systemowa?

Analiza sys­te­mo­wa to reali­zo­wa­nie pew­nej pro­ce­du­ry, któ­ra – jak pisze Koźmiński – wyglą­da tak:

Kluczowym ele­men­tem ana­li­zy sys­te­mo­wej jest mode­lo­wa­nie, czy­li stwo­rze­nie abs­trak­cji bada­ne­go zja­wi­ska (orga­ni­za­cji, pro­ce­sów, itp.), ana­li­za zaś jest pro­ce­sem ite­ra­cyj­nym. W obec­nych cza­sach, gdy mówi­my o ana­li­zie sys­te­mo­wej orga­ni­za­cji, są to z regu­ły mode­le pro­ce­sów biz­ne­so­wych, mode­le infor­ma­cyj­ne, mode­le logi­ki biz­ne­so­wej. Na eta­pie ana­li­zy i bada­nia, model taki sta­no­wi hipo­te­zę mówią­cą: tak dzia­ła dana orga­ni­za­cja. Jeżeli model zosta­nie uwia­ry­god­nio­ny fak­ta­mi, sta­no­wi teo­rię opi­su­ją­cą tę orga­ni­za­cję, czy­li moż­li­we są – z uży­ciem tego mode­lu – prze­wi­dy­wa­nia skut­ków wpro­wa­dza­nych zmian w orga­ni­za­cji. Jest to pro­ces prak­tycz­nie iden­tycz­ny a tym, jaki sto­su­je się w nauce:

Zgodnie ze sło­wa­mi same­go Alberta Einsteina punk­tem wyj­ścia każ­dej teo­rii nauko­wej muszą być fak­ty i one też muszą być punk­tem doce­lo­wym. Nie ma nauk empi­rycz­nych bez fak­tów. Jak widać na powyż­szym sche­ma­cie każ­dy nauko­wiec ? badacz musi umieć poru­szać się w dwu ?świa­tach” ? jako teo­re­tyk, znaw­ca dorob­ku danej dzie­dzi­ny z któ­re­go musi korzy­stać (i w związ­ku z tym znać go) aby umieć sfor­mu­ło­wać zało­że­nia teo­re­tycz­ne wyja­śnia­ją­ce zaob­ser­wo­wa­ne fak­ty oraz jako ?empi­ryk” ? musi znać meto­dy spraw­dza­nia wysnu­tych przez sie­bie hipo­tez i kon­cep­cji wyja­śnia­ją­cych świat fak­tów. Teoria (hipo­te­za), któ­ra nie daje się spraw­dzić empi­rycz­nie, nie moż­na jej pod­dać pró­bie fal­sy­fi­ka­cji jest dla nauk empi­rycz­nych zupeł­nie bez­u­ży­tecz­na i jako taka nie jest naukowa.

Tak zwa­na Analiza Biznesowa orga­ni­za­cji, to pro­ces ana­li­zy sys­te­mo­wej, powin­na być trak­to­wa­na jak nauka empi­rycz­na: nale­ży zebrać par­tię doku­men­tów ope­ra­cyj­nych, któ­re są niczym innym jak zapi­sem fak­tów z życia orga­ni­za­cji. Na ich pod­sta­wie powsta­ją mode­le, któ­re są testo­wa­ne z uży­ciem kolej­nej par­tii doku­men­tów. Wygląda to tak:

(źr. opra­co­wa­nie własne)

A wymagania?

Mam nadzie­ję, że opi­su­jąc meto­dy­ką pro­wa­dze­nia ana­li­zy sys­te­mo­wej orga­ni­za­cji meto­da­mi zwa­ny­mi nauko­wy­mi, pomo­gę zro­zu­mieć potrze­bę rze­tel­ne­go mode­lo­wa­nia. Często o tym pisze i mówię na kon­fe­ren­cjach: pod­sta­wą dobrej ana­li­zy jest rze­tel­ne sto­so­wa­nie for­ma­li­zmów uży­tych nota­cji oraz meto­dy­ka pro­wa­dze­nia i doku­men­to­wa­nia wyni­ków analizy.

A gdzie wyma­ga­nia? Otóż zgod­nie z MDA/MDE wyma­ga­niem jest pro­jekt sys­te­mu (a nie jego wyima­gi­no­wa­ne cechy). Związek mię­dzy ana­li­zą sys­te­mo­wą a pro­jek­to­wa­niem roz­wią­za­nia opi­sał Koźmiński :

Tak więc poszu­ki­wa­nie roz­wią­za­nia pro­ble­mu pole­ga na zro­zu­mie­niu mecha­ni­zmu dzia­ła­nia orga­ni­za­cji, pod­ję­ciu decy­zji o opty­mal­nej meto­dzie roz­wią­za­nia pro­ble­mu i opra­co­wa­niu roz­wią­za­nia, rozu­mia­ne­go jako roz­bu­do­wa lub zakup nowych, zaso­bów orga­ni­za­cji np. o nowe opro­gra­mo­wa­nie, któ­re sta­je się czę­ścią sys­te­mu jakim jest ta organizacja.

Wszelkie meto­dy opar­te na burzach mózgów przy­szłych użyt­kow­ni­ków pra­wie zawsze ska­zu­ją pro­jekt na poraż­kę, intu­icyj­ne opi­sy­wa­nie przy­szło­ści to tyl­ko nie­spraw­dzal­ne pro­jek­cje dotych­cza­so­wych doświad­czeń. Sam fakt, że pro­jekt wdro­że­nio­wy uda­ło się dopro­wa­dzić do koń­ca nie jest żad­nym suk­ce­sem, suk­ce­sem jest zro­bie­nie tego i to moż­li­wie naj­efek­tyw­niej, tak­że myśląc o tym, że po zakoń­cze­niu wdro­że­nia cią­giem dal­szym są kosz­ty utrzy­ma­nia i roz­wo­ju, o czym wie­lu zapomina.

Źródła

Zelinski, J. (2020). Synthesis of MOF, MDA, PIM, MVC, and BCE Notations and Patterns. In Applications and Approaches to Object-Oriented Software Design: Emerging Research and Opportunities (pp. 78 – 89). IGI Global. https://​www​.igi​-glo​bal​.com/​b​o​o​k​/​a​p​p​l​i​c​a​t​i​o​n​s​-​a​p​p​r​o​a​c​h​e​s​-​o​b​j​e​c​t​-​o​r​i​e​n​t​e​d​-​s​o​f​t​w​a​r​e​/​2​3​5​699
Koźmiński, A. K. (1979). Decyzje: ana­ly­za sys­te­mo­wa orga­ni­za­cji. Pánstwowe Wydawn. Naukowe.

Model dziedziny jako mechanizm

W 2013 roku, arty­kuł o tym czym jest model dzie­dzi­ny, zakoń­czy­łem słowami:

Metody obiek­to­we pole­ga­ją na mode­lo­wa­nia świa­ta rze­czy­wi­ste­go (dome­ny sys­te­mu), w efek­cie nie tra­ci­my żad­nej wie­dzy mode­lu­jąc (zapi­su­jąc) ?świat? w posta­ci mode­lu dzie­dzi­ny. Tu war­to zwró­cić uwa­gę, że wie­dzę o tym jak wyglą­da fak­tu­ra jako doku­ment, musi jakiś obiekt posia­dać: to obiekt fak­tu­ra, posia­da­ją­cy np. ope­ra­cję (meto­dę) ?dru­kuj?. Ale to temat na inny wpis :). (Źródło: Czym jest a czym nie jest tak zwa­ny model dzie­dzi­ny sys­te­mu | | Jarosław Żeliński IT-Consulting).

Mamy rok 2017, więc czte­ry lata czekało 😉 … 

Czytaj dalej… Model dzie­dzi­ny jako mecha­nizm”

Produkt analizy jako twierdzenie naukowe

Znakomita więk­szość pro­gra­mów zawie­ra ponad 10 krot­nie wię­cej kodu niż mogła by mieć, bo pro­gra­mi­ści czę­sto imple­men­tu­ją warian­ty zacho­wań a nie ich mecha­ni­zmy (co powo­du­je, że sys­te­my te są tyleż razy droż­sze niż mogły by być).

Prawie za każ­dym razem, gdy mówię (ale nie robię tego jed­nak zbyt czę­sto 😉 ), że sto­su­ję meto­dy nauko­we w ana­li­zie, spo­ty­kam się z zarzu­tem, że prze­sa­dzam. Zapewne nie ma sen­su epa­to­wa­nie w pro­jek­tach biz­ne­so­wych aka­de­mic­kim słow­nic­twem, nie ma zna­cze­nia dobór słow­nic­twa w nazwa­niu meto­dy pra­cy, bo zna­cze­nie ma skuteczność.

Twierdzenie naukowe

Poniżej defi­ni­cja tego czym jest twier­dze­nie naukowe:

Twierdzenie nauko­we ? zda­nie oznaj­mia­ją­ce speł­nia­ją­ce nastę­pu­ją­ce warun­ki :

  1. moż­na wobec nie­go sfor­mu­ło­wać kry­te­ria pozwa­la­ją­ce na eks­pe­ry­men­tal­ne, obser­wa­cyj­ne lub logicz­ne ich oba­le­nie (fal­sy­fi­ko­wal­ne według zasad Karla R. Poppera),
  2. ist­nie­ją regu­ły jego odczy­ta­nia, któ­re ogra­ni­cza­ją do skoń­czo­no­ści licz­bę ich inter­pre­ta­cji (kry­te­rium pre­cy­zji Józefa Bocheńskiego),
  3. odno­si się do empi­rycz­nie doświad­czal­nej lub logicz­nie defi­nio­wa­nej rze­czy­wi­sto­ści (tzw. widły Hume?a),
  4. jest ele­men­tem zbio­ru twier­dzeń para­dyg­ma­tu wyja­śnia­ją­ce­go rze­czy­wi­stość i pozwa­la­ją­ce­go na prze­wi­dy­wa­nie jej przy­szłych sta­nów (kon­cep­cja nauki nor­mal­nej T. S. Kuhna),
  5. twier­dze­nie będą­ce naj­prost­szym z moż­li­wych opi­sów świa­ta (tzw. Brzytwa Ockhama).

Graficznie sam pro­ces odkry­cia nauko­we­go moż­na poka­zać tak :

Budgen, D. (2003). Software design (2nd ed). Addison-Wesley.
Budgen, D. (2003). Software design (2nd ed). Addison-Wesley. 

Celowo cytu­ję tu lite­ra­tu­rę z obsza­ru inży­nie­rii opro­gra­mo­wa­nia, by poka­zać, że nie jestem odosob­nio­ny w tym podej­ściu. Dla porząd­ku poda­je tak­że defi­ni­cje poję­cia model:

model: sys­tem zało­żeń, pojęć i zależ­no­ści mię­dzy nimi pozwa­la­ją­cy opi­sać (mode­lo­wać) w przy­bli­żo­ny spo­sób jakiś aspekt rzeczywistości

Więcej o mode­lach w nauce: .

Inżynieria oprogramowania

Jeżeli uzna­my, że wynik zarów­no ana­li­zy jak i pro­jek­to­wa­nia, to tak­że mode­le (przyj­mu­je­my meto­dę pra­cy opar­tą na two­rze­niu mode­li: MDD/MDA czy­li model dri­ven deve­lop­ment”, MDA czy­li model dri­ven archi­tec­tu­re”, itp.), to w związ­ku z tym 

model, jako wynik ana­li­zy, moż­na potrak­to­wać jako twier­dze­nie nauko­we opi­su­ją­ce bada­ną (ana­li­zo­wa­ną) orga­ni­za­cję, jest on zara­zem wyma­ga­niem wobec opro­gra­mo­wa­nia (ma zostać zaimplementowany).

Wyjaśnienie: odnio­sę się do powyż­szej defi­ni­cji twier­dze­nia nauko­we­go (zgod­nie z powyż­szym pod poję­ciem model rozu­mie­my kom­plet doku­men­ta­cji zawie­ra­ją­cej mode­le, powsta­łej jako pro­dukt analizy):

  1. kry­te­rium fal­sy­fi­ka­cji: dopie­ro wska­za­nie w bada­nej orga­ni­za­cji fak­tu, któ­re­go nie opi­su­je opra­co­wa­ny model, pozwa­la uznać model (wynik ana­li­zy) za zły,
  2. ist­nie­ją regu­ły jego (mode­lu) odczy­ta­nia, czy­li do stwo­rze­nia mode­lu uży­to sfor­ma­li­zo­wa­nych nota­cji i sys­te­mów poję­cio­wych (np. BPMN, UML, BMM, SBVR itp),
  3. model powstał na bazie, i odno­si się wyłącz­nie do, zebra­nych w toku ana­li­zy fak­tów (w szcze­gól­no­ści doku­men­tów, któ­re powsta­ją w toku pra­cy ana­li­zo­wa­nej orga­ni­za­cji – doku­men­ty opi­su­ją fak­ty np. fak­tu­ra to opis fak­tu doko­na­nia sprzedaży),
  4. model pozwa­la na prze­wi­dy­wa­nie tego co zaj­dzie w odpo­wie­dzi na okre­ślo­ne bodź­ce (para­dyg­mat pro­ce­so­wy opi­su­ją­cy zacho­wa­nia i para­dyg­mat obiek­to­wy opi­su­ją­cy struk­tu­ry), mając model pro­ce­sów biz­ne­so­wych moż­na prze­wi­dzieć pro­dukt pro­ce­su, mając model apli­ka­cji moż­na prze­wi­dzieć pro­dukt każ­de­go przy­pad­ku użycia,
  5. opra­co­wa­ny model jest naj­prost­szy (mini­mal­ny) z moż­li­wych, czy­li nie da się już z nie­go usu­nąć nic bez spo­wo­do­wa­nia jego znisz­cze­nia (uczy­nie­nia nieprawdziwym).

Tu, dla dopeł­nie­nia, war­to dodać powszech­nie uzna­wa­ną w świe­cie nauki defi­ni­cję praw­dy (A.Tarski): twier­dze­nie praw­dzi­we to twier­dze­nie kore­spon­du­ją­ce z faktami.

Tak więc mamy to co chce­my czy­li kry­te­rium odbio­ru doku­men­ta­cji ana­li­tycz­nej i pro­jek­to­wej: nie jest to licz­ba stron a to, że mówi prawdę”. 

Z dru­giej stro­ny, nie­ste­ty nie ist­nie­je moż­li­wość wyka­za­nia popraw­no­ści doku­men­ta­cji powsta­łej w wyni­ku ankiet, wywia­dów czy burzy mózgów spi­sa­nej języ­kiem natu­ral­nym … .

cięż­ką arty­le­rię”, jak ta tu opi­sa­na, wyta­cza­my głów­nie dla pro­jek­tów ryzy­kow­nych i kosz­tow­nych… 😉 oraz wszę­dzie tam gdzie waż­na jest ochro­na know-how.

Dodatek

(dwa dni po publikacji)

Właśnie pode­sła­no mi link do cie­ka­we­go tekstu:

One of the most impor­tant ele­ments of eve­ry Business Analyst?s tool­kit is pro­cess mode­ling, which is also signi­fi­cant acti­vi­ty for Business Process Management pro­fes­sio­nals. For BPM mar­ket B? (Źródło: BPMN for Business Analysts ? why, when and how)

Przejrzałem treśc i wszyst­kie wypo­wie­dzi one krę­cą się” wokół doku­men­to­wa­nia, pre­zen­ta­cji w celu zatwier­dze­nia lub zgła­sza­nia uwag oraz nie­któ­rzy wska­zu­ją na moż­li­wość ryso­wa­nia zamiast kodo­wa­nia w celu wyko­na­nia”, albo prze­oczy­łem albo nikt nie zwró­cił uwa­gi na bar­dzo – mim zda­niem waż­ny ele­ment – two­rze­nie mode­lu orga­ni­za­cji czy­li two­rze­nie hipo­te­zy tak dzia­ła­cie” jako orga­ni­za­cja.

Problem w tym, że chy­ba więk­szość użyt­kow­ni­ków” tej (BPMN) – i nie tyl­ko – nota­cji, sto­su­je induk­cyj­ne meto­dy uwia­ry­gad­nia­nia tych mode­li, rozu­mia­nych raczej jako sche­ma­ty blo­ko­we. Podejście bazu­ją­ce na dowo­dzie z ilo­ści” (induk­cja): model pro­ce­sów jest dobry bo bar­dzo dużo osób (osób akcep­tu­ją­cych, recen­zen­tów) tak uzna­ło, jest chy­ba najgorsze.

To błąd logicz­ny: nie da się wyka­zać popraw­no­ści meto­dą induk­cyj­ną. Model owszem powi­nien być jako dia­gram zro­zu­mia­ły dla czy­tel­ni­ka, to nie ule­ga wąt­pli­wo­ści, jed­nak jego testy powin­ny pole­gać na wska­zy­wa­niu (szu­ka­niu) ewen­tu­al­nych fak­tów typu a tu mówi nie­praw­dę”. Innymi sło­wy model pro­ce­su nie jest dobry” (odzwier­cie­dla praw­dzi­wy mecha­nizm dzia­ła­nia orga­ni­za­cji) dla­te­go, że wszy­scy go zaak­cep­to­wa­li, jest dobry dla­te­go, że nikt nie zna­lazł (nie wska­zał) jego wady (nie pod­wa­żo­no go).

Projektów zakoń­czo­nych klę­ską, w któ­rych wszy­scy zaak­cep­to­wa­li doku­men­ta­cję” zna­my chy­ba wszy­scy masę.…

Tak więc ana­li­tyk, któ­ry pod­cho­dzi sys­te­mo­wo do ana­li­zy powi­nien two­rzyć hipo­te­zy tak to dzia­ła” i nie dowo­dzić ich popraw­no­ści, a cze­kać na wska­za­nie wad. Notacje (BPMN, UML, BMM, …) oraz mode­le two­rzo­ne z ich pomo­cą, są dosko­na­łym narzę­dziem do doku­men­to­wa­nia tych teorii.

Na zakoń­cze­nie pole­cam to 🙂

Źródła

Kitchenham, B., Pearl Brereton, O., Budgen, D., Turner, M., Bailey, J., & Linkman, S. (2009). Systematic lite­ra­tu­re reviews in softwa­re engi­ne­ering – A sys­te­ma­tic lite­ra­tu­re review. Information and Software Technology, 51(1), 7 – 15. https://​doi​.org/​1​0​.​1​0​1​6​/​j​.​i​n​f​s​o​f​.​2​0​0​8​.​0​9​.​009
Budgen, D. (2003). Software design (2nd ed). Addison-Wesley.
Popper, K. R. (2002). Logika odkry­cia nauko­we­go (U. Niklas, Trans.). Fundacja Aletheia.
Šenkýř, D., & Kroha, P. (2019). Problem of Incompleteness in Textual Requirements Specification: Proceedings of the 14th International Conference on Software Technologies, 323 – 330. https://​doi​.org/​1​0​.​5​2​2​0​/​0​0​0​7​9​7​8​0​0​3​2​3​0​330
Kitchenham, B. A., Budgen, D., & Brereton, P. (2016). Evidence-based softwa­re engi­ne­ering and sys­te­ma­tic reviews. CRC Press.

Metodologiczny dekalog naukowca

Swego cza­su pisałem:

Hipoteza ? osąd, teo­ria, któ­ra nie zna­la­zła jesz­cze potwier­dze­nia w fak­tach, lub w przy­pad­ku hipo­tez mate­ma­tycz­nych nie zosta­ła jesz­cze popraw­nie udowodniona.Stawianie i testo­wa­nie hipo­tez to jeden z pod­sta­wo­wych pro­ce­sów twór­cze­go myśle­nia oraz fun­da­men­tal­ny ele­ment pro­ce­su two­rze­nia nauki. (Źródło: Metoda nauko­wa w ana­li­zie wyma­gań | Jarosław Żeliński IT-Consulting)

Nie raz w toku pro­jek­tów mówię, że moja pra­ca prze­bie­ga w taki – nauko­wy – wła­snie spo­sób: zbie­ram pew­ną nie­wiel­ką par­tię danych, np. dwa, może trzy kom­ple­ty doku­men­tów dane­go pro­ce­su biz­ne­so­we­go, i two­rzę model tego pro­ce­su. Ten model to hipo­te­za: Ten pro­ces tak prze­bie­ga”. Kolejny ruch” to testo­wa­nie mode­lu czy­li pró­ba jest fal­sy­fi­ka­cji, szu­ka­nia w ana­li­zo­wa­nej orga­ni­za­cji fak­tów prze­czą­cych tej tezie. Polega na wysła­niu do recen­zji lub pre­zen­ta­cji opra­co­wa­ne­go mode­lu pro­ce­su. Jeżeli uda się zna­leźć zda­rze­nie lub doku­ment, któ­re­go model pro­ce­su nie tłu­ma­czy (nie opi­su­je go), to zna­czy, że model jest zły (został pod­wa­żo­ny) i nale­ży go popra­wić. Jeżeli w toku recen­zji, żaden recen­zent (recen­zen­tem jest tu eks­pert dzie­dzi­no­wy z obsza­ru dane­go pro­ce­su biz­ne­so­we­go w ana­li­zo­wa­nej orga­ni­za­cji) nie pod­wa­ży mode­lu, zna­czy to, że model jest popraw­ny czy­li odwzo­ro­wu­je to co się dzie­je w orga­ni­za­cji. To pro­ce­du­ra zwa­na meto­dą nauko­wą (model ten musi tak­że speł­niać wymo­gi for­mal­ne czy­li zgod­ność z daną nota­cją, np. BPMN i usta­lo­na prag­ma­ty­ką two­rze­nia tych modeli).

Nie raz mie­wam proś­by” o doda­nie do mode­lu pro­ce­su (jest nim dia­gram np. w nota­cji BPMN) cze­goś nie­po­trzeb­ne­go albo wręcz koli­du­ją­ce­go z zade­kla­ro­wa­ną nota­cją lub prag­ma­ty­ką. Z regu­ły są to jakieś a my cza­sem jest robi­my to tak i tak” albo pro­szę poka­zać jesz­cze to”. Praktycznie zawsze są to nad­mia­ro­we szcze­gó­ły, opi­su­ją­ce pew­ne wybra­ne deta­licz­ne czyn­no­ści, któ­re nie mają pły­wu na mode­lo­wa­ny pro­ces, sta­no­wią jego natu­rę lub detal zawar­ty w doku­men­tach. Elementy, któ­re na eta­pie mode­lo­wa­nia pro­ce­sów z zasa­dy pomi­ja­my bo są udo­ku­men­to­wa­ne w pro­ce­du­rach, zakre­sach obo­wiąz­ków, instruk­cjach obsłu­gi urzą­dzeń, wzo­rach doku­men­tów itp. Drugi ele­ment czę­sto psu­ją­cy mode­le to doda­wa­nie na dia­gra­mach ikon i sym­bo­li z poza nota­cji. Zdarza się to w sytu­acji, gdy popro­si o to któ­ryś z recen­zen­tów lub zro­bi to sam ana­li­tyk, któ­ry nie pora­dził sobie ze zro­zu­mie­niem dane­go zja­wi­ska”.

Takie zbyt szcze­gó­ło­we lub prze­kła­ma­ne dia­gra­my z regu­ły koń­czą życie na śmiet­ni­ku pro­jek­tu” czy­li na nie­uży­wa­nej pół­ce z doku­men­ta­mi po ich zafakturowaniu.

W mode­lach sys­te­mów (wyko­na­nych z uży­ciem nota­cji UML) naj­czę­ściej widu­ję złe (nie­zgod­ne z ich zna­cze­niem) uży­cie sym­bo­li UML. Dotyczy to głów­nie dia­gra­mów klas i dia­gra­mów przy­pad­ków uży­cia. Na dia­gra­mach klas są to naj­czę­ściej błę­dy wyni­ka­ją­ce z myle­nia mode­li poję­cio­wych i mode­li struk­tu­ry na jed­nym dia­gra­mie klas. Na dia­gra­mach przy­pad­ków uży­cia nie raz obser­wu­ję cał­ko­wi­te odej­ście od reguł UML, do sto­so­wa­nia UML tak jak np. Power Pointa czy­li sym­bol jest faj­ny to go uży­je­my do cze­go nam tyl­ko pasu­je”. Ma nie raz miej­sce wpro­wa­dza­nie kurio­zal­nych pojęć, z poza nota­cji UML typu aktor czas”, sys­te­mo­wy przy­pa­dek uży­cia” i inne dzi­wo­lą­gi pro­wa­dzą­ce do ich mno­że­nia, tyl­ko dopeł­nia­ją bałaganu.

Nie raz przy­wo­ły­wa­łem tak zwa­ną „[[Brzytwę Ockhama]]”, jest to meta­fo­ra, mówią­ca, ze w nauce two­rze­nie nowych bytów musi mieć uza­sad­nie­nie, be tego wszel­kie nowe byty” sta­no­wią tyl­ko obraz nie­wie­dzy i nie­zro­zu­mie­nia, ide­olo­gicz­ne­go ukry­cia bra­ku moż­li­wo­ści dowie­dze­nia ist­nie­nia cze­goś. Tu zacy­tu­ję frag­ment pew­ne­go blo­ga (pole­cam lek­tu­rę całe­go cyto­wa­ne­go artykułu):

Nie będziesz mno­żył bytów ponad mia­rę [treść tzw. Brzytwy Ockhama, przyp mój J.Ż.]. Tak jak nie nale­ży bez przy­czy­ny wybie­rać roz­wią­za­nia nad­mier­nie skom­pli­ko­wa­ne­go, tak też nie wol­no dowol­nie doko­op­to­wy­wać do swo­je­go rozu­mo­wa­nia dodat­ko­wych bytów. Nie sto­su­jąc się do tego zaka­zu, dla przy­wo­ła­ne­go wcze­śniej przy­kła­du, mogli­by­śmy ukuć nie­zli­czo­ną ilość kolej­nych wyja­śnień. Katedry i pira­mi­dy mogli prze­cież wznieść przy­by­sze z kosmo­su, cza­ro­dzie­je, duchy, demo­ny, skrza­ty? Byty moż­na mno­żyć bez koń­ca, tłu­ma­cząc nimi każ­de obser­wo­wa­ne zja­wi­sko. A jed­nak nie daje­my wia­ry zapew­nie­niom brzdą­ca twier­dzą­ce­go, że cen­ny wazon w salo­nie uległ destruk­cji w sku­tek dzia­łal­no­ści zło­śli­we­go polter­ge­ista. W każ­dym razie, zna­le­zio­na opo­dal miej­sca zda­rze­nia pił­ka, pod­su­wa nam znacz­nie praw­do­po­dob­niej­sze wyja­śnie­nia. Dopuszczając do pro­ce­su nauko­we­go kra­sno­lud­ki, dżi­ny, wróż­ki i co tam chce­cie, docho­dzi­my do nie­uchron­ne­go acz bez­war­to­ścio­we­go wnio­sku, iż każ­da z dowol­nie zmy­ślo­nych odpo­wie­dzi jest rów­nie dobra i rów­nie (nie)prawdopodobna. (Źródło: Metodologiczny deka­log naukow­ca | Kwantowo​.pl – astro­no­mia, fizy­ka, nauka!)

Tak więc czy­ta­jąc czy­je­kol­wiek opra­co­wa­nia, w szcze­gól­no­ści ana­li­zy biz­ne­so­we i mode­le sys­te­mów, spraw­dzaj­cie, czy ktoś nie umie­ścił tam ana­li­tycz­nych kra­sno­lud­ków, kosmi­tów, dżi­nów itp. Takie byty na dia­gra­mach jak aktor czas” czy sys­te­mo­wy przy­pa­dek uży­cia”, świad­czą wyłącz­nie o tym, że autor po pro­stu nie pora­dził sobie z ana­li­zą, nie do koń­ca odkrył isto­tę tego co ana­li­zo­wał i opi­sał, nie zro­zu­miał tego co mode­lu­je. Dodawanie nowych bytów do nota­cji jak naj­bar­dziej jest moż­li­we, ale po pierw­sze nale­ży to robić popra­wie­nie ale potrze­ba taka jest bar­dzo rzad­ka. W obsza­rze ana­li­zy i mode­lo­wa­nia obec­na postać BPMN wystar­czy aż nad­to, do mode­lo­wa­nie opro­gra­mo­wa­nia zorien­to­wa­ne­go obiek­to­wo UML tym bar­dziej wystar­czy. Takie upstrzo­ne wyna­laz­ka­mi” doku­men­ty być może są atrak­cyj­ne ale kom­plet­nie nieprzydatne.

teczki, akta, papiery

Mucha – czyli jak staję się biurokratą

mucha

Dykteryjka o meto­dzie badawczej:

Pewien nauko­wiec prze­pro­wa­dzał doświad­cze­nie na muchach. Dziennik: Do badań wyty­po­wa­no loso­wo muchę, mucha reagu­je na pole­ce­nia gło­so­we. Po ode­rwa­niu jed­nej nogi wyda­no pole­ce­nie – Mucha chodź! – mucha reagu­je. Po ode­rwa­niu dru­giej nogi – Mucha chodź! – mucha nadal cho­dzi. Po ode­rwa­niu trze­ciej nogi – Mucha chodź! – mucha cho­dzi lek­ko kuś­ty­ka­jąc. Po ode­rwa­niu czwar­tej nogi – Mucha chodź! – mucha cho­dzi, moc­no kule­je. Po ode­rwa­niu pią­tej nogi – Mucha chodź! – mucha z tru­dem ale jed­nak się prze­miesz­cza. Po ode­rwa­niu szó­stej nogi – Mucha chodź! – mucha nie reagu­je na to pole­ce­nie. Wnioski: Po ode­rwa­niu ostat­niej nogi mucha stra­ci­ła słuch.

To typo­wa heu­ry­sty­ka: czło­wiek postrze­ga jako przy­czy­nę zja­wisk te zda­rze­nia, któ­re je bez­po­śred­nio poprze­dza­ją. Bardzo czę­sto obser­wu­ję to zja­wi­sko przy oka­zji tłu­ma­cze­nia tego co dzie­je się w fir­mach: za przy­czy­nę suk­ce­sów i pora­żek (z regu­ły ostat­nie bywa tak oce­nia­ne) uzna­je się ostat­nio wpro­wa­dza­ne zmia­ny czy inno­wa­cje, nowych mene­dże­rów itp.. (zresz­tą podob­nie wyglą­da szu­ka­nie przy­czyn obec­ne­go kry­zy­su, o ile taki w ogó­le mamy…).

Inny przy­kład, tym razem na temat tego co oczywiste”:

W pew­nej wio­sce miesz­kał sza­man, któ­ry zawsze przed świ­tem odpra­wiał tanecz­ny rytu­ał wscho­du słoń­ca, dzię­ki któ­re­mu – jak utrzy­my­wał – wscho­dzi słoń­ce. Mieszkańcy wio­ski, sza­ma­na żywi­li i ubie­ra­li, jako jedy­ne­mu pozwo­li­li na posia­da­nie wie­lu żon, mimo, że sza­man nie pra­co­wał. Pewnego razu do wio­ski wró­cił po stu­diach syn jed­nej z miesz­ka­ją­cych w niej rodzin. Powiedział, że tam gdzie był nie było sza­ma­na i dzień nasta­wał jak tu, że sza­man to paso­żyt i wca­le nie musi rano tań­czyć by życie toczy­ło się nor­mal­nym try­bem. Zasugerował, że to co mówi łatwo spraw­dzić, wystar­czy zamknąć sza­ma­na na jeden dzień w sza­ła­sie i nie wypu­ścić. Mieszkańcy wio­ski zamor­do­wa­li mło­de­go chło­pa­ka, o czym sza­man nawet nie wiedział.

I teraz krót­kie rady:

  1. Jako ana­li­tyk sta­raj się zro­zu­mieć a nie tyl­ko zapi­sy­wać obser­wa­cje, heu­ry­sty­ka to coś przed czym ana­li­tyk powi­nien umieć się bro­nić a nie jej uży­wać …(praw­dzi­wa wie­dza to zna­jo­mość przy­czyn – Arystoteles).
  2. Jako ana­li­tyk, pisząc reko­men­da­cje, nie zapo­mi­naj, że wpro­wa­dze­nie zmia­ny może napo­tkać opór, któ­re­go źró­dłem wca­le nie jest nie­chęć a strach i brak wiedzy.

archiwum dokumentowTak więc gdy tra­fisz na klien­ta myślą­ce­go pro­sty­mi sche­ma­ta­mi, opo­wiedz mu co pro­po­nu­jesz i nie narzu­caj się. Klient, któ­ry wie lepiej” – nie mówiąc Ci o tym – i tak pogrze­bie Twoja pra­cę… A na począt­ku zawsze ostrze­gaj swo­ich klien­tów tak ja ja: zanim zapy­ta­cie, bądź­cie pew­ni, że chce­cie poznać odpowiedź”…

Niestety bywa tak, że klient na począt­ku poka­zu­je, że przyj­mu­je z poko­rą to co mówisz, a powie Ci o tym, że nie uzna­je odpo­wie­dzi dopie­ro jak ją pozna , wte­dy jedy­nym co moż­na zro­bić jest wyję­cie segre­ga­to­ra, któ­ry zawie­ra zapi­sa­ne wszyst­kie, zaak­cep­to­wa­ne po dro­dze, klu­czo­we eta­py tej współ­pra­cy… miej je zawsze. Drugim wyj­ście jest … wyj­ście z tego projektu.

Rada dla firm anga­żu­ją­cych ana­li­ty­ków: sprawdź czy przy­pad­kiem anga­żo­wa­ny ana­li­tyk nie jest bada­czem much…

Rada dla anga­żo­wa­nych ana­li­ty­ków: upew­nij się, czy przy­pad­kiem orga­ni­za­cja, któ­ra Cię anga­żu­je, nie jest wio­ską szamana…

To smut­ne, że głup­cy są tak pew­ni sie­bie, a ludzie mądrzy tak peł­ni wąt­pli­wo­ści” (Bertrand Russell).