Infobipov Marko Stipanov: Što češće testirajte, "deployajte" i šaljite klijentu ono što ste napravili!

Infobipov Marko Stipanov: Što češće testirajte, “deployajte” i šaljite klijentu ono što ste napravili!

Kako su te principe u praksi usavršavali sami Infobipovci ispričao nam je Marko Stipanov, Infobipov glavni razvojni arhitekt.

Već šest godina vodnjanski Infobip organizira Dev Days konferenciju na kojoj se i ove godine moglo čuti poznate hrvatske poduzetnike, znanstvenike i stručnjake iz industrije. Pokrivajući teme iz područja suvremenog razvoja i isporuke softvera, ali i vodećih razvojnih tehnologija koje pokreću današnja poslovanja, na ovogodišnjim Infobip Dev Daysima nije nedostajalo ni osvrta na prošlost.

Infobipov Silvio Kutić i druge poznate kolege poduzetnici prisjetili su se svojih grešaka na putu do uspjeha ne bi li iz njihovih iskustava učili i drugi u zajednici. Zadnje predavanje Marka Stipanova također se dotaknulo iskustava od samih početaka kompanije, a s fokusom na ključne trenutke i izazove razvoja, isporuke i organizacije servisa u Infobipu.

Na ovogodišnjim Infobip Dev Daysima, uz Silvija Kutića, Mate Rimac, Damir Sabol, Mislav Malenica, Mladen Pejković i moderator Ivan Burazin razgovarali su o lekcijama koje su naučili na putu razvoja različitih poslovanja.

S obzirom na Markovo stručno iskustvo kad su u pitanju arhitektura softvera, sustavi u stvarnom vremenu i agilna metodologija, ali i devet godina koje je proveo s Infobipom, nakon same konferencije našla sam priliku da porazgovaramo na temu razvoja velikih IT organizacija i što temeljem iskustva Infobipa druge organizacije mogu naučiti.

“Samo stalna mijena jest”

Markovo predavanje na Dev Daysima trebalo je odgovoriti na pitanje kako je današnji Infobip došao do trenutnog načina razvoja i isporuke te koje prakse je u procesu zadržao, a koje ne. Kako poetično kaže Marko:

Ne bih rekao da smo išta zadržali, da parafraziram Petra Preradovića „U Infobipu, samo stalna mijena jest“. Konstantno radimo na traženju načina „kako manje raditi“. Uvijek se trudimo pronaći one procese na koje ljudi gube vrijeme kako bi ih onda automatizirali, ili se bar potrudimo da ih automatiziramo. Bilo da se radi o sustavu za provizioniranje virtualnih mašina, API Gateway sustavu za unificiranje javno dostupnih API-ja i standardizaciju sigurnosti, internom API balanceru koji se automatski podešava koristeći service discovery ili Kubernetes clusterima koji nam olakšavaju deployment i skaliranje servisa.

Koliko je Infobipu bitna automatizacija govori i činjenica da je ovog ljeta otvoren R&D centar u Splitu upravo posvećen automatizaciji procesa kontaktnog centra u oblaku, a kojim će se bešavno integrirati različiti kanali podrške – od WhatsAppa do glasovnih poruka. Marka posebno zanima područje automatizacije stoga me zanimalo i kako on gleda na potrebu automatizacije poslovanja te što domaće tvrtke mogu učiniti da budu u korak s tim promjenama.

Automatizacija stvara temelje za rast i slobodu eksperimentiranja. Bez eksperimentiranja nema inovacija ni novih proizvoda. Preporučujem svima, ne samo domaćim kompanijama, da ulože sredstva u automatizaciju procesa jer će tako imati sretnije i zadovoljnije zaposlenike koji neće morati raditi dosadne, repetitivne poslove. Isti ti ljudi moći će se fokusirati na razvoj rješenja, šta u konačnici donosi zaradu.

Dobar primjer kako biti u toku s najnovijim promjenama dolazi i od činjenice da Infobip svoje zaposlenike nastoji motivirati odlascima na kvalitetne konferencije na kojima se govori o aktualnim temama, bilo da su vezane uz razvoj softvera ili organizaciju, pojašnjava Marko.

Ljudi se nakon toga vraćaju s novim idejama i iskustvima drugih kompanija, a ti uvidi nam omogućavaju brži rast te kvalitetniji sustav i organizaciju. Tako smo uveli organizaciju u timove, Scrum i ostale agilne metode, Docker, Kubernetes, G1 GC još u Javi 6, Prometheus, Service discovery, Kafku, itd.

Kako se to radi u Infobipu?

Mario Žagar i Marko Stipanov s nekolicinom programera postavili su temelje za Infobipovu platformu.

Agilan rad

Jedna od Markovih specijalizacija je i agilna metodologija, a za koju kaže da ju primjenjuje od početaka svoje karijere, čak i kada nije znao da takav pristup ima svoje ime:

Možemo tu metodologiju zvati agilno, lean, agility, ili nekako drugačije, ali glavni cilj je u najkraćem roku klijentu dati proizvod (pa makar i poluproizvod) na koji će dati konstruktivan feedback. Nije bitno koliko je proizvod „gotov“. Dapače, što je manje gotov, to bolje. Time se izbjegava uzaludan posao razvoja onoga što vi mislite da klijentu treba.

U Infobipu, ističe Marko, trude se imati što kraći razvojni ciklus, odnosno nastoje komade koda pustiti u produkciju što je moguće ranije. Dnevno imaju oko 700 isporuka koda, što znači da se svakih 40 sekundi nešto deploya. Što se tiče samog procesa, dodaje, koriste Scrum, ali svaki tim definira svoje specifičnosti u procesu: poput trajanja sprinta, učestalosti isporuke, načina reviewa koda i sl.

Kad je u pitanju trenutno stanje agilea, a u kontekstu činjenice da je Uncle Bob, jedan od kumova metodologije nedavno za Netokraciju komentirao kako su “projektni menadžeri oteli agile developerima”, zanimalo me i Markovo mišljenje. On kaže – da bar jesu.

Teško je izbiti iz navike princip rada u kojemu servis određenih featurea obećate klijentu do dogovorenog datuma kako bi usvojili drugi princip u kojemu klijentu svakog tjedna isporučujete na uvid, ne možda sve, ali sigurno one najvažnije feature – a da vam je pritom potreban feedback klijenta. Veliki problem može biti situacija u kojoj klijent taj servis, koji ste razvijali šest ili više mjeseci, po prvi puta vidi nakon tolikog vremenskog odmaka. To je jednako kao i kada krećete graditi kuću te se opisno dogovorite o željenom broju soba, ali do završetka gradnje kuće ne vidite ništa. Kolika je vjerojatnost da ćete htjeti živjeti u toj kući?

Skalabilan sustav

Tako dolazimo i do izazova građenja velikog sustava i njegovog skaliranja. Najčešći izazovi s kojima su se Marko i kolege suočavali u postavljanju i definiranju arhitekture softvera u Infobipu, koji je vrtoglavo rastao, bili su trenutci uvođenja novih tehnologija poput Dockera ili Kubernetesa. Ipak, nekada se nema vremena previše razmišljati, neprestani rad na usavršavanju infrastrukture ključan je za praćenje rasta u širenju tvrtke, napominje Marko.

Trudimo se omogućiti što jednostavniju i bržu isporuku servisa. Tako smo primjerice uveli Docker prije otprilike tri godine. Bilo je tu rasprava o tome je li ta tehnologija spremna za produkciju ili ne, ali nismo imali mnogo izbora – već smo morali pojednostaviti isporuku servisa. Sada smo u sličnoj situaciji s Kubernetesom. Infrastruktura jednostavno mora biti zamašnjak koji pokreće produktne timove kako bi bili što efikasniji.

Infobip

Tijekom godina imali su nekoliko velikih eureka trenutaka, poput balansiranja SMPP prometa ili korištenja API-ja za komunikaciju između servisa. Marko ističe kako im je sve to pomoglo da se u konačnici u Infobipu dobro nose sa skalabilnošću sustava.

Danas u razvoju imamo preko 60 timova inženjera te više od 850 različitih visoko dostupnih servisa. Neki od njih su mikro, neki makro, a zajedničko im je da se jednostavno skaliraju. Najbitnije je bilo složiti sustav u kojemu svaki servis može bez ikakvog problema komunicirati s bilo kojim drugim servisom.

Izazov “velikog IT sustava” je kako održati mnogo manjih

Marko je u Infobipu već devet godina te je sudjelovao u najvećem dijelu iskušavanja i poliranja service developmenta u praksi. Kao i svima, pogled u prošlost omogućuje mu da danas jasnije vidi neke propuštene prilike – pa tako i da savjet nekome tko možda tek počinje razvijati poveći sustav. Kako mi iskreno kaže, volio bi da je bio hrabriji i odlučniji prilikom provođenja vlastitih ideja u samim počecima rada u Infobipu.

Neke trivijalne greške sa samog starta jako je teško kasnije ispraviti. Najbanalniji primjer je jedinstveni registar korisnika sustava koji smo objedinjavali preko tri godine. Primjerice, bilo bi sjajno da sam poznavao princip organizacije timova kako bi se dodatno podigla efikasnost i kvaliteta sustava. Možda je pritom najvažnije bilo agresivnije i ranije pokrenuti automatizaciju svih aspekata Infobip sustava.

Međutim, za efikasnost i kvalitetu velikih sustava, najbitnije je ne razvijati „veliki IT sustav“, napominje Marko:

Važno je razvijati mnogo malih sustava koji imaju jednostavan i unificiran način međusobnog komuniciranja, ali i deployjati što češće i bez straha. Ne mislim pritom da treba biti bezobziran. Potrebno je poštovati sva pravila struke. Testirati gdje god je to moguće, ali deployjati redovito. Ako to činite rijetko, skupit ćete mnogo promjena koje u konačnici mogu rezultirati katastrofom.

Najveći izazov je posložiti servise i timove tako da se dependencyji ne odražavaju na timove, već na servise, ističe Marko objašnjavajući i što bi bio primjer toga u timskom radu:

Kako bih ja obavio svoj backend task, tim A mora pripremiti bazu, a tim B mora napraviti UI. U ispravnoj organizaciji tim A stvara okruženje u kojemu osobno mogu jednostavno isprovizionirati bazu po njihovim pravilima, a da mi tim B osigura, primjerice, template i modularni portal u kojemu ja mogu sam složiti vlastiti widget. Takva organizacija je ključna ne samo za brzi rast, nego i za kreiranje novih proizvoda, ali i eksperimentiranje s tehnologijama.

Ključ svega su ljudi – i uigrani timovi

Infobip
Infobip je razvio ESOP (Employe Stock Ownership Plan) kroz koji zaposlenike uključuju u razvoj tvrtke, a to im je posebno bilo važno, ističe Kutić, kako bi se zahvalili timu koji je s njima Infobip i gradio.

Kako i za mnoge velike organizacije, najveći izazov rasta, pogotovo u IT-u su zaposlenici i njihovo uključivanje u procese rada, pogotovo kad je u pitanju kompanija koja ima urede na stranim tržištima. I Marko smatra kako najveći izazov u Infobipu nije bio u automatizaciji developmenta ni korištenju naprednih tehnologija, već u skaliranju organizacije i stvaranju okoline koja može neprestano primati i educirati brojne nove ljude.

U početku je bilo jako teško onboardati tj. uključiti u sve Infobipove radne procese čak i samo jednog novog kolegu, dok nam danas priljev novih ljudi strelovito raste. Ovdje moram pohvaliti naš People Operations odjel (HR) koje se trudi pronaći, ali i zadržati najveće talente u svih pet zemalja u kojima imamo odjele za razvoj softvera i infrastrukture.

Za kraj, Markov savjet je – ulažite u ljude i automatizaciju te stvarajte kulturu suradnje timova bez blokera – ta će vam se investicija sigurno isplatiti.

Komentari

  1. ludi panj

    ludi panj

    27. 09. 2019. u 7:42 pm Odgovori

    wao, ljepo je iz prve ruke saznati koje probleme imaju veliki razvojni timovi, te koje procese i načine rada koriste da to riješe.

    a i ljepo je vidjeti pravu sliku developerskog tima,
    a ne nasmijane multikultural manekene u košuljicama i tupim pogledima

    Problem je samo šta će mali broj ljudi shvatiti šta je tu rečeno i šta sve jadni developeri moraju napraviti od ideje do realizacije projekta

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Tehnologija

Podatkovna znanstvenica Ana Dumić otkriva kako su joj podaci spasili sina

Kad je njihovom sinu dijagnosticiran teži oblik epilepsije, Ana Dumić i njen suprug Goran odlučili su iskoristiti svoje znanje i vještine o podatkovnoj znanosti ne bi li otkrili okidače napadaja. Uspjeli su.

Startupi i poslovanje

Što su nam skrivile hrvatske digitalne agencije?

Hrvatski uslužni IT, uključujući digitalne agencije, zamašnjak je koji više od dva desetljeća puni državni proračun i tople developerske stolice. S druge strane, činovnici, a i mediji, papagajski mantraju o proizvodnim tvrtkama i kako će nas one konačno pogurati prema pikselastom eldoradu.

Društvene mreže

Jeste li mislili da će 16 godina od osnivanja Facebooka na njemu najvažnije biti – grupe?

Pokretači i administratori otkrivaju mi kako su nastala stručna udruženja, pa i poslovna partnerstva, na temelju specijaliziranih Facebook - grupa.

Što ste propustili

Izrada web stranica

Developeri, dizajneri, project manageri – za AI budućnost možete se pripremiti već danas

Cilj svakog developera i dizajnera je bolje korisničko iskustvo - a upravo ovdje može pomoći kognitivna znanost koja promišljanje o korisnicima, da li dizajna, koda ili gotove aplikacije, stavlja u fokus svega što IT stručnjaci rade.

Startupi i poslovanje

Kako se Glovo i Konzum pripremaju za povećanje broja narudžbi zbog koronavirusa?

Uz sve više vijesti o koronavirusu, raste i broj onih koji se oslanjaju na digitalne servise kako bi naručili hranu ili namirnice. Kako se za povećanje prometa pripremaju servisi za dostavu?

Kultura 2.0

Na web trgovinama deseci zaštitnih maski upitnih cijena i kvalitete

U svakom kriznom razdoblju nađe se pojedinaca i tvrtki koji će situaciju iskoristiti za svoj profit, ali maske s desetorostruko većim cijenama i modnim etiketama zbilja su poseban slučaj.

Startupi i poslovanje

Što o radu od kuće zbog koronavirusa kažu PBZ, Infobip, Nanobit…?

Nakon što je jučer potvrđeno da i u Hrvatskoj imamo prve osobe zaražene koronavirusom, dobar dio ovdašnjih tvrtki je počeo ozbiljnije razmišljati o promjeni načina rada. Prvo su se počela ukidati putovanja u inozemstvo, a potom se počeo uvoditi rad od kuće.

Startupi i poslovanje

Dijeljenje romobila i u Hrvatskoj: Bolt prvi uveo romobile u ponudu

150 romobila koje možete otključati i voziti kada god vas je volja bit će dostupno u Splitu za sve korisnike Bolt aplikacije.

Digitalni mediji

U manje od 24 sata od prvog slučaja u Hrvatskoj, koronavirus smo online spomenuli čak 15 tisuća puta

Sada već svi znamo da je koronavirus došao u Hrvatsku, no koliko viralno je ova tema zaokupila sve nas pokazat će kao i uvijek - brojke.