Web aplikacija po mjeri: proces izrade i okvirna cijena
Web aplikacija po mjeri nema fiksnu cijenu u cjeniku - njezin trošak i trajanje izrade oblikuju faze projekta i opseg funkcionalnosti koje tvrtka stvarno treba.

Web aplikacija po mjeri rijetko ima jednu brojku u cjeniku, jer njezina cijena proizlazi iz opsega posla, a ne iz unaprijed određenog paketa. Umjesto gotovog odgovora na pitanje koliko to košta, korisniji je uvid u to kako ta cijena uopće nastaje: kroz koje faze prolazi izrada, tko je odgovoran za svaki korak i koji elementi funkcionalnosti najviše utječu na vrijeme rada. Ovaj tekst prolazi kroz redoslijed izrade prilagođene poslovne aplikacije i objašnjava zašto se raspon cijene razlikuje i nekoliko puta ovisno o broju modula, integracija i korisničkih uloga.
Kada poslovanju treba web aplikacija po mjeri umjesto gotovog rješenja
Gotova rješenja - predlošci, SaaS alati za upravljanje narudžbama ili obične tablice poput Excela - pokrivaju velik dio standardnih poslovnih procesa i za mnoge tvrtke su posve dovoljna. Problem nastaje kad tvrtka ima tok rada koji se ne uklapa u tuđu logiku: specifičan način odobravanja narudžbi, kombinaciju podataka iz više izvora koja se inače ručno prepisuje, ili izvještaj koji nijedan gotov alat ne nudi u traženom obliku. Nekoliko konkretnih znakova da je trenutak za prelazak s proračunske tablice na prilagođeno rješenje opisano je u tekstu o tome kada mala tvrtka treba web-aplikaciju umjesto Excel tablice.
Prilagođena aplikacija ima smisla kad se proces ponavlja dovoljno često da ručni rad postane trošak, a istodobno je dovoljno specifičan da ga gotov alat ne pokriva bez kompromisa. Ako se proces mijenja svaki mjesec ili ga koristi samo jedna osoba povremeno, takav projekt najčešće nije opravdan - tu se isplativijim pokazuje uslugu web razvoja usmjeriti na manju prilagodbu postojećeg alata umjesto izrade nove aplikacije od nule.
Faze izrade prilagođene poslovne aplikacije: od analize do lansiranja
Tipičan redoslijed faza izrade
Svaka faza ima drugog nositelja odgovornosti - dio posla leži na naručitelju, dio na izvođaču - a trajanje se razlikuje od projekta do projekta.
- Analiza zahtjeva i specifikacija
Zajedno s naručiteljem utvrđuju se poslovni procesi koje aplikacija treba podržati, korisničke uloge i obavezne integracije. Traje od nekoliko dana do dva tjedna ovisno o broju dionika; tvrtka opisuje stvarni tok rada, a izvođač ga pretvara u tehničku specifikaciju.
- UX/UI dizajn
Prije pisanja koda izrađuju se žičani okviri i vizualni dizajn sučelja za ključne ekrane, najčešće u alatima poput Figme. Naručitelj odobrava izgled kroz jednu ili dvije revizije prije prelaska na razvoj, čime se smanjuje broj izmjena nakon što programeri već napišu kod.
- Razvoj backend i frontend dijela
Programerski tim gradi bazu podataka, poslovnu logiku i korisničko sučelje, najčešće u dvotjednim razvojnim ciklusima (sprintovima) kako bi naručitelj mogao redovito pratiti napredak. Ova faza najčešće traje najviše vremena i njezino trajanje izravno ovisi o broju modula i integracija.
- Testiranje i ispravljanje grešaka
Aplikacija se provjerava na različitim uređajima i scenarijima korištenja, uključujući rubne slučajeve. Naručitelj je uključen u testiranje prihvata kako bi potvrdio da aplikacija stvarno rješava zadani problem.
- Lansiranje i puštanje u produkciju
Aplikacija se postavlja na server, povezuje s produkcijskim bazama podataka i, po potrebi, migriraju se podaci iz starog sustava. Odgovornost za hosting okruženje i pristupne podatke dogovara se unaprijed.
- Edukacija korisnika i predaja dokumentacije
Zaposlenici koji će svakodnevno koristiti aplikaciju prolaze kratku obuku, a izvođač predaje tehničku dokumentaciju potrebnu za buduće nadogradnje.
Ukupno trajanje projekta ovisi o broju modula i dostupnosti naručitelja za povratne informacije - faza analize i testiranja često usporava ili ubrzava raspored više nego sama izrada koda.
Bez obzira radi li se o internom alatu za evidenciju zaliha u skladištu ili sustavu za online narudžbe koji koriste i vanjski kupci, redoslijed faza izrade ostaje isti - mijenja se samo trajanje i opseg svake faze, a upravo taj opseg na kraju određuje ukupno vrijeme izrade. Pregled tipičnih faza niže pokazuje što se događa u svakom koraku, tko je za njega odgovoran i otprilike koliko dugo traje u odnosu na ostatak projekta. Vremenski okviri su orijentacijski, jer konkretan raspored uvijek proizlazi iz dogovorene specifikacije, a ne obrnuto.
Koji čimbenici oblikuju cijenu web aplikacije
Jednostavnija naspram složenije aplikacije po mjeri
Jednostavnija aplikacija
Jedna korisnička uloga ili nekoliko sličnih uloga s istim ovlastima, standardne operacije unosa, pregleda, izmjene i brisanja podataka, jednostavno sučelje bez naprednih vizualizacija, bez integracije s vanjskim sustavima ili samo jedna jednostavna integracija poput slanja e-maila.
Složenija aplikacija
Više korisničkih uloga s različitim razinama pristupa, napredni izvještaji i vizualizacije podataka, integracije s vanjskim sustavima poput ERP-a, knjigovodstvenog softvera ili sustava za fiskalizaciju, automatizirani radni tokovi i obavijesti, API za povezivanje s drugim aplikacijama.
Većina poslovnih aplikacija za male i srednje tvrtke nalazi se negdje između ova dva pola - zato faza analize zahtjeva postoji upravo da odredi gdje točno projekt pada na toj ljestvici prije nego što se da bilo kakva procjena vremena ili troška.
Dvije aplikacije s istim nazivom funkcije - na primjer sustav za upravljanje narudžbama - mogu zahtijevati posve različit opseg rada, zbog čega se razlikuje i cijena web aplikacije. Ono što najviše razdvaja jednostavan projekt od zahtjevnog nije izgled sučelja, nego broj korisničkih uloga, količina poslovne logike iza svakog zaslona i broj sustava s kojima se aplikacija mora povezati.
Osim broja korisničkih uloga i integracija, na opseg rada ponekad utječu i zahtjevi specifični za hrvatsko tržište - primjerice potreba za usklađivanjem s fiskalizacijom izdavanja računa ili povezivanje s poreznim sustavom, što u praksi dodaje zaseban blok posla koji je potrebno unaprijed specificirati.
Zašto konačna cijena ovisi o specifikaciji, ne o cjeniku
Cijena aplikacije po mjeri rijetko je unaprijed fiksna, jer ovisi o detaljima koje izvođač ne može pretpostaviti unaprijed. Upit poslan bez ikakvih podataka - trebam aplikaciju za praćenje narudžbi, koliko košta - realno može dobiti samo širok raspon, jer izvođač još ne zna hoće li projekt obuhvaćati jednu korisničku ulogu ili pet, hoće li trebati integracija s knjigovodstvenim programom ili ERP sustavom, niti koliko je podataka potrebno migrirati iz postojećeg sustava.
Prije prvog razgovora o ponudi korisno je unaprijed pripremiti:
- opis poslovnog procesa koji aplikacija treba pratiti, korak po korak
- broj i vrste korisnika koji će je koristiti (zaposlenici, vanjski partneri, klijenti)
- popis postojećih sustava s kojima se aplikacija treba povezati (ERP, knjigovodstveni program, web stranica)
Konkretna ponuda dolazi tek nakon kratkog razgovora ili upitnika u kojem se ti elementi raščlane, a taj korak ujedno postaje i prva neslužbena verzija specifikacije na kojoj se temelji kasniji razvoj.
Troškovi nakon lansiranja: održavanje i nadogradnje
Trošak prilagođene aplikacije ne završava lansiranjem. Hosting, sigurnosne kopije, nadzor rada i povremene nadogradnje - nove funkcije, promjene poslovnog procesa, ažuriranja zbog promjena u vanjskim sustavima s kojima je aplikacija povezana - čine zaseban, redoviti trošak koji se razlikuje od jednokratnog troška izrade. Pregled stavki koje čine mjesečni trošak održavanja web rješenja nalazi se u tekstu o tome koliko košta održavanje web-stranice nakon izrade.
U praksi je ugovor o održavanju korisno razložiti na konkretne stavke, a ne ostaviti ga paušalnim: učestalost sigurnosnih kopija (dnevno ili tjedno, ovisno o tome koliko se podataka u aplikaciji mijenja), vrijeme odziva u slučaju kvara (na primjer nekoliko sati radnim danom za obične greške, brže za kritične ispade koji zaustavljaju rad), nadzor dostupnosti servera putem alata poput UptimeRobota ili sličnog rješenja te plan redovitog ažuriranja softverskih komponenti i biblioteka na kojima aplikacija radi, jer zastarjele verzije s vremenom postaju sigurnosni rizik. Jednako je važno povremeno provjeriti da sigurnosne kopije doista rade - obnova iz kopije koja se pokaže neispravnom tek u trenutku kvara gore je nego da kopije uopće nema.
Za aplikacije koje obrađuju poslovne podatke - narudžbe, zalihe, korisničke evidencije - ovaj dio plana vrijedi dogovoriti već u fazi specifikacije, a ne tek nakon lansiranja, jer odabir hostinga i razina podrške izravno utječu i na sigurnost i na brzinu rješavanja problema kad se pojave. Ako aplikacija čuva i osobne podatke zaposlenika, klijenata ili vanjskih partnera, u ugovor je potrebno uključiti i rokove čuvanja te brisanja podataka, kao i postupak prijave eventualne povrede podataka nadležnom tijelu - u Hrvatskoj je to Agencija za zaštitu osobnih podataka (AZOP). Za konkretan razgovor o opsegu i sljedećim koracima vrijedi kontaktirati k-Tech s kratkim opisom procesa koji aplikacija treba podržati.
Vlasnik obrta K-TECH iz Cerne. Više od 12 godina izrađuje web stranice i web shopove i piše o pristupačnosti, SEO-u i sigurnosti.