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

Kolumna

Kako je meni i 35.000 kupaca 96% snižen Foreov UFO postao “najbolje iskustvo kupovine ikad”

Osjećaj kada pronađete, a potom i kupite neki proizvod po 96% nižoj cijeni, nezamjenjiv je, pogotovo ako ste jedni od “rijetkih” koju su ponudu pronašli. Svi vam zavide, napravili ste odličan “deal”, a manje je bitno treba li vam uopće taj proizvod.

Startupi i poslovanje

Od agencije do freelancinga: 8 savjeta za život i posao koje sam naučio težim putem

A kako vi ne bi morali, stiže jedna poučna usporedba oblika poslovanja kroz stvarna iskustva.

Startupi i poslovanje

MVT Solutions iz Pisarovine osigurao 100.000 od 300.000 eura vrijedne runde investicije za brži i jeftiniji razvoj IoT-ja

Ovaj domaći startup u tri je godine, bez ikakve vanjske investicije, razvio IoTaaP, alat koji može uvelike olakšati razvoj IoT proizvoda različitim klijentima. Osim hardvera, njihov poslovni model se skalira kroz softver i cloud, a koliko uspješno su se rješenjem i radom potvrdili do sada, najbolje govori i vijest o prvoj investicijskoj rundi predvođenoj domaćim investitorom.

Što ste propustili

Startupi i poslovanje

Osvojili su “Oscara” za industrijski dizajn, a onda sve snage uložili u kreiranje najboljih madraca

Uz mnoge druge domaće i inozemne nagrade, Filip Havranek i Kristina Lugonja dobitnici su Red Dota, najprestižnije svjetske nagrade za industrijski dizajn, a odnedavno su postali i osnivači startupa. Iako su dosad dizajnirali različite namještaje i proizvode - od stolova, stolica, lampi i prijenosnih SSD-ova - njihov prvi startup proizvod je madrac Nimbus koji se ne prodaje u nijednoj fizičkoj trgovini.

Kultura 2.0

Kako iskoristiti advent za employer branding (a da nije samo domjenak)

Važnost dobrog raspoloženja unutar tvrtke ne možemo zanemariti, pogotovo kad je riječ o kraju godine kada se projekti privode kraju dok se istovremeno pripremmo za nadolazeće. Čini se da je A1 otkrio najbolju formulu kako preživjeti zimu: mjesec dana blagdana u uredima.

Startupi i poslovanje

“Kod nas toga nema”: Samo 16% žena u hrvatskoj IT industriji nije doživjelo spolnu diskriminaciju

“Nejednakost je samo u Vašoj glavi, da manje sjedite pred pudijerom, a više pred knjigom nebi vidjeli nejednakost”.

Tehnologija

Klijenti banaka imaju sve manje vremena: Kako banke razvijaju digitalne proizvode za njih?

Digitalna transformacija mijenja iz temelja različite industrije. Koje vještine su vam potrebne ne bi li u jednoj od njih temelje gradili upravo vi, saznali smo od product ownera i managera Raiffeisen banke.

Kolumna

Kako je meni i 35.000 kupaca 96% snižen Foreov UFO postao “najbolje iskustvo kupovine ikad”

Osjećaj kada pronađete, a potom i kupite neki proizvod po 96% nižoj cijeni, nezamjenjiv je, pogotovo ako ste jedni od “rijetkih” koju su ponudu pronašli. Svi vam zavide, napravili ste odličan “deal”, a manje je bitno treba li vam uopće taj proizvod.

Tehnologija

Hardverski vodič za sve trenutne i buduće influencere, freelancere i gamere

Kraj jedne godine i ulazak u novu možete pamtiti po retrospektivi na prošle uspjehe i neuspjehe te novogodišnjim planovima koji su se izjalovili do sredine siječnja. A možete i po tome kako ste napokon odlučili napraviti prvi korak prema ostvarenju svog influencerskog, gamerskog ili freelancerskog sna. Hardver možda nije najvažnija stvar u toj priči, ali je sigurno bitna stvar za početak.