Programer i vi - vodič za preživljavanje

Programer i vi – vodič za preživljavanje

Developeri su ljudi (da, stvarno jesmo, testirali su nas!) koji će biti odgovorni za realizaciju vaše ideje. Iako vam je možda jezik kojim pričaju nerazumljiv, a silne linije koda koje pišu graniče sa znanstvenom fantastikom, o njima ovisi kako će vaša aplikacija funkcionirati - a o funkcionalnosti vaše aplikacije ovisi vaš posao.

Napravili ste web stranicu i svakodnevno s oduševljenjem radite na njenom održavanju. Dizajner je napravio odličan posao, a korištenje sustava za upravljanje sadržajem je jednostavnije nego što ste mislili i koristite ga s užitkom.

No, s vremenom otkrivate i nedostatke svog weba i dobivate dojam da to može još bolje. Možda želite dodati web shop ili neku društvenu komponentu; možda jednostavno imate neki tip sadržaja za koji vaš trenutni CMS tj. sustav za upravljanje sadržajima nije predviđen.

Za neke će od vaših ideja postojati gotova rješenja koja će vam, uz minimalne izmjene, savršeno odgovarati. U nekim će slučajevima gotovo rješenje zahtijevati malo veće zahvate, a neke će vaše zahtjeve trebati razvijati from scratch, tj. ispočetka, jer gotovo rješenje ne postoji ili bi njegova prilagodba bila jednostavno prezahtjevna i neisplativa. Ukoliko imate (ne)sreću da vaš zahtjev spada u jednu od zadnje dvije navedene kategorije…

Upoznajte Developera

...i developeri su ljudi!

Developeri su ljudi (da, stvarno jesmo, testirali su nas!) koji će biti odgovorni za realizaciju vaše ideje. Iako vam je možda jezik kojim pričaju nerazumljiv, a silne linije koda koje pišu graniče sa znanstvenom fantastikom, o njima ovisi kako će vaša aplikacija funkcionirati – a o funkcionalnosti vaše aplikacije ovisi vaš posao.

Ovisno o tome radite li s freelancerom ili s tvrtkom, vaše developere možda nikad nećete vidjeti, no to ne znači da ne možete napraviti ništa da im olakšate posao; naprotiv, vaš pristup i informacije uvelike mogu utjecati na njihovu motivaciju i mogućnost izrade kvalitetnog proizvoda.

Dakle, kako vama i vašem razvojnom timu život učiniti ljepšim i jednostavnijim?

Budite svjesni budžeta

“Brzo, dobro, jeftino – odaberite dvoje od ponuđenog” vrlo dobro opisuje vezu između financijskog i vremenskog budžeta te kvalitete vaše aplikacije. Ukoliko ste financijski ograničeni, nemojte očekivati novi Google ili Twitter, no uz malo konzultacija možete postići kompromis koji će rezultirati dobrom aplikacijom izrađenom u razumnom roku unutar budžeta. Ono što svakako treba imati na umu je da stvar ne radi uvijek u svim smjerovima (“skupo” ne povlači nužno “dobro” i “brzo”), no za te su iznimke dobri filteri preporuke i reference potencijalnog izvođača radova.

Ponekad se zna dogoditi da klijent misli da je njegova ideja nevjerojatno kompleksna i teško ostvariva, a u biti je upravo suprotno; malo se češće događa obratno. Takve se situacije jednostavno mogu izbjeći tako da zatražite okvirnu, neobvezujuću ponudu od tvrtke ili freelancera i prepustite odluku njima.

Ukoliko vam se procjena čini nerealnom, probajte kod njihove konkurencije – ako se ponude uvelike razlikuju, uvijek možete tražiti njihovo pojašnjenje koje bi vam trebalo razjasniti je li riječ o krivo shvaćenom zahtjevu ili “brzo, dobro, jeftino” problemu. Bitno je naglasiti da su te ponude neobvezujuće za izvršitelja onoliko koliko su i za vas, kao i da je velika šansa da će se mijenjati kako detaljnije i bolje formulirate svoj zahtjev, no mogu dobro poslužiti kao okviran pokazatelj stupnja složenosti projekta.

Dobro definirajte vaše zahtjeve

Razvoj softvera je proces koji se sastoji od nekoliko međusobno vrlo ovisnih koraka: svaka izmjena funkcionalnosti vaše aplikacije zahtijeva povratak nekoliko koraka unazad. Svaki povratak utječe na budžet, a samim time i na kvalitetu krajnjeg rezultata – vaše aplikacije. Developeri su svjesni da je dobar, potpun i fiksan zahtjev mit u rangu s onima o besplatnom ručku ili beskamatnom kreditu.

No, konstantno mijenjanje i nadopunjavanje zahtjeva jednom kad se krene u razvoj je praksa koja će zasigurno dovesti motivaciju i fokus developera na nulu. Ukoliko ni sami niste sigurni što točno želite, posavjetujte se s vašim voditeljem projekta ili razvojnim timom prije nego što krenete s razvojem.

Dobro definiran zahtjev ne mora biti znanstveni rad od 300 stranica. No, mora sadržavati detaljan opis podataka s kojima će aplikacija baratati, kao i veze između njih. Nastojte malo toga prepustiti slučaju i što bolje i konkretnije opisati što točno želite da aplikacija radi. U ovom trenutku nije bitno je li aplikacija crvene ili zelene boje, nego što i gdje želite napraviti s podacima koje ubacite u aplikaciju. U idealnom bi slučaju rezultat vašeg zahtjeva bila detaljna funkcionalna specifikacija koju piše netko iz razvojnog tima dorađena u suradnji s vama; u praksi se to, nažalost, često preskače jer povećava troškove.

Olakšajte komunikaciju

Kolko para, tolko muzike...?

Nekome sa strane je nemoguće u detalje poznavati sve zakone i procese vezane uz vaš način poslovanja. Ukoliko vam se oni čine prirodnima i jasnima, samo se sjetite da su vašim developerima one silne linije koda vjerojatno isto toliko prirodne – ali vama nisu. Upravo je zato važno imati osobu zaduženu za komunikaciju i rješavanje eventualnih nejasnoća koju developeri mogu kontaktirati u slučaju nerazumijevanja nekog dijela zahtjeva. Važno je da je ta osoba upoznata s vašim poslovanjem, ali i da ima ideju o tome o čemu se točno u aplikaciji radi.

Branimir Šloser iz tvrtke Emusoft je na prezentaciji aplikacije RazborIT istaknuo da je upravo dobra komunikacija s klijentom, s kojim je u bilo kojem trenutku mogao riješiti nedoumice oko funkcionalnosti, bila jedan od ključnih čimbenika u brzom, bezbolnom i uspješnom razvoju te financijske aplikacije.

Vjerujte svojim developerima

Pojedinac ili tim developera koji radi na vašoj aplikaciji dnevno provodi puno vremena online. Neki od njih jako vole internet i svoj posao, pa su online otprilike onoliko koliko su i budni. Iako su nekima od njih draže kriptične komandnolinijske naredbe od lijepih grafičkih sučelja, imaju dobru ideju o tome što korisnici žele i što na webu funkcionira.

Stoga, na kraju preporučam da im ponekad vjerujete ili makar poslušate njihove komentare i prijedloge — nerijetko ih ne iznose zbog lijenosti, već zato što im je stvarno stalo da naprave dobar proizvod i olakšaju vama ili vašim klijentima život.

Na kraju krajeva, zato ih i plaćate.

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:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

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.

Komentari

  1. Vibor Cipan

    Vibor Cipan

    16. 03. 2010. u 8:22 am Odgovori

    Pohvale za članak, kratko, jasno i sažeto – a opet pogađa dobar dio problematike. Trokut “brzo-dobro-jeftino” neodoljivo me podsjeća na slične metafore iz područja project managementa – primjerice “cost-scope-schedule”.

    Sve u svemu, zanimljiv članak!

  2. sloser

    sloser

    16. 03. 2010. u 9:42 am Odgovori

    Bravo Nikola, odličan tekst… Mislim da ću spremiti link i često ga slati klijentima na početku suradnje… I hvala za spomen, fakat je istina da uz malo (obostranog) truda rezultat i sam proces dolaska do rezultata mogu biti puno bolji i ugodniji.

    Nadam se da će biti još tvojih članaka ovdje 😉

  3. and1v

    and1v

    16. 03. 2010. u 9:57 am Odgovori

    Ako može jedan ispravak krivog navoda: U rečenici “U idealnom bi slučaju rezultat vašeg zahtjeva bila detaljna funkcionalna specifikacija koju piše netko iz razvojnog tima dorađena u suradnji s vama; u praksi se to, nažalost, često preskače jer povećava troškove.” nedostaje riječ NAIZGLED dakle “… često preskače jer NAIZGLED povećava troškove.”
    Ne da mi se sad elaborirati jer to može bilo tko tko je učestvovao u jednom projektu sa (polu)detaljnom specifikacijom i u jednom bez ikakve specifikacije.

    Inače odličan tekst, možda previše programerski za slat link klijentima, jer fale ključne riječi za one koji nemaju pojma o tematici (ROI, strategija, tržište, brend i slično 🙂 )

  4. Emanuel Blagonić

    Emanuel Blagonić

    16. 03. 2010. u 10:10 am Odgovori

    Nikola,
    pohvale za članak. Mislim da si uočio sve glavne probleme koji nastaju u komunikaciji naručitelja i izvođača. No, ovo što si napisao može se uz male izmjene primijeniti i na slučaj naručitelja i dizajnera, jer se i mi suočavamo sa sličnim problemima. Ako smijem nadopisati, ono što je najbitnije kod razgovora dizajnera i klijenta:
    * struktura stranica
    * tekstovi
    * što se klijentu sviđa (linkovi na stranice, detaljno objašnjenje što mu se sviđa/ne sviđa)
    Još jednom pohvale. +1 od mene 😉

  5. Nikola Plejić

    Nikola Plejić

    16. 03. 2010. u 5:57 pm Odgovori

    Hvala svima na komentarima, drago mi je da je članak koristan i/ili zanimljiv. 🙂

    @and1v: Istina, nedostaje “naizgled”. Specifikacije definitivno štede vrijeme (pa i novac) u razvojnoj fazi i vjerojatno su zadnja stvar koju bi treblao preskakati, ali su nekako prve na listi za odstrel. Nikako mi nije bio cilj reći da bi *trebalo* preskakati taj korak, no nažalost, nije bilo dovoljno mjesta za detaljnu razradu svake od točaka jer bi svaka zahtijevala svoj članak ili dva :).

    @Emanuel: Da, velik dio ovoga je istinit za razvoj bilo kakvog proizvoda, pogotovo na webu. Mislim da u odnosu s klijentima svi uključeni u razvoj dijele vrlo slične probleme.

  6. QuadMachine

    QuadMachine

    17. 03. 2010. u 4:34 pm Odgovori

    Posebno mi se sviđa onaj dio o nedefiniranim zahtjevima klijenata, i kako oni ne shvaćaju koliko je teško napraviti nešto što njima djeluje jako jednostavno…

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Mobilne aplikacije

ZET-ov štrajk iznjedrio nova digitalna rješenja za prijevoz po Zagrebu

Zagreb je jutros ostao bez redovitog tramvajskog i autobusnog prometa, no građani su brzo počeli tražiti alternativna rješenja. Uz organiziranje zajedničkih vožnji, pojavilo se i nekoliko digitalnih projekata koji pokušavaju povezati vozače i putnike.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Programiranje

Tim od šest developera, dva QA-a i jednog Product Ownera postaje prošlost

Florian Krause ima trideset godina iskustva u razvoju softvera, jedan propali startup i čvrsto mišljenje: tim od šest developera, dva QA-a i jednog product ownera postaje prošlost. Na The Geek Gatheringu u Osijeku objasnio je čime se takva postava zamjenjuje.

Što ste propustili

Pametni automobili

Napokon smo se provozali Verneovim robotaksijem!

Nakon što smo u Zagrebu bezuspješno pokušali uhvatiti Verneov robotaksi putem Uberove aplikacije, zvijezde su se posložile i mi smo dobili poziv koji se ne odbija.

Umjetna inteligencija

Tko zbog AI-ja i dalje ulaže u ljude, a tko otpušta 50% radne snage?

Dok neke tvrtke nastavljaju i zapošljavati i ulagati u AI, druge su odabrale samo potonje. Kako različite tvrtke pristupaju promjenama na tržištu, doznali smo na Automation Summitu.

Novost

Gamepires najavio otpuštanja, smanjuje tim koji radi na SCUM-u

Gamepires, koji stoji iza igre SCUM, smanjuje broj zaposlenih zbog zahtjevnih tržišnih uvjeta. Objava dolazi nekoliko mjeseci nakon što je studio preuzeo britanski Splash Damage.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Veliki intervjui

Ako AI može napraviti film ili igru, što ostaje kreativcima? Odgovara CEO Nanobita

Može li umjetna inteligencija promijeniti način na koji nastaju filmovi i igre, a da pritom ne žrtvujemo kvalitetu priče i kreativnu viziju? Nanobit već testira odgovor na to pitanje, razvijajući AI produkcijske procese koji otvaraju mogućnost stvaranja sadržaja velikom brzinom.

Netokracija Podcast

Dekan FER-a: AI ne može zamijeniti temeljno znanje inženjera

Umjetna inteligencija mijenja način na koji radimo, ali bez temeljnih znanja nema ni kvalitetnih inženjera ni ozbiljnog tehnološkog napretka. U razgovoru s dekanom FER-a otkrivamo zašto je važno ulagati u istraživanje i razvoj, kako povezati fakultete i industriju te gdje se otvaraju nove prilike za Hrvatsku – od robotike i fizičke umjetne inteligencije do razvoja visokotehnoloških proizvoda.