Kako postupno uvoditi poboljšanja na projektu?

Autor: Davor Tvorić, Frontend Engineer, Productive

Uvijek nastojim sagledati širu sliku projekta na kojem radim.

Vrlo je lako izgubiti se u detaljima, pogotovo na velikim projektima. Zato je ključno sve što radimo staviti u perspektivu.

To se često odnosi na poslovnu logiku ili domenu, ali jednako je bitno uzeti u obzir i tehničku implementaciju projekta. To običavamo zanemariti pa ću pokušati objasniti zašto bismo morali obratiti veću pažnju na cjelokupnu sliku.

Novi početak

Svaki put kad počnem raditi na novom projektu, dobijem osjećaj da na njemu ima puno suvišnih i neefikasnih stvari. Volio bih stvari napraviti po svome. U nekim slučajevima stvarno ima mjesta za poboljšanje, no u većini slučajeva priroda projekta zakomplicira nešto jednostavno. Ovo se ne odnosi samo na kod, nego i na libraryje, arhitekturu projekta i ostalo.

Najgora stvar koju možeš čuti u ovoj situaciji je „ovako to oduvijek radimo” ili „ma samo pusti”.

Dobro, možda nije baš najgora stvar, ali ne ostavlja baš najbolji osjećaj.

To može značiti da se nalazite u središtu legacy koda koji će postati sve kompliciraniji i kompliciraniji. Sada, dodajte tim ljudi koji radi isto što i vi, i vidjet ćete koliko se brzo situacija može oteti kontroli.

Tračak nade

Srećom, u Productiveu ne radimo stvari tako. Jako mi je drago što sam napokon pronašao ljude sa sličnim načinom razmišljanja, koji imaju želju stvarno poboljšati procese. Ideja je da svaki član tima može i treba doprinijeti radu na projektu. Mogu, na primjer:

  • Ažurirati dokumentaciju
  • Poboljšati ili uvesti novi proces, npr. automatizacija ažuriranja libraryja
  • Pojednostaviti kompleksnu komponentu ili radni proces
  • Napisati skriptu za repetitivni zadatak
  • Doraditi testove i proces testiranja
  • itd.

Vjerojatno vam padaju na pamet i drugi primjeri. Neke od ovih stvari su jednostavnije za napraviti, neke su teže, ali sve su važne. Kao što sam već rekao, ovo nije nešto što se preporučuje napraviti na vlastitu ruku. Bitno je surađivati s timom kako bi se osmislila najbolja moguća rješenja. Možda nećete doći do njih isprve, ali bitan je napraviti korak u pravom smjeru. Kada drugi ljudi vide da se nešto pokrenulo, to ih obično i motivira da sami krenu razmišljati i eksperimentirati.

Česta prepreka je ideja da moramo imati puno iskustva kako bismo mogli uvesti promjene. Uvijek sam se zamarao time da netko drugi bolji odabir za uvođenje promjena. Netko tko ima više iskustva ili znanja. To možda i je istina. Ali ako imamo ideju i vrijeme, to može biti odlična prilika da naučimo nešto novo i postanemo taj „bolji” odabir za uvođenje promjena. Čak i ako smo sasvim novi na nekom poslu, visoke su šanse da smo najbolji odabir u nekim situacijama — npr. za ažuriranje onboarding dokumentacije, jer nam je lakše procijeniti što nije bilo najjasnije objašnjeno.

Kako organizirati želju za poboljšanjem

  • U većini slučajeva, nije dovoljno dogovoriti se usmeno
    • Pokušajte zapisati bitne stvari za određenu inicijativu
  • Istaknite specifične probleme i zapišite na čemu točno treba raditi
    • Ljudima je lakše raditi prema krajnjem cilju kada je isti dobro definiran
  • Odredite tko je odgovorna osoba (ili osobe) za inicijativu
    • Ta osoba ne mora nužno raditi na inicijativi (iako može), ali mora pratiti koji dio posla je dovršen i što je još preostalo
    • Uloga je ekvivalentna projektnom menadžeru, ali za specifičnu inicijativu
  • Ako je moguće, rotirajte odgovorne ljude na inicijativi
    • To je prilika da svatko nauči više o sustavu i da se potakne razmišljanje o novim rješenjima
  • Sve ključne osobe trebaju biti svjesne aktivnih inicijativa
    • Često nije moguće potrošiti cijeli tjedan na inicijativu, ali kraći i konzistentni rad bi trebao biti dovoljan za napredak
    • U Productiveu pokušavamo uložiti 15 % do 20 % vremena svaki tjedan, ako je moguće
  • Organizirajte vrijeme i prioritete prema svakodnevnom poslu i inicijativama

U ovo dodajte suradnju sa svim članovima tima, dobru komunikaciju i imate recept za uspjeh! I dalje ćete imati vremena za razvoj funkcionalnosti i za popravke, ali ćete, uz to, podići kvalitetu koda i poboljšati radne procese za developere. Ovakav postepen pristup također može pomoći pri rješavanju složenih problema koji bi inače bili zanemareni zbog količine posla na njima.

Prepreke na putu

Iako je naše iskustvo s uvođenjem inicijativa bilo pozitivno, nije sve bilo savršeno od početka. Neke značajne inicijative jednostavno nisu zaživjele.

Nakon razgovora s članovima tima, shvatili smo da je opseg nekih inicijativa bio preširok. Sama ideja je bila dobra, ali ljudi nisu znali gdje i kako bi započeli.

Jedno od rješenja je raščlaniti i suziti problematične inicijative koliko je moguće. Kako bi to bilo izvedivo, potrebno je razgovarati s članovima tima i dobiti stvarne povratne informacije, pogotovo ako primijetite nešto neuobičajeno.

Ako niste sigurni u kojem smjeru biste mogli krenuti, možda vam neki od ovih prijedloga mogu pomoći:

  • Release / deployment inicijativa
    • Popravljanje čitavog procesa, od generiranja buildova, do automatizacije i objavljivanja popisa promjena na Slacku
  • Praćenje i rješavanje bugova
    • Povećanje broja riješenih bugova i smanjivanje vremena za rješavanje istih
  • Refaktoriranje
    • Komponente i dijelovi sustava trebaju biti pojednostavljeni koliko god je to moguće
    • Poboljšavanje developerskog iskustva (DX)
  • Praćenje projekta
    • Poboljšanje monitoringa i alertinga na projektima
  • Alat za upravljanje paketima
    • Automatiziranje procesa praćenja i ažuriranja paketa na svim projektima
  • Modernizacija
    • Identifikacija i modernizacija neefikasnih praksi
  • Migracija sheme baze podataka
    • Istraživanje i smanjivanje rizika kod migracija baza podataka
  • Onboarding
    • Poboljšanje procesa s fokusom na najkompliciranije dijelove
  • UI framework
    • Povezivanje dizajn sustava i kreiranje libraryja iz raštrkanih komponenti

Siguran sam da bi sve išlo puno sporije kada bismo radili poboljšanja u hodu i bez ljudi koji ih nadgledaju. Drago mi je što smo krenuli s ovim jer je jako nadahnjujuće vidjeti kako se ljudi trude poboljšati procese u domenama koje nisu razrađene koliko bi mogle biti.

Kada su svi počeli prepoznavati prednosti neke inicijative, razno razne ideje su se počele pojavljivati. Nevjerojatno je koliko se brzo možemo naviknuti na ustaljene procese, ali dovoljna je mala promjena kako bi započela lančana reakcija nakon koje se zapitaš: „Kako se ovoga nisam sjetio ranije?”.

Nadam se da će vam ovo pomoći i potaknuti vas da isprobate nešto slično u vašem radu!

Predstavnici Productivea nastupit će i na .debugu 2024, a ulaznice su u prodaji:

Kupi ulaznicu

250 €

Ulaznica

50 €

Studentska ulaznica

100 €

Online ulaznica

30 €

Studentska online ulaznica