Kako će se promeniti razvoj softvera u 2022.

Preduzećima je potreban niz softverskih funkcionalnosti koje moraju biti isporučene brzo i pouzdano bez preopterećenja softverskih timova. Tokom protekle godine, detaljno sam proučavao kako se menja polje produktivnosti razvoja softvera. Tokom tog vremena, razgovarao sam sa vodećim inženjerima iz desetina organizacija, pregledao najnoviju literaturu i, povrh svega, sproveo reprezentativno ispitivanje javnog mnjenja među softverskim inženjerima. Iako je budućnost neizvesna, postoje tri ključna trenda koja tehnološki lideri nikako ne smeju da zanemare. U zavisnosti od toga kako će tehnološki lideri ugrađivati te trendove u svoje organizacije, određivaće se i njihov uspeh u povećanju produktivnosti i poboljšanju radnih uslova programera.

Razvojno okruženje će se preseliti u oblak

Kada programer započne novi posao, nije neuobičajeno da potroši čak dve nedelje pokušavajući da na svom lokalnom računaru pokrene aplikaciju na kojoj radi. Taj proces ne predstavlja samo veliki gubitak vremena za mladog inženjera, već i za iskusne inženjere koji moraju da te mlade inženjere uvedu u posao. Kako softverski projekti postaju složeniji, ta socijalizacija novih stručnjaka postaje sve teža. Kompanije su uz manji ili veći napor pokušavale da reše taj problem kroz dokumentaciju i alate, ali nisu uvek bile u potpunosti uspešne. Programeri ponekad mogu da budu vrlo tvrdoglavi u pogledu tehnologije koju koriste za svoje poslove. Hardver, operativni sistemi, pa čak i uređivači koda mogu dramatično da se razlikuju i među programerima koji rade na istom projektu. Situacija postaje ozbiljnija kad svemu tome dodate činjenicu da razvojna okruženja sve više moraju da podržavaju i Intelove arhitekture i nove Eplove M1 čipove, uz rad na daljinu koji još više komplikuje pokretanje lokalnih razvojnih okruženja.

Lokalna razvojna okruženja su sada uglavnom jedini deo životnog ciklusa razvoja softvera koji se obavlja lokalno na računaru programera. Automatizovane izrade softvera, okruženja za poslednje faze izrade aplikacija i njihovo pokretanje su se u velikoj meri preselili sa lokalnih računara u oblak. Kompanije „Majkrosoft“ i „Amazon“ su naporno radile na rešavanju tog problema. U avgustu ove godine, kompanija „Majkrosoft“ je objavila da je servis GitHub Codespaces opšte dostupan. GitHub Codespaces nudi kompletna razvojna okruženja kojima se može pristupiti pomoću veb-pregledača koji može da se pokrene za nekoliko sekundi. Usluga omogućava tehnološkim timovima koji čuvaju svoj kôd u „Majkrosoftovoj“ usluzi GitHub da se razvijaju koristeći svoj Visual Studio Code editor u potpunosti u oblaku.

„Amazon“ takođe ima svoje rešenje za taj problem, uz pomoć integrisanog razvojnog okruženja AWS Cloud9, koji omogućava programerima da uređuju i pokreću svoj kôd iz oblaka. Startap kompanije su takođe stvorene da reše taj problem. U aprilu je Gitpod objavio da je prikupio 13 miliona dolara za svoje rešenje za prebacivanje razvoja softvera u oblak. Bez sumnje, možemo očekivati da će se takve tehnologije sve više usvajati u 2022. godini.

DevOps će se sve više oslanjati na nauku

„Guglov“ tim DORA (DevOps Research and Assessment) sproveo je istraživanje koje je povezalo performanse tehnološke organizacije sa poslovnim rezultatima. Njihovo istraživanje je pokazalo da kompanije sa elitnim inženjerskim organizacijama imaju dvostruko veće šanse da ostvare svoje organizacione ciljeve i ostvare 50 procenata veću stopu rasta tokom tri godine. Utvrđivanje merila za 2021. godinu koje je sproveo „Guglov“ tim DORA i nezavisna firma za standardizaciju Puppet su dosledno pokazali da je industrija razvoja softvera sve konkurentnija. Raste broj inženjerskih timova sa izvanrednim performansama, dok udeo timova sa lošim učinkom opada. Anketa među programerima u Velikoj Britaniji koju je sprovela firma Haystack Analytics and Survation otkrila je da 40 procenata programera kaže da mogu pouzdano da isporuče nove funkcije istog dana kada im se to zatraži, a uglavnom za samo nekoliko sati.

Da bi programeri isporučili novu funkcionalnost brzo i pouzdano, a da se pri tome ne bi potpuno istrošili, timovi za razvoj softvera moraju da obezbede da njihovi procesi i alati budu što savršeniji. Produktivnost programera se smatra toliko važnom da Netflix ima namenski tim za kontrolu produktivnosti programera, dok „Gugl“ angažuje mnoge inženjere u svojoj funkciji EngProd(Engineering Productivity). Pre nego što poboljšate bilo koji deo procesa razvoja softvera, od vitalnog je značaja da se usredsredite na to gde su uska grla. U 2021. godini, brojne kompanije su obezbedile sredstva za izgradnju analitičkih platformi za programere kako bi ukazale na ta uska grla. Kompanije koje se bave analitikom rada programera dobile su značajna sredstva tokom 2021. godine. Među njima su: Haystack Analytics, LinearB, Swarmia i CodeClimate. Lično sam se konsultovao sa timom u kompaniji Haystack Analytics u poslednjih nekoliko meseci i otkrio sam da potražnja raste, dok rast prihoda u proseku iznosi 35 procenata mesečno.

Rad na daljinu će biti uobičajen

Mnogo toga o čemu sam već pisao je bez sumnje ubrzano sve raširenijim radom na daljinu među programerima tokom pandemije kovida-19. Čini se da je ova promena trajna. Izveštaj State of the Octoverse za 2021. godinu kompanije GitHub otkrio je da, dok je 41 procenat ispitanika obavljao posao u kancelariji pre pandemije, samo 10,7 procenata očekuje da će se vratiti u kancelariju posle pandemije. To predstavlja smanjenje od 74 procenata zajedničkog rada u kancelarijama. Izveštaj je takođe otkrio da programeri očekuju povećanje stope hibridnog rada od 41 odsto, pri čemu neki zaposleni rade u potpunosti na daljinu, a neki dolaze u kancelariju. Očekuje se da će broj kompanija koje u potpunosti rade na daljinu porasti za 46 procenata u poređenju sa situacijom pre pandemije.

Prema kompaniji GitHub, produktivnost počinje da se vraća na nivo pre pandemije, ali jasno je da treba više da se uradi da bi se popunile praznine koje ostavlja smanjenje zajedničkog rada u kancelariji. Anketa među programerima u Velikoj Britaniji koju sam vodio za Haystack Analytics i Survation pokazala je da je među softverskim inženjerima koji pate od povećanog nivoa zamora tokom pandemije, 30 procenata je prijavilo nedostatak kontakta sa kolegama kao uzrok, dok je 27 procenata navelo kao uzrok to što moraju da rade od kuće. Tokom 2022. godine, sasvim je opravdano da očekujemo da ćemo pronaći nove načine da saradnici ne samo da rade zajedno na mreži, već i da se povežu van mreže. Brojne konferencije na kojima su programeri neposredno učestvovali ponovo su organizovane u narednoj godini, a neke su čak usvojile i hibridni pristup. Isto tako, vidimo da kompanije koriste svoje radne prostore kao mesta za povremenu saradnju, a ne za stalni rad.

Kako rad na daljinu postaje uobičajen, možemo očekivati da programeri pronađu druge načine da ostvare ono što su nekad postizali u neposrednom kontaktu, kako bi izvukli ono najbolje iz oba načina rada. Konferencije i izmenjeni poslovni prostori igraće ključnu ulogu u toj promeni. Svet programera će sigurno napredovati u narednoj godini. Kao što je pandemija pokazala, budućnost je potpuno neizvesna. Ipak, naveo sam tri ključna trenda koja mogu da utiču na zajednicu programera. Svaki od ova tri razvojna pravca doneće novi napredak u produktivnosti i uslovima rada programera da bi se ubrzala isporuka softvera uprkos ograničenoj ponudi softverskih inženjera.

6539-kako-ce-se-promeniti-razvoj-softvera-u-2022