Kako pristupamo projektima

Na koji način radimo

how we work

Aplikacije i softver postali su krvotok suvremenog poslovanja.

Razvoj softvera je srce koje donosi život poslovnim inicijativama, dok su kompetencije i učinkovitost pojedinačnih programera srce procesa razvoja softvera.

Oslonite se na naše timove koji će vas snažno povući i izraditi prvi prototip, a zatim implementirati kompletno rješenje, uključujući i uspostavu continuous integration i delivery pipelinea.

Od početka do kraja

Tu smo za vas

Prava ravnoteža agilnosti i operativne stabilnosti

Ekobit-Team

Tehnički jaki multidisciplinarni timovi

Puno više od para ruku s tehničkim znanjem

Vježbe snage, istezanja, ravnoteže i aerobni trening osnova su za svaki sport, dok kompetencije i učinkovitost svakog softverskog inženjera predstavljaju srce procesa razvoja softvera.

Sposobnost razvoja softvera ključna je za dobro zdravlje vaše organizacije, baš kao što je fizička kondicija ključna za vaše fizičko zdravlje.

Sve počinje iz srca

Razvijamo

Ali zapravo je riječ o TIMU

Razrađujemo

Inner loop by Ekobit

Znamo na koga se možemo osloniti kad se pojave ozbiljni problemi – na ljude iz našeg užeg kruga. U softverskoj industriji, taj se krug zove inner loop, pri čemu se misli na tim, donošenje odluka o arhitekturi, izbor branching strategija, dijeljenje znanja i odgovornosti za kod te razvoj sustava koje je lako testirati i oko kojih je lako automatizirati.

Uspjeh softverskog tima, baš kao i uspjeh tima sportaša, zahtijeva međusobnu povezanost, komunikaciju i suradnju, a jedina je razlika u tome što se softverski timovi bave apstraktnijim ekvivalentima ‘gubitka lopte’ – brzina razvoja, jednostavnost održavanja, performanse, skalabilnost, i to bi bili samo neki od onih s dugoročnim posljedicama.

Opće je poznato da igrati na domaćem terenu donosi golemu prednost lokalnom sportskom timu. Štoviše, sportski klubovi postaju ‘opće dobro’ zbog atmosfere koja dolazi od publike i koja sportskim događajima daje onu neku posebnost koju pamtimo. I razvoj softvera ima svoju publiku – korisnike aplikacija, IT sustave na kojima se softver vrti i poslovne ljude koji to sve skupa financiraju – to su dijelovi outer loopa.

Outer loop se temelji na učinkovitom mehanizmu za redovito postavljanje i instalaciju (radne) verzije softvera, bilo na vlastitu opremu ili u cloud. Kontinuirana integracija i isporuka, osobito kada je potpuno automatizirana, nema cijenu, jer tim iz povratnih informacija o isporučenom uči što funkcionira i što bi trebalo izmijeniti ili doraditi. Uz to, i ostali stakeholderi dobivaju jasnu sliku o trenutnom stanju sustava koji se razvija.

NEMA povratnih informacija BEZ CI/CD-a

Povezujemo

Na Ekobitov način

AGILE pragmatično

Započninjemo od grube razrade koncepta i ideje zapisujemo koristeći Azure DevOps work iteme tipa Epic i Feature. Dok poslovni i razvojni timovi nastavljaju surađivati dodavanjem više detalja i izradom User Storya, alat nenametljivo vodi kroz proces pa nam usputno nastaje trag o raspravama, zajedno s dokumentima, prilozima, ali i kompletnom poviješću promjena.

Za procjenu količine posla koristimo relativne mjere poput, primjerice, story pointa. Nastojimo procjenjivati taman onoliko precizno koliko treba da bismo mogli odlučiti što uključiti u iteraciju, što bi trebalo dodatno razraditi, a što ostaviti za kasnije… Tijekom planiranja, poslovna strana može i često puta zaista koristi naše procjene i Excel za analizu i brza isprobavanja ‘što-ako’ scenarija. Nakon toga, pobjednički scenarij se u obliku čistopisa ‘objavljuje’ u Azure DevOps.

Azure DevOps iteration backlog koristimo za raspisivanje zadataka koji pripadaju user storyima te detaljnu razradu i procjenjivanje posla koji će se raditi tijekom iteracije tj. u sljedećih dva ili tri tjedna. Tim preuzima odgovornost da će odraditi isplanirano.

Na kraju svake iteracije radimo isporuku onih funkcionalnosti koje su napravljene. Koristimo Azure DevOps repozitorije i pipeline za automatiziranu integraciju i isporuke, i tako već od prvog dana tj. od samog početka projekta.

Backlog i procjene stalno ažuriramo što nam omogućuje da koristimo grafikone na Azure DevOps nadzornim pločama. Iznenadili biste se koliko grafikoni poput, primjerice, “story points per iteration” ili “product increment burndown” mogu pomoći kad netko postavi pitanje “kad će biti gotovo?”. Odgovor može biti inženjerski precizan.

Za praćenje rada koristimo virtualne ploče, one koje nudi Azure DevOps, a ne post-it naljepnice. Naše su ploče alat za Kanban s četiri stupca – Novo, Aktivno, Riješeno, Zatvoreno – koji se prilagođava po potrebi.

Tim je usredotočen na storyje koji su dodijeljeni iteraciji. Osim toga, storyi u iteraciji su poredani po prioritetu tako da se najvažniji story stavlja na vrh. Prioritet definiran bojama kartica i bojama oznaka pomaže članovima tima odlučiti koje zadatke treba završiti najprije.

U idealnom slučaju, svaki član tima radi samo na jednom zadatku u isto vrijeme, stoga postavljamo ograničenje broja zadataka u stupcu ‘Aktivno’ da bude isti kao i broj ljudi u timu.

Naš proces ne zahtijeva da tim ima određeni broj članova, niti zahtijeva članove određenih uloga. Međutim, pokazalo se važnim imati senior developera u ulozi team leada za lakšu komunikaciju i kako bi arhitektura ostala kako treba, bez obzira na u pravilu učestale i zapravo sasvim poželjne promjene u zahtjevima.

Zadatke članovima tima ne dodjeljuje voditelj projekta niti im ih se dodjeljuje unaprijed. Umjesto toga, svaki član tima bira sljedeće zadatke i koordinira se s timom tijekom dnevnih sastanaka.

Ne očekujemo da će svaki član tima svaki zadatak moći obaviti sam. Naprotiv, potičemo razmjenu znanja koja se događa kada dva developera rade zajedno.