
Ovo su procesi i tehnologije koji su pomogli da se poljoprivredni softver iz Kutine rasprostrani na 150 zemalja svijeta
Darko Gebaei, VP Technology u Agriviju, ispričao nam je sve detalje o razvoju softvera i tima koji su bili temelj da od ureda u Kutini i prvog klijenta s plantažom oraha stasaju u jednu od vodećih agrotehnoloških tvrtki na svijetu.
Jedan od glavnih izazova s kojima se suvremena poljoprivredna industrija suočava je glad u svijetu, kaže nam Darko Gebaei, VP Technology u Agriviju. Prema nekim projekcijama, Darko kaže, do 2050. godine svijet će nastanjivati oko 10 milijardi ljudi, a poljoprivreda bi u tom periodu trebala porasti za 60%, što znači da nam ostaje oko 30-ak godina za osmišljavanje optimalnog načina za povećanje produktivnosti u proizvodnji hrane, koja bi mogla namiriti te potrebe. Pritom ne uzimajući u obzir vanjske čimbenike poput klimatskih promjena i urbanizacije, koji nam ne idu u prilog.
S desecima tisuća klijenata u 150 zemalja, Agrivi je jedna od vodećih svjetskih agrotehnoških tvrtki koja pomaže i malim i velikim poljoprivrednicima da na moderan način pristupe rješavanju ovog problema.
Agrivi is 4th on the official 2019 FoodTech 500 list! 😊Congrats to all companies who made to the list 🎉Check the list…
Posted by Agrivi on Tuesday, February 4, 2020
Prva investicija i tri godine besplatne cloud infrastrukture
Upravo spoj tehnologije s poljoprivredom motivirao je Darka da se krajem 2012. prijavi za honorarni posao u Agriviju, objavljenom na web portalu Fakulteta elektrotehnike i računarstva (FER). Zahvaljujući odrastanju u obitelji “rekreativnih poljoprivrednika”, Darko je već imao određena znanja o poljoprivrednim procesima, a dodatnu dodirnu točku pronašao je u tome što dolazi iz Kutine, kao i direktor Agrivija Matija Žulj. Ubrzo su se njih dvojica našli, popričali te počeli raditi “na daljinu”. Matija uz svoj posao, Darko uz studiranje fakulteta. Već u ljeto 2013. Matija je osigurao prvu investiciju, koja im je omogućila da osnuju firmu, otvore ured, zaposle se na puno radno vrijeme te se u potpunosti posvete razvoju minimalno održivog proizvoda (MVP).
Matija i Darko skicirali su funkcionalnosti aplikacije, odnosno korisničko sučelje uz pomoć PowerPoint i XMind alata, a samu aplikaciju Darko je razvijao na platformi .NET u Visual Studiju. S alatom MySQL WorkBench Darko je dizajnirao bazu podataka, a od samog početka hostao je aplikaciju na Microsoft Azure platformi. Darko ističe da im je u to vrijeme mnogo značila podrška Microsoftova BizSpark programa, koji im je tri godine pokrivao sve troškove cloud infrastrukture.
Agrivi je 1. veljače 2014. izdao MVP, a prvi korisnik koji je od njih kupio licence za korištenje softvera bio im je današnji COO Mate Knezović, čiji su roditelji imali plantažu oraha. Na temelju njihovih povratnih informacija, kao i komentara od još par pilot korisnika, nadogradili su par značajki te počeli sa širenjem tima i aplikacije.
Od MVP-a do World’s Best Startupa
U početku je Agrivijev interni development tim bio zadužen za razvoj web aplikacije i API-ja te održavanje infrastrukture, dok je razvoj i dizajn za mobilne platforme outsourcan prema Plavoj tvornici, s kojom i danas surađuju. U prvoj fazi širenja timu priključila se i agronomka Tanja Folnović, koja je kroz razvoj MVP-a radila s developerskim timom na obogaćivanju baze znanja, jednom od temeljnih komponenti sustava.
Važan korak u širenju predstavljala im je lokalizacija. S obzirom da su od početka ciljali na globalno tržište, MVP je odmah izašao s podrškom za engleski i hrvatski jezik. Kako kaže Darko, poljoprivrednici najčešće ne pričaju strane jezike i neće koristiti aplikaciju koja nije na njihovom lokalnom jeziku pa im je lokalizacija na druge jezike bila jedna od ključnih nadogradnji.

Od tehničkih izazova u tom periodu, Darko izdvaja skaliranje aplikacije. Više si nisu mogli dozvoliti downtime i patchiranje aplikacija u bilo koje doba, nego su morali uvesti procedure i početi pristupati problemima na strukturiraniji način. Također, na prijelazu iz 2016. do 2017. morali su napraviti veliku migraciju postojeće cloud infrastrukture na nove poslužitelje i na nove verzije baze podataka kako bi držali korak s novostima kod usluge Microsoft Azure.
Paraleno su radili na brendingu i povećanju vidljivosti, a titula World’s Best Startup na globalnom startup natjecanju World Startup Competition 2014. godine im je omogućila da dobiju prvu veliku rundu investicija u 2016. te pokrenu veliku ekspanziju.
Selidba u novi grad i na novu metodologiju razvoja
Darko se prisjeća da su te 2016. preselili iz Kutine u Zagreb. U tim je došao i prvi UX/UI dizajner, koji je od developera preuzeo posao dizajniranja aplikacije. Od Power Pointa i Adobe Illustratora prešli su na Sketch i standardizirali jako puno modula u aplikaciji, koji su prema Darkovim riječima, prije izgledali “dosta frankenštajnovski”.
Drugi problem kojem su se u to vrijeme posvetili bila je organizacija i metodologija rada:
Organizacija je bio ključni izazov jer ne bi ništa od tehničkih problema mogli riješiti da se nismo počeli poslagivati kako se spada i na vrijeme.
Darko opisuje da su dotad primjenjivali Kanban pristup, gdje bi se svi skupili, raspravili ideje koje su dolazile od sales tima, klijenata i developera, prioritizirali ih i stavili u razvoj. Međutim, Darko kaže da im je tu nedostajalo “pametnije organiziranje i planiranje”, metodologija po kojoj bi mogli bolje odrediti koji im se značajke trenutno više isplate, zbog čega su krenuli u uspostavu product tima. U to vrijeme im se pridružila kolegica koja je imala iskustva u vođenju projekata u jednoj od vodećih telekom tvrtki u Hrvatskoj i ona je uspostavila osnove Scruma u Agriviju. Tada su počeli uvoditi dvotjedne iteracije i artefakte Scruma; od sprint planiranja do retrospektiva.
Nakon toga, ubrzo je došla potreba i za osnivanjem quality assurance (QA) tima. Darko kaže da su tu imali jako puno sreće jer je kolega s kojim se znao iz srednje škole, a koji je dotad iza sebe imao nekoliko godina radnog iskustva u QA testiranju i automatizaciji testiranja, ali i vođenju QA timova, taman tražio novi izazov u karijeri:
Uspjeli smo se dogovoriti da dođe u Agrivi i tada smo počeli strukturirati QA proces i uvoditi automatizacije kako bismo osnovne procese, osnovne user flowove mogli pokriti kroz automatizirane testove, da nemamo uvijek potrebe samo ručno klikati kroz svaki feature. To je bio ogroman korak ka boljoj kvaliteti softvera koji isporučujemo.
Tu su, osim njega, u početku bile uključene i kolegice iz Agro tima. One su se u testiranje uključivale u user acceptance testing fazi, kao stručnjaci koji poznaju poljoprivrednu domenu i koji znaju na koji će način korisnici raditi na našem sustavu. One su oponašale korisnike i testirale njihove flowove.
Zašto i kada osnovati novi tim unutar firme?
Što se tiče osnivanja novih timova, Darko kaže da redovito uočavaju nedostatke u trenutnim procesima te traže točke koji im nedostaju. Npr., za QA im je bilo jasno da im treba netko tko će testirati, a da to nije developer. Isto tako, Darko ističe da prate trendove i standarde u industriji, način na koje su druge firme organizirane i skaliraju svoje timove:
Dosta smo pratili kako druge firme rastu, pogotovo one koje su prošli kroz neke slične faze kao i mi i koje su jako uspješno došle do značajnijeg rasta. Tu smo na godišnjoj, polugodišnjoj razini radili revizije gdje smo sad, koliko nam to zadovoljava planove firme u cjelini i što ovaj tehnološki dio treba napraviti da bi ciljevi firme bili zadovoljeni.
U zadnje dvije godine, Agrivi se preselio na novu lokaciju i pojačao cijeli tim na 14 ljudi. Dedicirani produkt tim danas je zadužen za biznis stranu produkta, odnosno za pripremu roadmapa te raščlanjivanje istih na vrlo detaljne funkcionalne specifikacije (kome je taj produkt namijenjen, na koji način će se koristiti, kako će se prodavati i sl.)

Drugi dio čini full-stack development tim na čelu s team leadom, koji je zadužen za organizaciju unutar tima, tj. za postavljanje mentorshipa između članova, za onboarding tih članova, educiranje, certificiranje i sl. Darko ističe da im je certificiranje jako bitno radi statusa Microsoft development partnera koji im donosi puno benefita pa se na tom polju konstantno usavršavaju.
Treća komponenta je QA tim koji se sastoji od QA analitičara i QA inženjera, odnosno podijeljen je na ljude koji su zaduženi za manualno testiranje i na one koji su zaduženi za automatizaciju testiranja, tj. pisanje dodatnih testova, postavljanje infrastrukture koja je potrebna za to te povezivanje svega toga sa delivery pipelineom. S druge strane, još uvijek outsourcaju mobilni razvoj i sistem administraciju jer trenutno nemaju potrebe za full-time osobom za ta područja.
Darko napominje da uvijek pokušavaju složiti kombinaciju iskusnijih kolega i juniora. Svaki novi developer dolazi im s određenim iskustvom u nekom drugom alatu, programskom jeziku ili području kojim obogaćuju tim. Darko se sjeća situacije kad su zaposlili junior developera bez ikakvog iskustva rada u IT firmi, ali s osnovnim znanjima stečenim kroz razne tečajeve i samostalan rad te s velikim iskustvom rada u GIS sustavima. Novi kolega je u Agriviju naučio mnogo o programiranju i radu o timu, a s druge strane, tim je dobio prvog stručnjaka za GIS sustave, što je za poljoprivrednu industriju vrlo bitno područje.
100% NET. Core, 0% legacy kod na backendu
U pogledu razvojnih tehnologija, Agrivi je zadržao fokus na C# i .NET-u kao core backend dijelu razvoja softvera. Darko naglašava da su nedavno završili projekt migracije s .NET frameworka na .NET Core 3.0 framework:
To je najnovija stvar koju je Microsoft izbacio, a koja je u zadnje tri do četiri godine prošla sazrijevanje i sad je to vrlo stabilna, vrlo skalabilna i vrlo zrela arhitektura. To nam je donijelo ogroman benefit i iz aspekta lakšeg održavanja, lakšeg daljnjeg razvoja, boljih performansi, ali i toga da smo sad firma koja je 100% sa svojim svim produktima – što Agrivi farm management sustava kao glavnog produkta, što side micro-servisa na .NET Coreu što se tiče tog backenda. Riješili smo se kompletnog legacyja na backendu.
Agrivi je unio puno promjena i na frontend dijelu razvoja aplikacije. Krenuli su s .NET-om i Razor frameworkom te osnovnim HTML-om, CSS-om, jQuery-jem, da bi u zadnjih godinu, dvije dodali podršku za TypeScript te implementirali Vue.js na nekim modulima. Darko kaže da uvode dodatne slojeve koji im omogućavaju da brže i efikasnije razvijaju frontend dio te donose puno bolji UX svojim korisnicima.

Suvremena poljoprivreda – IOT revolucija, umjetna inteligencija i autonomni traktori
Iako nitko ne može dati sigurnu prognozu oko toga što nas čeka u budućnosti Darko ističe da je poljoprivreda grana industrije koja se jako brzo razvija i u kojoj se iz dana u dan pojavljuju brojna nova tehnoloških postignuća. Od IoT-a, koji je raširen kroz raznorazne senzore, vremenske stanice, dronove, satelite i ostale izvore podataka, do umjetne inteligencije i strojnog učenja, koji mogu donijeti i obraditi “nezamislive količine preciznih podataka” te time obnašati određenu savjetničku ulogu prema poljoprivrednicima.
Usto, tu su još tehnologije poput autonomnih vozila, ne samo na cestama, nego i u poljima, poput autonomnih traktora, kombajna ili druge mehanizacija koja može biti navođena GPS-om i odraditi neki posao bez ikakve interakcije vozača.
S poljoprivredne strane, Darko ističe da je ovo industrija na koju ogromni utjecaj imaju već spomenuta događanja poput rasta populacije, klimatskih promjena i urbanizacije. Budući da je poljoprivreda uglavnom jednogodišnji ciklus, Darko upozorava da nam ne ostaje još mnogo iteracija da bismo se doveli do željene produktivnosti do 2050.
U tom smislu, Agrivi u suradnji s FER-om već radi na projektu Agrivi Smart, kojem je cilj povećanje produktivnosti uzgoja krumpira uz pomoć umjetne inteligencije, tj. algoritama strojnog učenja, koje obrađuje podatke prikupljene sa senzora.
S tehnološkog aspekta, bit će izazovno popratiti sve te nove tehnologije, nove izume ili inovacije koje će se u poljoprivredi pojavljivati, i tu će sigurno trebati i neka nova tehnička znanja i puno više ljudi nego ih trenutno imamo da bismo ih mogli popratiti i biti u toku.
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:
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.