Najuspješnije IT kompanije odgovaraju na zahtjeve u dan ili dva

Najuspješnije IT kompanije odgovaraju na korisničke zahtjeve u svega dan ili dva

Distribuirani sustavi, kontinuirana isporuka, tehnike i alati suvremenog developmenta neke su od tema Dev Daysa, regionalne konferencije programera, koju i ove godine u Termama Tuhelj priređuje pulski Infobip. Ususret konferenciji razgovaramo s Marijom Žagarom i Markom Stipanovom, koji su s još nekolicinom programera postavili temelje za Infobipovu platformu.

Mario Žagar, Marko Stipanov

Infobip je softversko-telekomunikacijska kompanija koja dnevno procesira 300 milijuna poruka, posluje u 44 ureda diljem svijeta, a u klijente ubraja vodeće internetske kompanije, banke i telekom operatere. Ove će godine, uz Infobipove programere, na konferenciji u subotu 14. svibnja govoriti i Michael Feathers te Dave Farley, etablirani autori i predavači u području razvoja softvera, kontinuirane isporuke te analize i revitalizacije koda.

Skaliranje složenih distribuiranih sustava

A Infobipovi Mario Žagar i Marko Stipanov i ove će godine na Dev Daysima govoriti o bogatim znanjima i iskustvima stečenim na tom putu, dok su prošle pred tristotinjak programera govorili o rastu i skaliranju vrlo složenih, distribuiranih sustava, na primjeru Infobipa. O kakvim je sustavima riječ? Mario Žagar pojašnjava:

Radi se o sustavima gdje više aplikacija smještenih na različitim računalima međusobno komunicira kako bi ostvarile zajednički cilj. Za razliku od sustava gdje je jedna aplikacija zadužena za sve poslovne procese i nalazi se na jednom računalu, distribuirani sustavi su obično sastavljeni od više manjih aplikacija koje žive svaka na svom računalu i bave se svaka svojom specifičnom problematikom, koja rješava točno određeni dio poslovnih potreba.

Osim što nam olakšavaju razmišljanje i dozvoljavaju da se koncentriramo na specifične probleme, distribuirani sustavi pružaju i veću otpornost na pogreške u samom sustavu. Kod monolitnih arhitektura gdje imamo samo jednu aplikaciju koja je odgovorna za sve nije tako — ako ona iz bilo kojeg razloga prestane raditi, staje cijeli sustav.

Mario Žagar
Mario Žagar povlači paralelu s ljudskim tijelom – ako neki dio prestane funkcionirati, tijelo se većinom adaptira i preživljava.

Možemo povući paralelu s ljudskim tijelom, nastavlja, u kojem mnogo manjih dijelova čini funkcionalnu cjelinu. Ako neki dio i prestane funkcionirati, tijelo se adaptira i preživljava. Ne znači nužno da čitav sustav prestaje raditi.

U današnje vrijeme kada korisnici očekuju da aplikacije rade 24 sata na dan, i sedam dana u tjednu, i budu dostupne čitavo vrijeme, ovo je vrlo važna karakteristika.

Distribuirani sustavi donose i nove izazove koji nisu postojali u monolitnim arhitekturama. Treba osigurati da aplikacije mogu razgovarati jedna s drugom, odlučiti kako se postaviti kada komunikacija ne radi kako treba, pratiti stanje i zdravlje tih aplikacija. A kad nešto ne radi, izazov je i točno locirati problem. Kao i kod žongliranja, teže je baratati s više loptica nego s jednom.

Kontinuirana isporuka – jedan od temeljnih izazova u IT tvrtkama

Ove se godine Dev Daysi nastavljaju baviti tom tematikom – moći će se, među ostalim, čuti koliko je i kako Docker olakšao procese razvoja i implementacije aplikacija u Infobipu. Kontinuirana isporuka (continuous delivery) jedan od temeljnih izazova i pitanja u mnogim većim IT tvrtkama, a Mario se prisjeća kako se nekada razvoj aplikacija radio u iteracijama koje su trajale od nekoliko mjeseci do nekoliko godina; na kraju tog ciklusa aplikacija bi se distribuirala putem CD-a ili DVD-a krajnjem korisniku, a novi korisnički zahtjevi čekali bi kraj narednog ciklusa. Danas takav pristup više ne prolazi na tržištu – najuspješnije IT kompanije isporučuju nove feature u jako kratkom vremenu, kadre su odgovoriti zahtjevima klijenata u roku od jednog ili dva dana, ili čak kraćem, i tako rade non-stop. No, da bi tvrtke mogle tako raditi, moraju imati ostvarene mnoge preduvjete i postaviti dobre temelje, uključujući organizacijske, kaže. Kako je izgledao razvoj tih alata i procesa u Infobipu?

Na početku Infobipa nismo imali ništa osim testova koje smo ručno izvršavali svaki na svom računalu. Činjenica da smo u startu odmah razvijali kulturu pisanja testova po meni je ključna za to gdje smo danas. S vremenom smo shvatili da ručno izvršavanje testova je posao koji puno bolje može raditi računalo nego mi pa smo uveli centralno mjesto gdje će se ti testovi izvršavati nakon svake promjene koda.

Koristimo open source Jenkins aplikaciju koja se brine o tome da izvrši sve testove za svaku našu aplikaciju kada se na njoj nešto promijeni i obavijesti tim koji razvija tu aplikaciju o rezultatu testova.

Nakon što smo automatizirali bildanje i testiranje aplikacija, shvatili smo da najviše vremena gubimo na stavljanje tih aplikacija u produkciju jer koristimo ručni proces i svatko to radi na svoj način, što nije doprinosilo konzistentnosti ni sigurnosti. Zbog toga smo napravili malu aplikaciju koja nam je omogućavala da taj deployment proces radimo na jednostavniji i brži način. Tako je nastao Infobip Deployment Manager koji omogućava da praktički bilo koji novi developer koji dođe u Infobip prvi dan može deployati kod u produkciju.

Kasnije smo dodatno automatizirali proces pa možemo deployati novu verziju aplikacije praktički na jedan klik. U prosjeku puštamo promjene u produkciju svakih nekoliko minuta.

Umjesto panike – planiranje

Princip panike: Radi se ono što je nekom trenutku najhitnije, odnosno ono oko čega je nekom trenu već nastala panika.
Princip panike: Radi se ono što je nekom trenutku najhitnije, odnosno ono oko čega je nekom trenu već nastala panika.

Mario i Marko su lani govorili o agilnoj metodologiji i organizaciji, kao preduvjetu efikasnog developmenta, a spominjali su tranziciju s takozvanog panic-driven developmenta k planiranju, prioritiziranju i odlučivanju po Scrum metodologiji. Marko napominje kako nije neobično da development u IT kompanijama odlučuje o prioritetima na principu panike – radi se ono što je nekom trenutku najhitnije, odnosno ono oko čega je nekom trenu već nastala panika.

U našem slučaju, podjela posla često nije bila ravnomjerna, odnosno znalo se događati da manji broj ljudi radi na većem broju ključnih produkata. To je dovodilo do preopterećenja, otežavalo prioritiziranje i podjelu posla.

Zato smo počeli istraživati metodologije i organizacijske principe koji bi se najprirodnije uklopili u naše okruženje, potrebe i ciljeve. Jedan od glavnih zahtjeva je bio da se čitava tranzicija ni najmanje ne odrazi na tekući razvoj produkata, odnosno da klijenti ni u jednom trenutku ne osjete zastoje ili teškoće.

Kako se Scrum uvodi u veći R&D sustav?

Infobip je transformirao svoj development prije više od dvije i pol godine. Koliko je potrebno da se Scrum uvede u veći R&D sustav i počne davati konkretne rezultate? Koje su najčešće prepreke? Marko nastavlja:

Nama je trebalo oko 5 mjeseci da u potpunosti uvedemo Scrum u development odjel. To je uključivalo pilot, edukacije, treninge, reorganizaciju timova i projekata. Rezultati su vidljivi odmah – kako na produktima, tako i na zadovoljstvu developera i boljem protoku znanja.

Kroz retrospektive se cijeli sustav dalje usavršava i postaje još efikasniji. Scrum metodologija i agile principi nisu nepromjenjivi, niti vrijede zauvijek jednom kada ih uvedete. Morate razumjeti u kojoj fazi razvoja je produkt, o kakvom tipu produkta je riječ, kakvi su profili i potrebe članove timova.

Veličina organizacije sigurno otežava uvođenje nove metodologije, i treba posvetiti dosta vremena edukaciji i treninzima. Osim toga, većih prepreka zapravo nema, jer se Scrum metodologija uglavnom percipira pozitivno, i developeri je rado prihvaćaju.

Najveći i najteži korak: Formiranje timova

Ovogodišnji Dev Days održavaju se 14. svibnja u Termama Tuhelj.
Ovogodišnji Dev Days održavaju se 14. svibnja u Termama Tuhelj.

Marko se prisjeća i problema koji su cijeli proces pratili – nisu postojali timovi u pravom smislu pa bi se događalo da su ljudi radili ad hoc. Pojavila bi se potreba za nekim servisom i taj zadatak bi uglavnom preuzela najkompetentnija osoba. Ako je bila riječ o većem problemu ili zadatku, preuzelo bi ga dvoje ili troje ljudi, ali oni nisu bili tim, jer su istovremeno radili na mnogim drugim projektima. Na taj način je bilo teško pratiti opterećenje pojedinaca, ali i procijeniti rokove dovršetka.

Formiranje timova je zapravo najveći i najteži korak koji smo učinili uvođenjem scruma. Formiranje dev timova također je išlo u nekoliko iteracija, to je proces koji stalno traje i usavršava se, jer timovi stalno evoluiraju, na više razina.

Paralelno s tim počeli smo usvajati Scrum metodologiju – principe, rituale, uloge, produkte. Prvo je krenuo pilot s jednim timom u Puli, a nakon toga je metodologija uvedena na razini čitavog developmenta. Organizirane su radionice i edukacije za Scrum mastere i Team leadere, koji su se certificirali i osposobili za ove uloge.

Sigurno je da činjenica da imamo razvojne centre u više zemalja nije pomogla. U početku smo imali veći broj distribuiranih timova, ali pokušavamo postići da što veći broj dev timova ima članove na istoj lokaciji. Lakše je održavati sastanke, dijeliti znanje i postići optimalnu efikasnost. 

Je li se dobilo ono što se očekivalo? Sugovornici odgovaraju potvrdno – sada se mogu puno preciznije procijeniti rokovi, odrediti prioriteti i na optimalan način reagirati na potrebe i zahtjeve tržišta i klijenata. Također, znatno je olakšan prijenos znanja, što je u većoj dev organizaciji vrlo bitno, a olakšao se onboarding i zapošljavanje – lakše se prati treba li novih ljudi po timovima i projektima ili ih ima previše pa valja formirati novi tim.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Umjetna inteligencija

Najvažniji dio Rimčevog Vernea nije robotaksi, već iskustvo?

Ovaj tjedan rebrendirana u Verne, Project 3 Mobility, tvrtka koju su 2019. godine osnovali Mate Rimac, Adriano Mudri te Marko Pejković, danas napokon ima prvo “opipljivo” predstavljanje onog što su razvijali. No, je li robotaksi usluga zbilja najvažnije što mogu ponuditi?

Veliki intervjui

Postaj, Trebam.hr i Meštar.hr – što očekivati od platformi za pronalazak majstora

Usprkos tome što nam nedostaje majstora na raznim područjima, barem imamo dovoljno platformi koje će nas povezati s onima najboljima, ili se barem tome nadamo.

Tvrtke i poslovanje

Istraživanje korisničkog iskustva: Jeste li spremni čuti što trebate napraviti?

Ako se pravilno postavi, kao ključna poslovna funkcija, UX istraživanje može pomoći u diverzifikaciji portfelja proizvoda, usluga i korisnika, otkrivanju različitih vrijednosti vaše ponude, implementiranju novih trendova i strategija, a mogao bi vam ukazati i na neiskorištene prilike za širenje i inoviranje. Ako vam to nije dovoljno, čitajte dalje, i otkrijte kako to rade najveće tvrtke na svijetu...

Što ste propustili

Prikaz

Book&Zvook: Jeste probali audioknjige na hrvatskom?

...bolje nego da trčimo za njima i vičemo: „Pa vi ništa ne čitate!“, kažu Ljubica Letinić i Lana Deban iz Book&Zvooka koje su nam objasnile kako nastaju audioknjige - na hrvatskom.

Novost

Euromoney proglasio RBA najboljom digitalnom bankom u Hrvatskoj

Jedan od vodećih europskih časopisa u području financija i bankarstva Euromoney, proglasio je Raiffeisenbank Hrvatska najboljom digitalnom bankom u Hrvatskoj. Ova se nagrada svake godine dodjeljuje banci s vodećom ponudom digitalnih proizvoda i usluga.

Pametni automobili

Direktor Vernea tvrdi da su granice između 4. i 5. razine autonomije nejasne – što kažu stručnjaci?

Peta razina autonomnosti vozila svojevrstan je sveti gral industrije, no je li uopće dostižna i potrebna?

Društvene mreže

Andrej Plenković i Možemo razvaljuju TikTok

Do kraja parlamentarnih izbora premijer Plenković lajkaniji je bio od Pernara, a Možemo najpraćenija stranka.

Novost

Cijeli svijet zahvatio “plavi ekran smrti”: Što do sada znamo

Aviokompanije otkazuju letove, televizije su prestale s emitiranjem, poslovanje su prekinule mnoge banke, pa i Londonska burza. U Hrvatskoj probleme ima CEZIH, televizije, pa i kontrola leta.

Startupi

Nađite bug na Daytoni – i osvojite nagradu iz fonda od 60.000 dolara

Developeri koji Daytoni do kraja godine pomognu poboljšati Daytonine značajke ili prijaviti bugove, mogu osvojiti i solidnu financijsku nagradu.