Dejvid Parnas, pionir softverskog inženjerstva: Tehnologija neverovatno brzo napreduje, nauka ne uspeva da isprati korak

Intervju sa Dejvidom Parnasom, koji će otvoriti ovogodišnju Voxxed Days konferenciju.

Jovana Tomić - 7. Oktobar, 2017.

Dejvid Parnas, jedan od pionira softverskog inženjerstva, u oktobru će govoriti na tehnološkoj konferenciji Voxxed Days Belgrade. Pre njegovog dolaska, imali smo prilike da mu postavimo nekoliko pitanja koja se tiču obrazovanja u oblasti informacionih tehnologija kao i da čujemo njegove stavove o tome šta je potrebno da bi jedan softverski inženjer mogao da napravi dobar proizvod koji će ljudi koristiti bez poteškoća.

Ovo je drugi put da ste na Balkanu; bili ste ovde sedamdesetih, zar ne? Bili ste u mnogim zemljama i gradovima širom sveta, kako to da ovi krajevi nisu bili na Vašoj listi više od 40 godina?

Godine 1971. govorio sam na velikoj međunarodnoj konferenciji u Ljubljani, koja je tada bila deo Jugoslavije. Konferencija je bila toliko značajna da su otpremili posebne avione kako bi nas doveli direktno i kako bismo izbegli uobičajnu trasu. Mnoge stvari sam voleo u vezi sa bivšom Jugoslavijom, i voleo bih da sam mogao da ih vidim opet, ali nikada me više nisu pozvali. Svet je bio zauzet odsecanjem delova Jugoslavije, ponekada uz masovno krvoproliće, a ja sam bio zauzet pisanjem naučnih radova i držanjem nastave.

Ove godine, otvorićete Voxxed Days Belgrade. O čemu nameravate da govorite publici— možete li da podelite nešto o tome sa nama?

Govoriću o temi koja zvuči pomalo neobično — Softversko starenje. U svojoj dugoj karijeri video sam kako se puno toga očekivalo od mnogih novih softverskih sistema, a koji su kasnije postali zastareli softver. Softver je bio moderan i jednostavan za upotrebu dok je bio nov, ali je nakon velikog broja izmena stvarao probleme prilikom korišćenja, a izmene su se teško sprovodile. Bilo je nekoliko izuzetaka, ali se ovo starenje nastavlja. Kada su novi projekti počinjali, niko nije mislio da će postati breme vlasnicima. Mislim da je neočekivanje problema izvor problema. Ako ne zaboravimo da će softver, ukoliko ima uspeha, stariti, možemo ga dizajnirati tako da usporimo taj proces. Imam osećaj da ću govoriti pred ljudima koji razvijaju nove proizvode na tržištu koje se menja munjevito brzo, i želim da im pomognem da planiraju unapred i pripreme softver tako da ostane pogodan za korišćenje i održavanje tokom više decenija.

U svojim radovima, iako ste se dosta fokusirali na temu softverskog inženjerstva, isticali ste i različite aspekte koje ta tema obuhvata—komunikaciju, jasne zahteve, dizajn, ali i disciplinu. Disciplina se ne spominje često u ovoj oblasti, zbog čega mislite da su disciplina u razvoju i održavanju softvera važni za današnji razvoj softvera?

Kada sam se ja školovao u oblasti tehničkih nauka, nisu postojale katedre za informatiku i računarstvo. Kompjuter je bio novina u većini sveta, i bilo ih je svega nekoliko kod nas na univerzitetu. Zato sam završio dodiplomske i diplomske studije u oblasti inženjerstva. U Severnoj Americi, kada se školujete u oblasti inženjerstva, disciplina prilikom dizajniranja se posebno ističe kao značajna. Učili su nas da uvek preispitujemo način na koji se nešto radi, da uvek budemo kreativni, i radimo na unapređenju dizajna, ali i da stalno, temeljno proveravamo naš dizajn. Veći deo našeg obrazovanja sastojao se iz učenja o načinu na koji matematika može da se primeni u analizi našeg dizajna i toga da treba da budemo sasvim sigurni da i drugi ljudi mogu da taj dizajn koriste. Primera radi, građevinski inženjeri moraju da popune mnoge obrasce koji ih prisiljavaju da izračunaju važna svojstva građevina čije nacrte izrađuju. Elektroinženjeri uče kako da izračunaju svojstva kao što su stvaranje i disipacija toplote kada rade na svojim rešenjima. Razlog što je inženjerstvo na dobrom glasu je taj što se disciplinovano prate propisane procedure i što se primenjuju jasna načela matematike i dizajna. Tome moramo naučiti softverske inženjere.

Krajem 60-ih godina, ljudi koje su zanimali računarstvo i razvoj softvera shvatili su da se bave inženjerstvom, a ne naukom. Nisu se bavili merenjem svojstava, izumevanjem modela ili dokazivanjem teorema. Bavili su se pravljenjem stvari koje drugi ljudi koriste. Smislili su termin softversko inženjerstvo, ali većina njih nisu bili inženjeri, i nisu razumeli koliko uspeh inženjera zavisi od discipline prilikom dizajniranja i dokumentovanja. Zbog toga i dalje imamo probleme pri razvoju softvera, probleme koji su daleko ozbiljniji od problema koji se mogu susresti u drugim oblastima inženjerstva.

Jedan od vaših najpoznatijih citata je „Shvatio sam da je razlog što mnoge ljude interesuje veštačka inteligencija isti kao i razlog zbog kojeg mnoge ljude interesuju veštački organi—potrebni su im”. Veštačka inteligencija je opet aktuelna tema. Da li su Vaši pogledi na ovu temu drugačiji? Šta danas mislite o ovome?

Veštačka inteligencija nikada nije ni prestala da bude aktuelna. Oko nje se uvek stvara fama—pobornici veštačke inteligencije daju velika obećanja, a ostali su veoma zabrinuti.

Ljudi koji podržavaju istraživanja u oblasti veštačke inteligencije često daju izjave koje mogu dovesti u zabunu. Na primer, često tvrde kako je Turing predložio svoju igru imitacije kao test za veštačku inteligenciju. Ako pažljivo pročitate njegov rad, videćete da je rekao upravo suprotno.

Dok budem došao u Beograd, oktobarsko izdanje naučnog časopisa Communications of the ACM (CACM) će izaći. U njemu će biti članak koji sam napisao, pod nazivom Pravi rizici veštačke inteligencije. Ako budete imali prilike da ga pročitate, videćete da sam i dalje vrlo kritički nastrojen kada su u pitanju pristupi veštačkoj inteligenciji. Ako bih formulisao u jednoj rečenici, rekao bih da je veštačka inteligencija i dalje nedefinisan pojam i da je softver koji se naziva veštačkom inteligencijom često pun grešaka i nepouzdan. Puno primera možete naći u mom tekstu u CACM.

Bili ste svedok mnogih trendova u industriji, profesor na mnogim unizverzitetima, autor mnogih naučnih radova, uvek u službi prenošenja znanja. Kako vidite trenutno obrazovanje u IT sektoru, opšte gledano?

Zajedno sa grupom kolega nedavno sam objavio opsežan rad na ovu temu.

Landwehr, C., Ludewig, J., Meersman, R., Parnas, D.L., Shoval,

P., Wand, Y., Weiss D., Weyuker E., “Software Systems

Engineering programmes: a capability approach”, in Journal of

Systems and Software, Vol. 125, March 2017, pp. 354–364,

Article: JSS9898doi> 10.1016/j.jss.2016.12.016

Verujemo da treba preispitati obrazovanje u oblasti softverskog inženjerstva. Sada se softversko inženjerstvo podučava na način na koji se podučavaju prirodne nauke, prenošenjem znanja. Treba ga podučavati na način na koji se podučava inženjerstvo — inženjersko obrazovanje takođe podrazumeva prenošenje znanja, ali naglašava upotrebu tog znanja kako bi se osmislili bolji proizvodi. Nadam se da će ljudi koji budu dolazili na moje predavanje u Beogradu pročitati ovaj rad. U njemu su predložene neke velike izmene.

Kada su u pitanju univerziteti, otvoreno ste kritikovali rangiranje na osnovu broja objavljenih radova. Rekli ste da se time usporava napedak nauke. Šta mislite da je moguće uraditi po tom pitanju?

Tokom svoje karijere, bio sam član mnogih univerzitetskih odbora koji procenjuju nastavnike radi dodele zvanja i napredovanja. Bio sam i član odbora koji su ocenjivali predloge za finansiranje istraživanja. Često sam viđao da se odluke donose, a da neki članovi odbora nisu ni pročitali radove kandidata. Prosto su brojali koliko radova kandidat ima, ako je imao dovoljno radova objavljenih u referentnom žurnalu ili izloženih na konferencijama, podržali bi predlog za dodelu zvanja ili finansiranje. S vremena na vreme, svedok ste toga da kandidat sa malim brojem izuzetno dobrih naučnih radova bude odbijen, a da kandidati sa velikim brojem loših radova dobiju više zvanje ili materijalnu podršku. Time se podstiče nekvalitetno istraživanje i obeshrabruje bavljenje teškim ali važnim problemima. Razgovarao sam sa mnogim istomišljenicima koji se slažu da ovo donosi štetu institucijama i nauci. Nažalost, niko ne zna kako da ovaj problem „izleči”. Znam da se moramo postarati da članovi odbora zapravo pročitaju radove kandidata.

S druge strane, tehnologija vrlo brzo napreduje. Da li bismo na neki način to mogli dodatno da povežemo sa naporima uloženim na polju prirodnih nauka?

Tehnologija je napredovala neverovatno brzo tokom moje karijere. Nažalost, nauka nije uspela da isprati korak. Danas lako možemo da radimo stvari koje nismo mogli kada sam ja bio mlad, ali razlog napretka je brži hardver, veća memorija, i znatno brža komunikacija.

Intervju sa Dejvidom možete u celosti i na izvornom jeziku pročitati ovde.