[forumowicz] Nauki ścisłe to przede wszystkim wiedza o funkcjonowaniu świata oraz naukowa metoda analizowania zjawisk oparta o dowód.
Przysłuchuje się tej dyskusji (dotyczyła pewnej tezy związanej z analizą wymagań) i nasunęła mi się pewna myśl. Padają [w dyskusjach] często powyższe słowa “oparta o dowód”. Jest to skupienie się na matematycznej definicji dowodu. Jest jednak na świecie wiele zjawisk nie poddających się detalicznemu badaniu bo ich złożoność jest czymś “nie dającym się opisać w rozsądnym czasie” – to myśl z książki Sommervill’a. To między innymi dzięki temu odrzucono formalne (oparte na wzorach) metody projektowania oprogramowania. Drugim powodem jest to, że nie istnieje obecnie sposób jednoznacznego i odwracalnego przekształcenia “sformalizowanych wymagań” w działający kod.
Naukowa metoda to dedukcja, to przeprowadzenie badań, wyprowadzenie wniosków i ujęcie ich w postaci modelu badanego zjawiska twierdząc, że “tak właśnie jest”. Tu nie występuję pojęcie dowodu, znane z matematyki ale uznaje się, że dopóki model w odpowiedzi na rzeczywiste bodźce daje zgodne z rzeczywistymi (obserwowane w rzeczywistości) odpowiedzi, jest uznawany za prawidłowy. W takim przypadku to nie autor postawionej i popartej faktami i modelem hipotezy, musi udowadniać jej prawidłowość, ale oponenci muszą wskazać bodziec dający inny niż rzeczywisty skutek, by tę tezę obalić.
Tak się postępuje w sytuacji gdy złożoność badanego przedmiotu jest “nie do ogarnięcia”, a do takiej kategorii należą nie tylko wiedza humanistyczna, ale także rynek, zarządzanie i projektowanie oprogramowania wspomagającego to zarzadzanie.
Oczekiwanie więc, że coś w projekcie (modelu produktu) należy udowodnić jest moim zdaniem błędem. Proszę zwrócić uwagę np. na psychologię. Stawia się hipotezy dot. działania ludzkiego mózgu, buduje się jego modele kontekstowe (inne dla zjawiska pamięci, inne dla wzroku czy słuchu). Modele te są uznawane jako prawda tak długo jak tłumaczą mechanizm obserwowanego zjawiska.
Skupienie się więc na matematycznym dążeniu do dowodzenia, w sensie jakiegoś wzoru, jest moim zdaniem błędem. Prosty przykład, mnie szczególnie irytujący a tu nie raz omawiany. Podpis człowieka łatwo podrobić, podpis elektroniczny praktycznie nie. Dlaczego? Bo inżynierski umysł uznał, że zamiennikiem podpisu odręcznego będzie niedająca szansy podrobienia technologia – typowy przykład “lepsze wrogiem gorszego”. Osiągnięty obecnie efekt rynkowy to zignorowanie podpisu elektronicznego i to nie dlatego, że “nie daje szansy” podróby ale dlatego, że jest za dobry i przy tym zbyt kosztowny.
Tak więc nie prawdą jest moim zdaniem, że należy udowodnić czegoś, by to uznać za “dobre”. Są rzeczy, których nie da się dowieść, co nie znaczy, że (te modele) są złe i nie należy ich używać. W samej matematyce mamy np. twierdzenie Fermata, nie ma matematycznego dowodu ale nadal nie zostało obalone…
Inny przykład, z mojego podwórka i przy okazji będący często przedmiotem sporu i z programistami i z pracownikami ich klientów. Jeżeli tworzę model procesowy organizacji i wyprowadzam z niego wymagania na oprogramowanie nie muszę nikomu udowadniać, że to dobry model (model procesów, który tak na prawdę opisuje jak zachowa się modelowana organizacja w odpowiedzi na zadane zdarzenie np. gospodarcze). Osoba uważająca, że ten model jest zły musi wskazać sytuację (zdarzenie), w której ten model da nieprawdziwy wynik (efekt, zdarzenie) by zanegować go jako model tegoż zjawiska (tu organizacji). I tak wygląda “obrona” wyników analizy: albo jest niepodważalna albo jest zła.
W jednej z książek z obszaru psychologi (PODSTAWY KOMUNIKACJI SPOŁECZNEJ Griffin Em) zawarta jest ciekawa teza: badania i naukowców można podzielić na dwie grupy:
1. intepretacjoniści (indukcja),
2. badacze systemowi (dedukcja).
Ci pierwsi to ludzie, którzy badając zjawisko wykonują dziesiątki, setki a nie raz i tysiące pomiarów (ankiet) twierdząc, że to one (te badania) potwierdzają, swą duża ilością “prawdziwość twierdzenia”.
Ci drudzy to ludzie, którzy badają (obserwują) zjawisko tylko tyle razy, by móc postawić tezę wyjaśniającą w postaci modelu tego zjawiska. Model jest uznawany za poprawny tak długo, jak długo “zachowuje się” tak jak badany przedmiot.
Różnica polega na tym, że intepretacjonizm to tylko badanie historii, na pytanie o coś nieznanego z historii “a co będzie gdy” interpretacjonista odpowie “to trzeba zbadać”. Jest tak dlatego, że intepretacjonizm pozwala co najwyżej odpowiedzieć na pytanie z jakim prawdopodobieństwem historia się może powtórzyć.
Na to samo pytanie badacz systemowy (metoda naukowa) odpowie prognozą polegającą na tym, że potraktuje stworzony model “tym czymś” z pytania i powie jak zareagował model i jaką da odpowiedź nawet wtedy gdy będzie to nowy bodziec nie znany z historii (co jest przewagą dedukcji nad indukcją).
Jaka jest tu różnica? Ci pierwsi zawsze zadają pytanie “kto przeprowadził badanie potwierdzające to co mówisz” (moim zdaniem nie zawsze mające sens bo np. jak firma wdraża jakieś oprogramowanie to robi to pierwszy raz i tylko modele dają szanse odpowiedzi co będzie gdy…) Ci drudzy zaś, analitycy systemowi, stosujący naukowe metody, potrafią z dużym prawdopodobieństwem przewidywać.
Są np. takie dziedziny jak kursy akcji i tu jest moim zdaniem przykład porażki interpretacjionistów: analiza techniczna (typowe badania intepretacyjne) nie uczyniła z nikogo bogacza. O czym to świadczy? O tym, że systemy gospodarcze są zbyt złożone by tak je badać, także o tym że długo jeszcze będzie to loteria (w kategoriach rynku spekulacji czyli krótkich inwestycji). Można jednak rozumiejąc mechanizm zjawiska społecznego i makroekonomicznego przewidywać pewne zachowania, i tu doskonałym przykładem jest np. prawo (mechanizm) popytu i podaży.
Użytkownicy równań, wzorów, regułek i algorytmów mają inklinację do wyobrażania sobie także życia społecznego jako podlegającego koniecznym prawom, mechanizmom i technikom, co czyni ich ? zdaniem Marthy Nussbaum – niebezpiecznymi dla demokracji oraz pluralistycznego, otwartego społeczeństwa wolnych obywateli. “Kształcenie nastawione na technikę i biznes produkuje ludzi, którzy są konformistyczni, pokorni wobec władzy i nie myślą krytycznie o propagandzie, którą im podsuwają politycy. Nie potrafią też zrozumieć cierpienia i uczuć ludzi, którzy się od nich różnią”.