Logika wnioskowania dedukcyjnego czyli czym jest poprawna analiza i modelowanie

W czym pro­blem z kiep­skiej jako­ści ana­li­za­mi i mode­la­mi? W tym, że ich auto­rzy podej­mu­ją pró­by doda­wa­nia nowych sym­bo­li do nota­cji, psu­jąc spój­ność i jed­no­znacz­ność dia­gra­mów, sto­su­ją sym­bo­le nota­cji nie­zgod­nie z nada­ny­mi im zna­cze­nia­mi albo łamią zasa­dę wyłą­czo­ne­go środ­ka mówią­cą w uprosz­cze­niu, że jeże­li coś jest czymś to zna­czy, że nie jest już niczym innym (np. jeże­li coś jest zda­rze­niem to na pew­no nie jest ani czyn­no­ścią, ani dany­mi, ani regu­łą decy­zyj­ną). Innymi sło­wy: jeże­li jakieś ziar­no węgla jest kost­ką to na pew­no nie jest ani grosz­kiem, ani orze­chem ani miałem.

A co jeże­li jed­nak wynik ana­li­zy jest opi­sem w języ­ku natu­ral­nym lub zesta­wem dia­gra­mów łamią­cych zasa­dy nota­cji? Wtedy tak napraw­dę ana­li­ty­ka­mi są pro­gra­mi­ści, bo oni i tak muszą to zamie­nić na kod w języ­ku pro­gra­mo­wa­nia, któ­re­go uży­wa­ją. Czy to dobry pomysł? Pozostawię odpo­wiedź czytelnikowi…

Czytaj dalej Logika wnioskowania dedukcyjnego czyli czym jest poprawna analiza i modelowanie

Hej, Biznesie, to ma być dla biznesu czyli dla Ciebie!

Tak więc jest meto­da, prak­ty­ka poka­zu­je, że spraw­dza się. Praktyka poka­zu­je tak­że, że nie­ste­ty nie jest to łatwe (mode­lo­wa­nie biz­ne­su meto­da­mi obiek­to­wy­mi, tu nie­ste­ty nie da się powie­dzieć, że nie świę­ci garn­ki lepią”) dla­te­go powsta­ły pew­ne zale­ce­nia i wzor­ce pro­jek­to­we. Należy je zro­zu­mieć, nauczyć się sto­so­wać i sto­so­wać, co i tak nie zastą­pi pro­jek­to­wa­nia” czy­li twór­cze­go pier­wiast­ka w tym pro­ce­sie. Dokładnie tak samo jak nie da się auto­ma­tycz­nie two­rzyć kodu pro­gra­mu, do tego potrzeb­ni są (dobrzy) programiści.

Z prze­ko­rą powiem też, że nie wiem jak zwin­ność metod pro­gra­mi­stycz­nych ([[Agile Manifesto]]) mia­ła by ten pro­ces uzdro­wić i uczy­nić lep­szym (nadal uwa­żam, że brak doku­men­ta­cji, w tym mode­li, raczej psu­je pro­jek­ty). Podsumowując moż­na by powie­dzieć, że eta­py two­rze­nia opro­gra­mo­wa­nia to:

Analiza biz­ne­so­wa, któ­rej pro­duk­tem są: model orga­ni­za­cji (CIM) oraz spe­cy­fi­ka­cja tego co ma powstać (PIM), to dru­gie to kom­plet­ne wyma­ga­nia. Całość (sfor­ma­li­zo­wa­ne mode­le) pozwa­la na prze­te­sto­wa­nie czy tak okre­ślo­ne wyma­ga­nia speł­nia­ją potrze­by biznesu.
Wytworzenie opro­gra­mo­wa­nia pole­ga­ją­ce na: imple­men­ta­cji mode­lu PIM, roz­wią­za­niu pro­ble­mów tech­nicz­nych (wyma­ga­nia nie­funk­cjo­nal­ne) oraz dostar­cze­niu i wdrożeniu.
Powyższe, tak udo­ku­men­to­wa­ny pro­jekt, pozwa­la tak­że osią­gnąć dodat­ko­wą korzyść: wie­dza orga­ni­za­cji” tkwi w mode­lu PIM i deve­lo­per nie może jej prze­jąć bez zgo­dy auto­ra, Analityka Biznesowego i spon­so­ra pro­jek­tu (pra­wo autorskie).

Czytaj dalej Hej, Biznesie, to ma być dla biznesu czyli dla Ciebie!

Zwinna analiza czyli polemika

Nie jestem wro­giem Agile, jestem zwo­len­ni­kiem inne­go auto­ry­te­tu: Yourdona, któ­ry napi­sał w swo­jej książ­ce o mode­lo­wa­niu UML: bez pla­nów moż­na z mar­szu zbu­do­wać z desek np. budę dla psa bo jest mało skom­pli­ko­wa­na i ogar­nia ją wyobraź­nia prze­cięt­ne­go czło­wie­ka, ale dla­cze­go tak wie­lu ludzi pró­bu­je tą meto­dą budo­wać wiel­kie biurowce…Ciesze się, gdy poja­wia­ją się pole­mi­ki z moimi arty­ku­ła­mi, to zna­czy, ze ktoś to czy­ta i budzą one emo­cje. Czytamy na pew­nym blo­gu (któ­ry gorą­co pole­cam jako całość):

Zacznę od drob­nej zło­śli­wo­ści. W maju, jako że się­gną­łem też do star­szych wpi­sów, autor napi­sał: ?[…] ja już wyro­słem ze spo­łecz­nych źró­deł wie­dzy jakim jest Wikipedia i przy­to­czę defi­ni­cję z ksią­żek mają­cych kon­kret­ne­go auto­ra […]?. A dzi­siaj czy­tam, jak autor kry­ty­ku­je prak­ty­ki Agile ? czer­piąc wie­dzę na ich temat z tego spo­łecz­ne­go źró­dła wie­dzy. Kończąc zło­śli­wość dodam adre­su­jąc to do auto­ra, że Wiki i Wikipedia to nie to samo i mają się do sie­bie tak ja kla­sa do obiek­tu. (źr. Zwinna ana­li­za ? TouK).

Cóż, pro­blem w tym, że Agile jest głów­nie na spo­łecz­nych stro­nach defi­nio­wa­ne więc nie mia­łem wiel­kie­go wybo­ru: spo­łecz­na meto­dy­ka to i spo­łecz­na wie­dza o niej.… (wiem czym jest i wiki i wiki­pe­dia, nie sądzę by tu tkwił problem).

Czytaj dalej Zwinna analiza czyli polemika

Epistemologia ? jak pomaga w analizie

Nie raz poja­wia się wątek filo­zo­ficz­ny” w pro­ce­sie ana­li­zy (a kon­kret­nie w roz­mo­wach o niej…;)). Jednym z klu­czo­wych ele­men­tów, celem, każ­dej ana­li­zy jest jej efekt czy­li pozna­nie cze­goś i prze­ka­za­nie tej wie­dzy komuś (naj­czę­ściej zle­ce­nio­daw­cy tej ana­li­zy). Rzecz w tym, że liczy się to czy zle­ce­nio­daw­ca nie tyl­ko otrzy­mał wyni­ki ana­li­zy a tak­że czy je sobie przyswoił…

Przyjmując, że dany sys­tem poję­cio­wy jest kom­plet­ny (pozwa­la na zapi­sa­nie każ­dej infor­ma­cji z danej dzie­dzi­ny), ana­li­za pole­ga tu na roz­ło­że­niu tek­stu (danych) pozy­ska­nych np. z wywia­dów czy doku­men­tów, na skoń­czo­ną licz­bę pojęć i związ­ków pomię­dzy nimi. W efek­cie uzy­sku­je­my np. dia­gram pro­ce­su BPMN (jeże­li celem był model pro­ce­su biz­ne­so­we­go) lub dia­gram klas UML (jeże­li celem była np. ana­li­za poję­cio­wa i zbu­do­wa­nie taksonomii).

Tu doty­ka­my pro­ce­su komu­ni­ka­cji, czy­li prze­ka­za­nia pozy­ska­nej wie­dzy i wyni­ków ana­li­zy innej osobie. 

Czytaj dalej Epistemologia ? jak pomaga w analizie

Polemika

Na zakoń­cze­nie dodam coś do mani­fe­stu: ludzie, sza­nuj­my na wza­jem swo­je kom­pe­ten­cje bo bez tego nie da się współ­pra­co­wać. Po dru­gie, nie tyl­ko w kon­tek­ście owych mode­li, któ­rych kole­ga nie doświad­czył: to że ktoś nigdy nie widział czar­ne­go łabę­dzie nie sta­no­wi żad­ne­go dowo­du na jego nie­ist­nie­nie. Dodam od sie­bie: to że ktoś cze­goś nie potra­fi nie zna­czy, ze to nie moż­li­we. By nie budzić zbęd­nych emo­cji: obec­nie nie potra­fię już dobrze pro­gra­mo­wać (co by to nie mia­ło zna­czyć) ale w swym roz­sąd­ku nie negu­ję ist­nie­nia oprogramowania. 

Czytaj dalej Polemika

Czy wymagania opisują tylko to co” system ma robić?

Bardzo czę­sto tak wła­śnie defi­niu­je się pro­dukt ana­li­zy wyma­gań: wyma­ga­nia funk­cjo­nal­ne opi­su­ją to co ma sys­tem robić. W dys­ku­sjach (ile mam ich za sobą :)) z pro­gra­mi­sta­mi prze­bi­ja się teza, że ana­li­tyk spe­cy­fi­ku­je to co” sys­tem ma robić, a oni już zała­twia spra­wę tego jak” ma to robić. W czym pro­blem? W tym, że funk­cjo­nal­no­ści to test roz­wią­za­nia a nie wyma­ga­nia! […] Przypadki uży­cia sta­no­wią bar­dzo mier­ne przy­bli­że­nie rze­czy­wi­sto­ści. […] Tak więc doku­ment wyma­gań to nie tyl­ko przy­pad­ki uży­cia. Te są raczej testem popraw­no­ści roz­wią­za­nia, czy model jest popraw­ny (przy­po­mi­nam, że przy­pad­ki uży­cia, poza ich sce­na­riu­sza­mi, zawie­ra­ją stan począt­ko­wy i stan koń­co­wy akcji użyt­kow­ni­ka). […] Programiści, pro­szę, nie uda­waj­cie, że zna­cie się na zarzą­dza­niu, mar­ke­tin­gu, biz­ne­sie, sprze­da­ży, ryn­ku, pro­duk­cji itp. bo to (poza pew­nie ist­nie­ją­cy­mi wyjąt­ka­mi) nie praw­da, a pro­jek­to­wa­nie na zasa­dzie wyda­je mi się że rozu­miem” to dro­ga do poraż­ki. […] System ERP moż­na wybrać na bazie pro­jek­tu na wyż­szym pozio­mie abs­trak­cji. Analizy fir­my tak­że pole­ga tu na opra­co­wa­niu mode­li pro­ce­sów. Jednak w tym wypad­ku ich celem jest stwo­rze­nie raczej mode­lu filo­zo­fii dzia­ła­nia” fir­my a nie pro­jek­to­wa­nie sys­te­mu od zera. 

Czytaj dalej Czy wymagania opisują tylko to co” system ma robić?

Czego moglibyśmy się nauczyć od naukowców?

I tu zaczy­na­ją się scho­dy. Bo jeże­li rozu­miem pro­gra­mi­stów, że lubią się bawić, to nie rozu­miem dla­cze­go od razu chcą latać na pro­to­ty­pach samo­lo­tów, gorzej, nie chcą cze­kać na pro­jekt i te śmiesz­ne rysun­ki tech­nicz­ne. Dlaczego inży­nier mecha­nik chce zaj­mo­wać się pro­jek­to­wa­niem tego jak ma wyglą­dać i latać samo­lot sko­ro jego rola i kom­pe­ten­cje to kon­stru­owa­nie a nie np. bada­nie satys­fak­cji klien­ta z lotu na wygod­nym fotelu…

Jak mam sobie wyobra­zić two­rze­nie samo­lo­tu w posta­ci pod­sta­wia­nych na lot­ni­sko pasa­żer­skie kolej­nych pro­to­ty­pów? Czy każ­dy pro­jekt IT to samo­lo­ty? Tak! Tam pra­cu­ją ludzie, pła­cą za to i cier­pi ich biz­nes jak opro­gra­mo­wa­nie nie zadzia­ła jak trze­ba! Co mogę po tym powie­dzieć? Państwo sami zde­cy­duj­cie co woli­cie w swo­ich pro­jek­tach: 200% narzu­tu na swo­bod­ne podej­ście dostaw­ców opro­ga­ra­mo­wa­nia czy 20% na dobre­go ana­li­ty­ka projektanta…

Czytaj dalej Czego moglibyśmy się nauczyć od naukowców?

Nowa specyfikacja Business Motivation Model v.1.1 i modelowanie biznesu

Stosowanie ana­li­zy sys­te­mo­wej, mode­lo­wa­nia oraz for­mal­nych nota­cji do two­rze­nia mode­li, powo­du­je, że wyni­ki ana­liz są dale­ko bar­dziej wia­ry­god­ne. Z regu­ły celem pra­cy ana­li­ty­ka biz­ne­so­we­go czy pro­jek­tan­ta jest opra­co­wa­nie opi­su reko­men­do­wa­ne­go roz­wią­za­nia. Może nim być doce­lo­wy model orga­ni­za­cji czy też opis opro­gra­mo­wa­nia jakie nale­ży dostar­czyć (bo nie zawsze wytwo­rzyć!). W pro­ce­sie for­mal­nej ana­li­zy sys­te­mo­wej (nie jest to ana­li­za sys­te­mu infor­ma­tycz­ne­go, to ana­li­za dowol­ne­go sys­te­mu), powsta­ją mode­le, któ­re testu­je­my. Taki model to naj­pierw hipo­te­za, a po wery­fi­ka­cji, jest to opis roz­wią­za­nia (pro­jekt tego co ma powstać). Idealną sytu­acją była by taka, a któ­rej mamy narzę­dzia do mode­lo­wa­nia każ­dej ana­li­zo­wa­nej dzie­dzi­ny. W kla­sycz­nej inży­nie­rii jest to rysu­nek tech­nicz­ny i zasa­dy obli­cza­nia wytrzy­ma­ło­ści, sfor­ma­li­zo­wa­ny sys­tem two­rze­nia sche­ma­tów elek­trycz­nych i elek­tro­nicz­nych i wie­le innych (zależ­nie od dzie­dzi­ny), nota­cje UML w inży­nie­rii opro­gra­mo­wa­nia. W sfe­rze zarzą­dza­nia mie­li­śmy do nie­daw­na bia­ła pla­mę, teraz mamy już BMM czy ArchiMate. Moim zda­niem utrzy­my­wa­nie, że moż­na coś sku­tecz­nie ana­li­zo­wać meto­da­mi nie­for­mal­ny­mi świad­czy raczej o nie­wie­dzy i bra­ku kompetencji. 

Czytaj dalej Nowa specyfikacja Business Motivation Model v.1.1 i modelowanie biznesu