Amatorom wstęp wzbroniony

Nie zawsze uświadomiona różnica

Nie miejsce tutaj na dalsze wymienianie problemów technicznych, jakie tworzy jedna, na pozór bardzo prosta, linia programu. Wystarczy powiedzieć, że jak dotąd do ich zarysowania musieliśmy sięgnąć do wiedzy z dziedziny systemów operacyjnych, architektury systemów, teorii baz danych i programowania współbieżnego.

Powróćmy teraz do naszego ambitnego samouka, którego postać (niestety, nie hipotetyczną) naszkicowaliśmy na początku. Wszystkie wymienione rozważania są mu całkowicie obce, bo w trzystustronicowych kursach "dla opornych" nie ma na nie miejsca. Gdyby nawet jednak się pojawiły, to i tak zostałyby przeoczone, bo ich zrozumienie wymaga jeszcze solidniejszego fundamentu: topologii, algebry, logiki formalnej itd.

Gdy wykwalifikowany informatyk pisze linię programu, nawet tak prostą jak przytoczona, uruchamia ona w jego umyśle serię skojarzeń. Doświadczony specjalista nawet nie uświadamia sobie tego, że, programując najprostsze rzeczy, dogłębnie analizuje wszystkie wymiary problemu. Robi to nieświadomie, automatycznie, po informatycznemu powiedziałoby się "w tle". Ale wynikiem jest wyższa jakość rozwiązania, wartość, którą odbiorca systemu może przełożyć na konkretne kwoty zaoszczędzone albo zarobione.

Koszty rzeczywiste, koszty ukryte

Firmy zatrudniają osoby o nie potwierdzonych kwalifikacjach przy pracach nad poważnymi systemami. Powodem takiego postępowania jest na ogół "duszenie" kosztów, tak popularny sposób poprawy kondycji rynkowej w restrukturyzujących się przedsiębiorstwach. Tymczasem skutki są dość łatwo przewidywalne: niska jakość rozwiązania, wydłużanie harmonogramów, znikoma możliwość dokonywania zmian itp.

Każdy z tych problemów to pieniądze stracone bez potrzeby. W ten sposób oszczędności podczas tworzenia systemu odbijają się czkawką podczas jego pracy. Pamiętajmy, że już dziś zasadniczym składnikiem całkowitego kosztu systemu informatycznego jest tzw. koszt posiadania (cost of ownership).

Ktoś może powiedzieć, że w większości zastosowań przytoczone rozważania na temat systemu operacyjnego, architektury i baz danych są nieistotne. Rozwiązywany problem ma ograniczoną złożoność i daleko idące spekulacje na temat architektury, współbieżności itd., nie mają podstawy. Należy szybko stworzyć rozwiązanie (np. nowy rodzaj wydruku), dać je użytkownikom i ewentualnie po pewnym czasie usunąć spostrzeżone przez nich usterki. A dywagacje na zaawansowane tematy informatyczne są przerostem formy nad treścią, są nieistotne i nie należy się nimi przejmować.

Tak zapewne rozumowali ci programiści i menedżerowie, którzy zdecydowali zapisać rok z użyciem tylko dwóch ostatnich cyfr, zamiast wszystkich czterech. Zaoszczędzili w jednym systemie kilka, może kilkadziesiąt tysięcy dolarów na pamięci operacyjnej i masowej. Zapewne drugie tyle mogli zaoszczędzić, zatrudniając przy projekcie samouków i entuzjastów, zamiast profesjonalistów znających podstawy informatyki, a nie tylko kilka narzędzi. Dziś wartość prac mających naprawić wynik ich niefrasobliwości jest szacowana przez Gartner Group na kilkaset miliardów dolarów. I oby nie przyszło zapłacić nam jeszcze wyższej ceny, nie wyrażanej w walucie.

Zakaz wstępu

Z wszystkich elementów istotnych dla systemu informatycznego największe "wahania jakości" ma czynnik ludzki. Nie da się ukryć, że tworzenie zespołu wysoko kwalifikowanych, doświadczonych specjalistów jest trudne, czasochłonne i kosztowne. Daje jednak szansę, że przygotowane przez niego rozwiązanie informatyczne będzie stabilne, skalowalne, bezpieczne i rozwojowe. Tworzenie zespołu amatorów jest łatwe, szybkie i względnie tanie. Ma jednak jedną wadę: gwarantuje, że przygotowane rozwiązanie będzie niestabilne, pełne łat i niedoróbek oraz kosztowne w utrzymaniu. Systemy informatyczne trzeba robić dobrze, a nie tanio. Dlatego powinni się tym zajmować profesjonaliści. Amatorom wstęp wzbroniony!


TOP 200