# Uvod: Zašto procjene padaju i što mi radimo drugačije#
Većina problema s procjenama nisu matematički problemi. To su problemi neizvjesnosti, sakriveni iza jedne brojke.
Kod procjene web i mobilnih projekata najveći driver troška rijetko je framework. To je količina nepoznanica oko korisnika, podataka, integracija, usklađenosti (compliance) i očekivanja kvalitete. Industrijska istraživanja dosljedno pokazuju da softverski projekti u značajnoj mjeri probijaju budžete i rokove, pri čemu su feature creep i nejasni zahtjevi među najčešćim uzrocima — a upravo to je ono što dobar proces procjene treba spriječiti.
Ovaj post objašnjava kako u Samiodi procjenjujemo Next.js i Flutter projekte: od ulaza iz discoveryja, preko assumptions loga, buffera za rizike i milestoneova, do kontrole opsega tijekom isporuke. Ako želite širu sliku end-to-end isporuke, pročitajte i naš proces web razvoja korak po korak. Za dublji uvid baš u discovery, pogledajte technical discovery, estimation, and scope control.
# Što čini procjenu za Next.js i Flutter zahtjevnijom#
Next.js i Flutter su produktivni stackovi, ali produktivnost ne uklanja kompleksnost. Samo mijenja gdje se ona pojavljuje.
Next.js: Kompleksnost najčešće živi u podacima i strategiji renderiranja#
Tipični “multiplikatori” procjene za Next.js projekte uključuju:
- Pristup renderiranju: static generation, server-side rendering, client-side rendering i incremental rendering nose različite implikacije na caching, hosting i performanse.
- Auth i autorizacija: uloge, organizacije, SSO i audit logovi lako mogu udvostručiti očekivanje “jednostavnog logina”.
- Content workflow: modeliranje CMS-a, previewi, draftovi i lokalizacija često traju dulje od izrade stranica.
- Integracije: payment provideri, CRM-ovi, analytics i interni API-ji uvode nepoznanice koje ne možete “riješiti na frontendu”.
Flutter: Obećanje “jedne baze koda” i dalje uključuje dvije platforme#
Flutter ubrzava cross-platform isporuku, ali se procjena značajno mijenja ovisno o:
- Native mogućnostima: kamera, background taskovi, push notifikacije, deep linkovi, biometrija i in-app purchases.
- Zahtjevima app storeova: review ciklusi, privacy disclosurei, promptovi za dozvole i rubni slučajevi po platformama.
- Offline i sinkronizaciji: rješavanje konflikata, background sync i strategija lokalne pohrane.
- Fidelitetu dizajna: pixel-perfect UI i složene animacije su stvaran posao, čak i u Flutteru.
ℹ️ Napomena: Odabir frameworka tipično utječe na brzinu izrade manjim postotkom nego produktne odluke poput uloga, content modeliranja, offline ponašanja i dubine integracija.
# Naša filozofija procjene: Obranljiv opseg umjesto lažne preciznosti#
Cilj nam je procjena koja je obranjiva na sastanku sa stakeholderima i operativno korisna tijekom isporuke. To znači da ne optimiziramo prema jednoj “savršenoj” brojci. Optimiziramo prema jasnoći.
Obranjiva procjena uključuje:
- Granice opsega koje jasno navode što je uključeno i što je isključeno.
- Kriterije prihvaćanja koji definiraju “done” za svaku funkcionalnost.
- Assumptions log koji eksplicitno prikazuje neizvjesnost.
- Buffere za rizik vezane uz konkretne rizike, a ne nasumično “punjenje”.
- Milestoneove na kojima se opseg ponovno validira prije izgradnje sljedećeg sloja.
# Korak 1: Discovery ulazi koje trebamo prije procjene#
Možemo procijeniti brzo kada su ulazi jasni. Možemo procijeniti točno kada su ulazi i jasni i potvrđeni.
U nastavku je što tražimo — i što izradimo ako to još nemate.
Produktni ulazi#
- Problem statement i ciljani korisnici: kome je namijenjeno i koji se ishod mijenja.
- User journeyji: glavni tokovi koji moraju raditi end-to-end.
- Uloge i dozvole: tko što može raditi i tko što smije vidjeti.
- Metrike uspjeha: aktivacija, konverzija, retencija, ušteda vremena ili utjecaj na prihod.
Dizajnerski ulazi#
- Wireframeovi ili UI: čak i low-fidelity ekrani smanjuju nejasnoće.
- Ograničenja design systema: postojeći brand sustav, komponente i zahtjevi pristupačnosti.
- Platforme: samo web, samo mobile ili oboje, plus matrica podrške za browsere i OS-eve.
Tehnički ulazi#
- Integracije: API-ji, webhookovi, file storage, plaćanja, analytics, email, CRM, ERP.
- Data model: ključni entiteti, odnosi i lifecycle.
- Nefunkcionalni zahtjevi: ciljevi performansi, uptime, sigurnosna postura, logging, audit trail i compliance.
- Okruženja: staging, production, CI, monitoring, release strategija.
Ograničenja isporuke#
- Što diktira rok: demo za investitore, regulatorni datum, marketinška kampanja.
- Sastav tima: tko je vlasnik produktnih odluka, odobrenja, contenta i podrške.
- Budžetske granice: dovoljan je raspon, ali odmah mijenja trade-offe.
💡 Savjet: Ako ne možete odgovoriti na “što mora vrijediti prvog dana da bi ovo bio uspjeh”, procjena će uključivati skupu opcionalnost. Prvo definirajte minimalne kriterije uspjeha (minimum viable success criteria).
# Korak 2: Kako pretvaramo ulaze u procjenu (naš workflow)#
Koristimo dosljedan workflow kako bi procjene bile usporedive između projekata i kasnije ih bilo lako auditirati.
1) Razbijemo proizvod na “sliceove”, ne na stranice#
Umjesto procjene “10 ekrana”, procjenjujemo end-to-end sliceove poput “Signup do prve uspješne akcije” ili “Checkout s računom i email potvrdom”. Sliceovi otkrivaju skriveni posao poput validacije, edge caseova, error stanja i analyticsa.
2) Napravimo scope map s jasnim granicama#
Za svaki slice definiramo:
- uključene korisničke radnje
- error i empty stanja
- potrebe admina i podrške
- analytics evente
- očekivanja oko pristupačnosti i i18n
- očekivanja oko performansi
To postaje okosnica procjene i kasnije backlog.
3) Rano odaberemo strategiju implementacije#
Ovdje odluke za Next.js i Flutter postaju važne:
- Next.js strategija renderiranja i plan cachiranja
- pristup dizajnu API-ja i dohvat podataka (data fetching)
- state management i offline strategija za Flutter
- ponašanje notifikacija i deep linkova
- upload datoteka, obrada medija i potrebe za CDN-om
Rane strateške odluke smanjuju kasniji rework, što je skriveni trošak u mnogim procjenama.
4) Procjenjujemo u rasponima, pa konvergiramo#
Za svaki scope item koristimo:
- Optimistic effort kada pretpostavke vrijede
- Expected effort za normalnu varijaciju
- Pessimistic effort kada se pojave ključni rizici
Zatim to pretvaramo u raspon na razini projekta. To je iskrenije nego pretvarati se da neizvjesnost ne postoji.
# Korak 3: Assumptions log (što drži procjene poštenima)#
Svaka procjena koju isporučimo uključuje assumptions log. Kratak je, konkretan i vezan uz opseg.
Evo primjera koji materijalno utječu na procjenu web i mobilnih projekata:
| Područje | Primjer pretpostavke | Ako je pogrešno, utjecaj |
|---|---|---|
| Auth | samo email i lozinka, bez SSO-a | dodaje posao oko identity providera, UI, admina, testiranja |
| Uloge | dvije uloge, bez org hijerarhije | složeniji RBAC i audit trail povećavaju backend i QA |
| Podaci | nema migracije, kreće se “od nule” | uvoz i mapiranje podataka mogu dodati tjedne |
| Offline | nije potreban offline mode | offline sync može dodati 20 do 40 posto za mobilne aplikacije |
| Plaćanja | jedan provider, standardni checkout | više valuta, fakturiranje, retryji povećavaju kompleksnost |
| Compliance | nema posebnih compliance potreba | SOC2-slične kontrole dodaju logging, kontrole pristupa, politike |
| Lokalizacija | samo engleski | i18n, formatiranje i content workflow dodaju opseg |
🎯 Ključna poruka: Ako procjena ne navodi pretpostavke, to nije procjena. To je nagađanje s dobrim formatiranjem.
# Korak 4: Bufferi za rizik vezani uz stvarnost#
Da, koristimo buffere. Ne skrivamo ih.
Risk buffer postoji da upije neizvjesnost bez narušavanja povjerenja, i vezujemo ga uz imenovane rizike. Uobičajene kategorije rizika:
- Rizik integracija: third-party API-ji, nedokumentirano ponašanje, rate limitovi, rupe u sandboxu.
- Produktni rizik: nejasni workflowi, uloge koje se mijenjaju, approval chainovi.
- Platformski rizik: ponašanje mobilnih OS-eva, ishodi store reviewa, background ograničenja.
- Rizik performansi: nepoznato opterećenje, teški dashboardi, obrada medija.
- Rizik contenta: nedostajući copy, slike, prijevodi ili nejasne CMS odgovornosti.
Tipičan obrazac:
- Poznati i validirani scope itemi: manja varijanca
- Stavke s vanjskim ovisnostima: veća varijanca
- Stavke s nejasnim produktnim odlukama: najveća varijanca dok se ne razjasne
⚠️ Upozorenje: Najskuplji scope creep su “male promjene” koje se uvode svaki tjedan. Pojedinačno djeluju bezazleno, ali kumulativno mogu pojesti 20 do 30 posto budžeta, bez da ijedna odluka izgleda posebno velika.
# Korak 5: Milestoneovi koji smanjuju rizik isporuke#
Procjene strukturiramo oko milestoneova koji postupno povećavaju sigurnost. Čest oblik projekta za Next.js i Flutter:
Milestone 0: Discovery i validacija opsega#
Outputi:
- scope map i kriteriji prihvaćanja
- assumptions log
- outline tehničke arhitekture
- plan isporuke i raspon timelinea
- inicijalni backlog s prioritetima
Ovdje pretvaramo nepoznanice u odluke. Također daje prirodnu točku za zaustavljanje prije commitmenta na puni build.
Milestone 1: Temelji i vertical slice#
Implementiramo jedan end-to-end slice koji potvrđuje arhitekturu:
- kostur autha i uloga
- jedan ključni workflow
- osnovni analytics i logging
- CI setup i okruženja
- app shell i navigacija
Ovaj milestone smanjuje rizik “ma to bi trebalo biti jednostavno” jer rano vidite stvaran, funkcionalan softver.
Milestone 2: Izgradnja core featurea#
Implementiramo prioritizirane sliceove, uz tjedne demoe i provjere prihvaćanja.
Milestone 3: Hardening i release#
Fokus je na:
- tuning performansi
- app store spremnosti za Flutter
- monitoring, error reporting i dashboarde
- sigurnosne provjere i revizije pristupa
- regresijsko testiranje i release planove
Ako vam je primarni cilj MVP brzina i jasna cijena, usporedite ovaj pristup s tipičnim MVP budžetiranjem u cijena MVP-a mobilne aplikacije.
# Primjer razrade procjene (Next.js web aplikacija + Flutter mobile)#
Ispod je primjer razrade za tipičan proizvod: customer portal u Next.js-u i prateća Flutter aplikacija za krajnje korisnike. Brojke su ilustrativne, ali struktura odgovara načinu na koji prezentiramo procjene.
Opseg i effort po workstreamu#
| Workstream | Primjeri opsega | Očekivani effort |
|---|---|---|
| Discovery i planiranje | scope map, pretpostavke, arhitektura, backlog | 24 do 40 sati |
| UI i UX podrška | review wireframeova, mapiranje komponenti, stanja | 24 do 60 sati |
| Next.js frontend | dashboard, profil, content stranice, forme | 120 do 220 sati |
| Flutter aplikacija | onboarding, core workflow, postavke, deep linkovi | 160 do 280 sati |
| Backend i API | auth, data model, CRUD, webhookovi, notifikacije | 140 do 260 sati |
| Integracije | plaćanja, email, analytics, CRM sinkronizacija | 60 do 140 sati |
| QA i test automatizacija | test planovi, regresija, kritični E2E | 60 do 140 sati |
| DevOps i release | CI, staging, monitoring, isporuka na app store | 40 do 90 sati |
| Upravljanje projektom | tjedno planiranje, demoi, usklađivanje sa stakeholderima | 40 do 90 sati |
| Risk buffer | integracijske i produktne nepoznanice | 10 do 20 posto |
Što podiže ili spušta procjenu#
Ovdje klijenti dobivaju kontrolu. Nekoliko primjera:
| Odluka | Izbor s manjom neizvjesnošću | Izbor s većom neizvjesnošću |
|---|---|---|
| Authentication | email + magic link | SSO, org accountovi, SCIM |
| Offline | ništa | offline-first sa sync konfliktima |
| CMS | bez CMS-a ili jednostavni CMS | više jezika, previewi, workflowi |
| Analytics | osnovni eventi | atribucija, funnelovi, eksperimentiranje |
| Admin | minimalni admin | puni admin s audit logovima i moderacijom |
| Plaćanja | jednokratna plaćanja | pretplate, proration, fakture |
# Kako kontroliramo opseg tijekom isporuke (bez da vas usporimo)#
Kontrola opsega nije birokracija. To je način da zaštitite ROI i zadržite rokove vjerodostojnima.
Jedan izvor istine za opseg#
Održavamo prioritizirani backlog u kojem svaka stavka ima:
- kriterije prihvaćanja
- procijenjeni raspon efforta
- bilješke o ovisnostima
- očekivanja testiranja
Svaki zahtjev koji nije u backlogu nije automatski “besplatan”.
Tjedni demoi s pravilima prihvaćanja#
Svaki tjedan vidite realan napredak. Prihvaćanje se temelji na kriterijima koje smo dogovorili, a ne na subjektivnom dojmu na kraju.
Change requestovi se procjenjuju prije nego što se izgrade#
Kada se opseg mijenja, dodajemo:
- utjecaj na effort
- utjecaj na timeline
- trade-offe, uključujući što će biti izbačeno ili odgođeno
To čini odluke eksplicitnima i olakšava stakeholderima odgovorno odobravanje promjena.
“Bez iznenađenja” risk register#
Ako je neka pretpostavka ugrožena, javljamo rano i nudimo opcije. Primjeri:
- API rate limitovi zahtijevaju caching ili queueing
- store review označi problem pa su potrebne promjene
- ciljevi performansi zahtijevaju re-arhitekturu dashboard queryja
Radije biramo rane, blago neugodne razgovore nego kasne, skupe popravke.
# Kako se klijenti mogu pripremiti da smanje neizvjesnost i trošak#
Ako želite užu procjenu i bržu isporuku, najbolji potez je smanjiti nepoznanice prije početka razvoja. Ne trebate pisati specifikaciju od 50 stranica, ali trebate nekoliko konkretnih materijala.
Checklist pripreme#
- 1Definirajte MVP ishod u jednoj rečenici i navedite top tri user journeya.
- 2Navedite uloge i dozvole u jednostavnoj matrici, čak i ako je grubo.
- 3Prikupite detalje integracija: API dokumentaciju, sandbox pristup, primjere payloadova, webhookove.
- 4Dajte stvarne uzorke contenta: tipične naslove, opise, slike i edge-case sadržaj.
- 5Podijelite ograničenja: što diktira rok, pravna ograničenja, brand ograničenja, podržani uređaji.
- 6Donesite očekivanja za analytics: koji eventi su bitni i koje odluke želite donositi na temelju podataka.
💡 Savjet: Dajte pet stvarnih primjera po core entitetu, npr. pet korisnika, pet narudžbi, pet ticketa, pet poruka. Stvarni uzorci otkrivaju edge caseove koje generički zahtjevi promaše.
Najbrži način da skratite discovery#
Ako već imate dizajne, uključite:
- clickable prototip
- listu komponenti za ključne ekrane
- error stanja i loading stanja za glavne tokove
Ako dizajne još nemate, workshop-based discovery se i dalje može brzo konvergirati, ali očekujte širi raspon procjene dok se ekrani i tokovi ne validiraju.
# Deliverableovi procjene koje biste trebali očekivati od ozbiljne agencije#
Profesionalna procjena nije samo PDF s ukupnim zbrojem.
Mi isporučujemo:
- scope map s kriterijima prihvaćanja po funkcionalnosti
- assumptions log i izuzetke
- milestone plan s outputima i demo točkama
- raspon procjene i objašnjenje risk buffera
- delivery cadence i komunikacijski plan
Za puni “zašto” iza naše metode, uključujući kako se discovery direktno veže uz kvalitetu procjene, pogledajte agency technical discovery, estimation, and scope control.
# Ključne poruke#
- Procjenu web i mobilnih projekata tretirajte kao upravljanje neizvjesnošću: tražite pretpostavke, kriterije prihvaćanja i granice, a ne samo broj.
- Koristite discovery da nepoznanice pretvorite u odluke, pa procjenjujte u rasponima koji odražavaju stvarni integracijski i produktni rizik.
- Vodite assumptions log i vraćajte mu se tijekom isporuke kako bi promjene bile mjerljive i predmet dogovora.
- Risk buffere vežite uz imenovane rizike i rano validirajte arhitekturu milestoneom “vertical slice”.
- Kontrolirajte opseg jednim backlogom, tjednim demoima i procijenjenim change requestovima prije izgradnje novog opsega.
# Zaključak#
Obranjiva procjena rezultat je discipliniranog procesa: jasni discovery ulazi, eksplicitne pretpostavke, planiranje svjesno rizika i kontrola opsega koja odluke drži vidljivima. Tako Next.js i Flutter isporuku činimo predvidljivom, bez usporavanja timova.
Ako planirate Next.js, Flutter ili kombiniranu izradu i želite jasan opseg i vjerodostojnu procjenu, javite se Samiodi putem naših usluga web developmenta ili krenite čitanjem našeg procesa web razvoja korak po korak i cijena MVP-a mobilne aplikacije kako biste uskladili očekivanja prije discoveryja.
FAQ
Osnivač i senior developer u Samiodi. 8+ godina iskustva u izradi React, Next.js, Flutter i n8n rješenja za klijente diljem Europe.
Više iz kategorije Agencija i posao
Sve →Tehničko otkrivanje koje sprječava širenje opsega: ulazni podaci za procjenu, registar rizika i jasan plan isporuke
Saznajte kako tehničko otkrivanje za procjenu web aplikacije daje pouzdane procjene, registar rizika i plan isporuke koji sprječava širenje opsega bez pretjeranog specificiranja.
Product Discovery Sprint: praktičan plan, isporuke i kako smanjuje rizik izgradnje
Korak-po-korak agenda za product discovery sprint s konkretnim isporukama poput PRD-a, klikalnog prototipa i procjena — plus kako se pripremiti da vaš sprint od 1–2 tjedna donese odluke, a ne prezentacije.
Radionica za otkrivanje i definiranje web aplikacije: kako postavljamo opseg, rizike i realan plan
Praktičan vodič za vođenje radionice otkrivanja (discovery) web aplikacije — dionici, korisnički tokovi, tehnička ograničenja, metrike uspjeha i konkretni isporučivi rezultati koji sprječavaju prekoračenja i prepravke.
Trebate pomoć s projektom?
Gradimo prilagođena rješenja koristeći tehnologije iz ovog članka. Senior tim, fiksne cijene.
Povezani članci
Kako odabrati pravu agenciju za web razvoj u 2026. (praktična kontrolna lista)
Vodič bez uljepšavanja o tome kako odabrati agenciju za web razvoj u 2026.: portfolio, tech stack, komunikacija, modeli cijena i reference—uz bodovnu kontrolnu listu koju možeš koristiti već danas.
Outsourcing web developmenta: kompletan vodič za 2026.
Praktičan priručnik za 2026. za outsourcing web developmenta: kada ima smisla, kako odabrati pravu agenciju, što staviti u ugovor, komunikacijski sustavi koji funkcioniraju i red flags koji timove koštaju vremena i novca.
Tehničko otkrivanje koje sprječava širenje opsega: ulazni podaci za procjenu, registar rizika i jasan plan isporuke
Saznajte kako tehničko otkrivanje za procjenu web aplikacije daje pouzdane procjene, registar rizika i plan isporuke koji sprječava širenje opsega bez pretjeranog specificiranja.