Jestem pewien, że wiesz równie dobrze jak ja, że oprogramowania inżynierskie z roku na rok robią się coraz łatwiejsze w obsłudze. To w sumie dobrze, mam jednak obawy, że niesie to ze sobą pewne koszty. Z pomocą owoców i statków kosmicznych spróbuję dziś wytłumaczyć, co mam na myśli.

Jabłko, jabłko, banan

Pamiętam czasy, kiedy nie było jeszcze internetu. Używałem DOSa, programowałem w Turbo Pascal i robiłem rysunki w Paincie (zbudowałem też domek na drzewie z kolegami). Mój pierwszy komputer miał 40 Mb dysku twardego i kilka kB RAMu. Mogę szczerze napisać, że używałem wielu różnych programów komputerowych i obserwowałem ich rozwój na przestrzeni lat. Brzmi to, jakbym gdzieś po drodze spotkał się z Seneką… więc dodam, że mam tylko 33 lata (!).

Może zaczynałeś kilka lat wcześniej lub później niż ja, myślę jednak, ze zgodzisz się ze mną, że oprogramowanie staje się coraz łatwiejsze w obsłudze. Nie tak dawno używanie MESa wymagało doktoratu i niezłych umiejętności programistycznych. Obecnie ze stworzeniem modelu i przeprowadzeniem analizy poradziłby sobie rozsądny nastolatek. Nie jestem pewien, czy przyjąłbym bezkrytycznie wyniki tej analizy… ale nastolatek pewnie nie miałby z tym problemu!

Oprogramowanie staje się tak proste, że analogia, z której często korzystam, nabiera coraz więcej sensu.

Wyobraź sobie, że wyprodukujemy klawiaturę z 3 klawiszami: jabłko, truskawka i banan. Następnie przypiszemy funkcje do przycisków:

  • Jabłko: generuje model
  • Truskawka: tworzy obciążenia i warunki brzegowe
  • Banan: drukuje wyniki

Nie potrzebowalibyśmy już inżynierów, tylko małp. W końcu stosunkowo łatwo jest wyszkolić małpę, żeby najpierw nacisnęła jabłko, później truskawkę i na koniec banana.

W świecie “najlepszego oprogramowania, które zawsze ma rację” jest tylko jedna możliwość popełnienia błędu… naciśnięcie jabłka, jabłka, banana.

Całe szczęście, że rzeczy nie są tak proste, jak się wydają (przynajmniej jeszcze nie są!). Obawiam się jednak, że możemy już zaobserwować degradację umiejętności inżynierskich.

Przemilczane ograniczenia i założenia

Dla końcowego użytkownika wszystko staje się łatwiejsze… ale czy jest łatwiejsze w rzeczywistości? Powiedziałbym, że nie – po prostu dlatego, że trudno jest negocjować z fizyką. Co więcej, projektujemy coraz bardziej złożone konstrukcje! Rozsądnie byłoby więc założyć, że rzeczy nie tylko nie stają się coraz łatwiejsze, ale wręcz robią się coraz bardziej skomplikowane.

Pomyśl o tym w ten sposób: kiedy definiuję analizę nieliniową, muszę wziąć pod uwagę wiele parametrów. Muszę wybrać metodę sterowania analizą, parametry obliczeń itd. Ogólnie rzecz biorąc, ustawienia te zajmują mi dobre 15 minut, a mam kilka lat doświadczenia.

Co jednak, jeśli w Twoim programie jest ładny błyszczący guzik “wykonaj analizę nieliniową”? Wystarczy go wcisnąć… i tyle. Kto więc w takim przypadku decyduje o parametrach, które ustalam przy definiowaniu analizy? Wygląda na to, że program… czy jednak na pewno o to chodzi? Kto podjął te wszystkie decyzje i na jakiej podstawie?

Jeśli wiesz wystarczająco dużo, możesz to wszystko sprawdzić w instrukcji oprogramowania. Możesz też spróbować wpłynąć w jakiś sposób na wybór parametrów, na przykład szukając “trybu ręcznego”. Co jednak, jeśli nie wiesz wystarczająco dużo? Wtedy po prostu uznasz, że masz rozwiązanie i będziesz mieć nadzieję (która z biegiem czasu zamieni się w przekonanie), że wynik jest poprawny.

Ten sam problem można już zaobserwować na uczelniach. Trudno jest przekonać studentów, żeby uczyli się statyki i wytrzymałości materiałów. Cała ta wiedza jest “ukryta” w jednym “przycisku” analizy, nie ma więc “rzeczywistej potrzeby”, by to wszystko wiedzieć! Nie wspominając już o tym, że to wszystko jest kuszące także dla nauczycieli… po co tyle tłumaczyć, skoro można po prostu powiedzieć “analiza”.

Prowadzi to do sytuacji, w której wiemy coraz mniej, coraz bardziej wierząc w otrzymywane wyniki analiz.

Czym grozi samodzielne naprawianie statków kosmicznych

Nigdy nie byłem fanem science-fiction, jednak świat Warhammera 40k przykuł moją uwagę. W tym “wszechświecie” ludzkości udało się stworzyć niesamowicie zaawansowaną technologię. Technologia ta pozwoliła na stworzenie samosterujących statków kosmicznych i innych cudów. Minęły lata… nikt już nie pamięta, jak to wszystko zrobić, to jednak nic nie szkodzi, bo wciąż istnieją ci “starzy”! W tej ekstremalnej przyszłości statki są obsługiwane przez techno-kapłanów, którzy wchodzą na statek, by rozmawiać “z duchem maszyny” i wykonywać pewne rytuały. Potem statki przenoszą ludzi tam, gdzie ci chcą.

Ten genialny rysunek został zrobiony przez Zacha Wootena (warhammer40k.wikia.com)

To na pewno bardzo ładny rysunek, ale czy przypadkiem nie jest on jednocześnie ostrzeżeniem? Czy nie zmierzamy do świata, w którym kilku szczęśliwych techno-kapłanów inżynierii rozumie, co się dzieje? Reszta ludzi natomiast próbuje jedynie nie nacisnąć jabłka i banana w złej kolejności?

To oczywiście skrajne podejście, jednak już dzisiaj widzę, jak oprogramowanie odbiera ludziom zdolność do rozumienia zagadnień na głębszym poziomie. Ma to wiele twarzy:

  • Na uczelniach wyższych mniej uczymy i mniej tłumaczymy, ponieważ studenci i tak otrzymują odpowiedzi od programów komputerowych.
  • Nie próbujemy zagłębić się w przeprowadzaną analizę, ślepo wierzymy w otrzymywane wyniki.
  • Jako że możemy otrzymywać wyniki szybciej, tego też się od nas wymaga. W rezultacie w projektach jest coraz mniej czasu na przemyślenie sprawy.

To wszystko pcha nas coraz mocniej w stronę przerażających dylematów z jabłkami i bananami. Byłem świadkiem dyskusji (prowadzonej przez specjalistów!) dotyczących tak podstawowych problemów, że było to aż przygnębiające. Jasne, że fatalna wizja nie ziści się z dnia na dzień, obawiam się jednak, że proces ten jest już w toku.

Enterfea przeciwko guzikom z owocami!

Jestem zdecydowanym zwolennikiem rozwoju oprogramowania. Martwi mnie jedynie sposób, w jaki inżynierowie zaczynają je traktować. Coraz częściej wchodzimy w strefę “guzików z owocami”. W ramach walki z tym zjawiskiem założyłem bloga. Chcę pokazywać na nim złożone piękno inżynierii 🙂

Staram się tutaj nie tylko dzielić swoją wiedzą, pomagać Ci w zdobywaniu nowych umiejętności i rozwoju kariery. Chciałbym również pomóc Ci w czerpaniu satysfakcji z pracy. Jestem przekonany, że jeśli więcej zrozumiesz, więcej też będziesz mógł zrobić i do tego z większym poczuciem satysfakcji. Wydaje mi się, że w dzisiejszych czasach wielu inżynierów ma z tym problem.

Spróbujmy więc nie ograniczać się do pełnienia roli małp, nie zmieniajmy inżynierii w religię rządzoną przez kilku kapłanów! Jeśli chcesz dołączyć do naszej krucjaty, spróbuj szerzyć ideę zrozumienia inżynierii – to wiele dla mnie znaczy 🙂

Chciałbym też wiedzieć, jakie jest Twoje zdanie na ten temat. Zostaw więc swój komentarz poniżej lub też napisz do mnie na enterfea@enterfea.com.

Chcesz nauczyć czegoś ciekawego o MES?

Jeśli interesujesz się MESem, możesz dowiedzieć się kilku przydatnych rzeczy z mojego darmowego kursu:

Wstęp do stateczności i MES