JEDAN OD NAJVEĆIH IT STRUČNJAKA DANAŠNJICE: Džim Koplin posetio Comtrade i održao predavanje o Scrum metodi

U pauzi između Džimovih predavanja imali smo prilike da popričamo s njim. Tom prilikom nam je otkrio šta je zapravo Scrum, koje su prednosti korišćenja ove metode, ali je dao i veoma korisne savete za sve koji žele da se bave programiranjem

Današnji svet ne možemo da zamislimo bez pametnih telefona, računara, interneta... Na svemu tome možemo da zahvalimo informacionim tehnologijama, odnosno razvoju softvera, koji su najzaslužniji za sve što danas imamo.

Programerski timovi koriste brojne alate i tehnike kako bi stvorili softver, a jedna od njih je i Scrum metoda. Ukoliko se ne bavite razvojem softvera, za Scrum sigurno niste ni čuli, ali ćemo u nastavku pokušati da objasnimo o čemu se zapravo radi.

Naime, u Comtradeu, najvećoj IT kompaniji u regionu, zaposlene je tokom prošle nedelje obučavao jedan od najvećih stručnjaka za Scrum metodu, Džim Koplin.

U pauzi između Džimovih predavanja imali smo prilike da popričamo s njim. Tom prilikom Džim nam je otkrio šta je zapravo Scrum, koje su prednosti korišćenja ove metode, ali je dao i veoma korisne savete za sve koji žele da se bave programiranjem.

Šta je zapravo Scrum metoda?

Mnogi ljudi misle da je Scrum softver. Istina je da on uopšte nema veze sa time. Naime, Scrum predstavlja agilni pristup za upravljanje razvojem softvera opšte prihvaćen u svetu, a glavni cilj mu je da programerskim timovima pomogne da budu što bolji i efikasniji.

Ukoliko se unapredi sam proces nastajanja određenog softvera, krajnji produkt će biti daleko bolji.

Scrum pomaže u pronalaženju grešaka, njihovom rešavanju i unapređivanju. Kada softver razvijate Scrum metodom, to znači da ćete do finalnog proizvoda dolaziti u ciklusima, odnosno da ćete objavljivati deo po deo softvera, a ceo proces nadziraće ljudi koji su u stvari i zaslužni za njegovo nastajanje.

Koji su benefiti korišćenja Scrum metode?

Postoji mnogo benefita od korišćenja Scruma u razvijanju softvera. Ono što kompanijama verovatno najviše znači je fleksibilnost.

Umesto da se obavežu da tačno određenog datuma kupcu ponude kompletno završen softver, koji će do tada možda izgubiti neke svoje karakterisitike i namenu, korišćenjem Scrum metode developeri mogu da u bilo kom trenutku promene pravac u razvijanju proizvoda. To znači da se softver uvek može prilagoditi novim uslovima na tržištu ili želji kupca. Ova mogućnost se naziva agilna strana Scruma.

Još jedna od prednosti je efikasnost.

Mnoge kompanije tokom razvijanja softvera bacaju vreme na manje bitne stvari. Softveru dodaju funkcije koje nemaju nikakvu vrednost i koje se nikada neće koristiti, neke opcije ponavljaju nekoliko puta... Korišćenjem Scruma ovi propusti postaju vidljivi, pa ih je vrlo lako otkriti i otkloniti, što za rezultat ima efikasnost. To znači da tim isti proizvod može napraviti kvalitetnije za mnogo manje vremena, odnosno da u istom periodu napravi više proizvoda.

Kako vi vidite da će se korišćenje Scrum metode odraziti na poslovanje kompanije Comtrade?

Comtrade ima gotovo 100 sertifikovanih Scrum profesionalaca koji praktikuju Scrum na preko 60 odsto aktuelnih projekata. I još puno ulažu da se jasno izdiferenciraju na tržištu kao Agilna kompanija. Ja sam trener i nikada ne znam kada će moji polaznici tačno preći na korišćenje Scruma, to zavisi najviše od njih. Ja sam samo glasnik koji je ovde da im ponudi "alat" za rad. Kompanija je glavna, ja ih ne mogu naterati da pređu na Scrum, ali im mogu ponuditi znanje koje će iskoristiti kako bi unapredili svoje poslovanje, a zatim će oni morati da odluče kada je pravo vreme za prelazak.

Ja ću im uvek biti na raspolaganju ukoliko imaju neke nedoumice, ali su zaposleni "glavni glumci" koji imaju potpunu kontrolu u ovom procesu. Ukoliko ja budem počeo da se mešam u sve, to to ne bi bilo dobro. Cilj je da oni sami osete kontrolu i moć u razvijanju softvera Scrum metodom, kako bi zatim mogli da uživaju u njenim benefitima.

Kakvi su bili vaši počeci, da li je bilo teško?

Nije. Ja sam svoje istraživanje počeo još u laboratiji koje je trajalo godinama i koje je sprovedeno na velikom broju kompanija. Bilo je veoma lepo jer volim da radim sa ljudima. Tada sam jako puno učio. Koristio sam prikupljene podatke kako bih napravio određene modele, pisao sam knjige i publikacije na ovu temu.

Devedesetih godina je bilo dosta ljudi koji su se bavili ovim poslom. Jedan od njih je i Džef Saterlend. On je pročitao neka moja dela, kao i ja njegova, pa smo do mnogih ideja došli zajedničkim snagama.

Koje svoje dostignuće vidite kao najveće?

Definitivno to što sam podigao troje dece. Kada je reč o poslu, zaista je teško odrediti. Postoji mnogo stvari na koje sam ponosan.

Jedan sam od osnivača "Pattern" discipline. To je tokom godina bila moja velika strast.

Takođe sam objavio i nekoliko knjiga koje su imale, ja mislim, veoma pozitivan uticaj na ljude. To je bilo naročito zadovoljavajuće.

Ono što trenutno radim me takođe ispunjava. Stvaram zajednicu ljudi koju će činiti eksperti i osnivači Scrum metode. Svi zajedno ćemo nastaviti sa unapređivanjem ove metode. Takođe pišemo određenu literaturu koja će na mnogo višem nivou objasniti šta je Scrum zapravo, kako organizovati timove i veoma sam uzbuđen zbog svega toga.

Radili ste i kao profesor na mnogim evropskim univerzitetima, kako je to uticalo na vas?

To je veoma interesantno pitanje. Bio sam profesor na nekoliko mesta. Među njima su Univerzitet u Mančesteru gde sam imao titulu gostujućeg profesora, kao i univerziteti u Australiji i Čikagu.

Ja sam programer, ja pišem kod, volim da "uprljam" svoje prste radeći, radim sa ljudima, a ljudi su veoma neuredni. Neurednost i kompleksnost ljudi je ono što život čini radosnim. 

Akademici su veoma "sterilni", formalni, posao rade po pravilima i vole da raspravljaju, oduvek sam smatrao da njima ne treba verovati. Dosta sam ih kritikovao, ali zaista nisam imao iskustva u profesorskom radu i hteo sam da steknem doktorat kako bih stekao potrebno iskustvo i video da li sam zaista u pravu u vezi s mojim kritikama upućenim akademicima.

Tokom sticanja mog doktorata i radeći kao profesor veoma sam se iznenadio. Naučio sam puno iz svega toga, i to ne mnogo u vezi sa tehnologijom, već kako uticati na druge ljude da bi se postigao napredak, kao i koja je uloga formalnog učenja. Radeći kao profesor naučio sam prvenstveno dosta o sebi, ali sam i stekao trajna prijateljstva koji su zaista pravo blago.

Šta biste savetovali svima koji žele da počnu da se bave programiranjem?

Ovih dana je učenje programiranja daleko drugačije nego sedamesetih godina kada sam ja učio. Danas imate decu koja već mogu da pišu kod i programiraju.

Prva stvar koju bih rekao nekome ko želi da nauči programiranje jeste da nađe dobrog mentora, nekog ko je zreo i zna posao. Veoma bitna stvar kod programiranja je "ljudska strana".

Druga stvar je da se fokusiraju na dobru interakciju sa ljudima. To je ono što će doprineti da program bude što bolji. Program mora da služi čoveka i mora da se prilagodi našem načinu razmišljanja i funkcionisanja. Ukoliko bih im predložio da za učenje idu u školu, rekao bih im da uče kognitivnu psihologiju, sociologiju, a ne programiranje, jer je cela suština u ljudima.

Treći savet je da pišu programe. Oni ne moraju da budu dobri, već samo da rade. Način na koji ćete postati dobar pesnik je tako što ćete pisati pesme, a dobar programer tako što ćete pisati programe. I za kraj, čitajte kodove napisanih programa, jer se odatle može naučiti mnogo toga.

Koji programski jezik biste preporučili za učenje?

Zavisi od toga čime želite da se bavite. Jedan deo mene je veoma staromodan po ovom pitanju. Naime, ljudi ne razumeju kako programiranje zapravo funkcioniše "ispod haube", pa bih preporučio učenje mašinskog jezika koji je osnova svega. Jednom kada ljudi to nauče, shvatiće koliko su kompjuteri zapravo "glupi" i koja su njihova ograničenja.

Nakon toga bih preporučio učenje dva do tri programska jezika odjednom. Jedan bi trebalo da bude neki proceduralni jezik (C, Pascal...), drugi bi trebalo da bude neki funkcionalni jezik i treći neki objektno orijentisani (C#, .net, C++...). Nikako ne preporučujem Javu za učenje, jer sa ovim programskim jezikom nikada nećete naučiti suštinu.

Prvi put ste u Srbiju došli pre desetak godina. Kako vam se sviđa naša zemlja?

Sa vašom zemljom imam veoma strastveni odnos. Ono što me je dovelo ovde je užasna politička situacija u kojoj se Srbija nalazi. Ovde vidim puno potencijala, i to ne samo u Srbiji, već u celoj jugoistočnoj Evropi.

Veoma volim ljude ovde, ali plačem nad kompletnom situacijom. Srbija ima puno dobrih, obrazovanih ljudi koji su puni potencijala, ali nemaju povezanost sa svetskim tržištem zbog svih barijera.

Želeo sam da uradim nešto dobro ovde, zbog toga se i vraćam svaki put. Pokušavam da ohrabrim i druge ljude da dođu u Srbiju i koliko-toliko doprinesu poboljšanju cele situacije. Na taj način mi možemo da naučimo od vas i vi od nas.

Trenutno držim kurs u kompaniji Comtrade sa divnim ljudima, i nadam se da će buduća saradnja sa ovom kompanijom imati bolji uticaj na kompletno društvo u Srbiji. Comtrade je centar od izuzetnog značaja za razvijanje Scruma u Srbiji, i nadam se da će veliki broj drugih kompanija u vašoj zemlji prihvatiti ovu metodu i na taj način pobljšati svoj biznis.

 Da li ima nešto što vam se ne dopada ovde?

Ne bih rekao da mi se nešto baš ne sviđa, već da sam zabrinut zbog onoga što vidim u nekim ljudima. I dalje postoji strah koji su stvorili istorija i kultura ovde. Ljudi se plaše neuspeha, gubljenja posla... Radeći sa Comtrade-om shvatio sam da problem nisu menadžeri, direktori i šefovi, problem je u samim ljudima, odnosno kulturi.

Ovdašnja kultura utiče na to da ljudi nisu spremni da rizikuju, plaše se neuspeha, a jedini način za napredak je učenje na greškama. Očajnički pokušavam da objasnim ljudima da je normalno da ponekad ne uspeju u nečemu, ali za sada ne uspevam baš u tome. Možda će se to promeniti sa nekom sledećom generacijom. Generacijom koja ne poznaje ratove i staru Jugoslaviju, i koja će videti priliku za novi početak i reći će: "Ovo ne valja, hajde da to promenimo".

(Marko Đurđev)