Što određuje cijenu izrade prilagođenog softvera
Cijena po satu ne postoji kao pošten odgovor unaprijed. Evo što stvarno pomiče cijenu: opseg, veličina tima, broj iteracija i vlasništvo nad kodom.
BILPP
Ljudi traže “cijena izrade softvera po satu” na isti način na koji bi tražili cijenu vodoinstalatera. Razumijemo zašto — broj omogućuje usporedbu i planiranje proračuna. Ipak ga nećemo dati na naslovnici, a svaki studio koji to učini nudi placeholder, ne vašu cijenu.
To nije izbjegavanje. To je pošten odgovor na pitanje koje nema fiksan odgovor, jer cijena prilagođenog softvera nije svojstvo softvera. Ona je svojstvo odluka koje ga oblikuju. Evo što stvarno pomiče broj.
Opseg je prva poluga, i to ona koju kontrolirate vi
“Portal za korisnike” može značiti stranicu za prijavu i formu, ili može značiti uloge s različitim razinama pristupa, zapisnik svih promjena, izvoze podataka i tri integracije sa sustavima koje još niste odabrali. Oboje su stvarni projekti. Oboje se u prvom emailu zovu “portal”.
Zato prije bilo kakvog broja dolazi radionica otkrivanja zahtjeva u sklopu izrade prilagođenog softvera. Ne kao prodajni korak — nego kao trenutak kada opseg prestaje biti riječ i postaje napisana specifikacija: ekrani, uloge, tokovi podataka, što ulazi, a što izričito ne. Preskočite to i broj koji dobijete je nagađanje s decimalnim zarezom.
Veličina tima i broj iteracija, ne broj sati
“Cijena po satu” pretpostavlja da je posao fiksna količina podijeljena stopom. Nije. Isti set značajki koji gradi jedan iskusan generalist deset tjedana i tim od pet ljudi tri tjedna može na kraju stajati slično, ali potpuno različitim putem — a manji tim obično isporuči nešto skladnije, jer manje ljudi znači manje predaja posla i manje mjesta gdje specifikacija može skrenuti.
Timove namjerno držimo malima: osoba na pozivu obično je osoba koja piše kod. To nije filozofija zbog same sebe — uklanja sloj koji bi se inače pojavio u vašoj fakturi kao “upravljanje projektom”, a da se nikad ne pojavi u vašem softveru kao značajka.
Broj iteracija važniji je od broja ljudi u timu. Upotrebljiv softver svaka dva tjedna znači da pregledavate stvarne ekrane, a ne slajdove, i hvatate pogrešnu pretpostavku u drugom tjednu umjesto u desetom. Manje iznenađenja pred kraj projekta jedina je poluga troška koju nitko ne stavlja u cjenik.
Što doista ulazi u broj
| Faktor | Što mijenja |
|---|---|
| Broj korisničkih uloga i razina pristupa | Složenost modela podataka, opseg testiranja |
| Integracije s postojećim sustavima | Vrijeme istraživanja, obrada grešaka, nadzor |
| Zahtjevi za izvještaje i izvoz podataka | Složenost upita, opseg sučelja |
| GDPR i lokacija podataka | Izbor hostinga, što se bilježi i gdje |
| Zamjenjuje li se sustav koji je već u pogonu | Plan migracije, razdoblje paralelnog rada |
Nijedan od ovih redaka nije egzotičan. To su obična pitanja na koja svaki ozbiljan ponuda mora odgovoriti prije nego broj išta znači.
Fiksna cijena po fazi, ili mjesečni angažman
Kada je opseg napisan, postoje dva poštena načina naplate. Fiksna cijena po fazi, ponuđena nakon plaćene faze otkrivanja zahtjeva, dobro pristaje projektu s jasnim krajnjim stanjem — zamijeniti ovu tablicu, pokrenuti ovaj alat za rezervacije. Mjesečni kapacitetski angažman pristaje proizvodu koji se razvija i nakon lansiranja, gdje pitanje nije “kada je gotovo” nego “koliko kapaciteta tima trebamo ovog tromjesečja”.
Nijedan model nije jeftiniji sam po sebi. Oni odgovaraju na različita pitanja: jedan cijenom određuje odredište, drugi tekući kapacitet. Pogrešan izbor je način na koji projekti “prilagođenog softvera” postanu otvorene fakture — ne zato što je posao krivo procijenjen, nego zato što model naplate nije odgovarao obliku problema.
Vlasništvo je također faktor troška
Ponuda koja ne spominje izvorni kod, pristup repozitoriju i dokumentaciju nije potpuna ponuda — nedostaje joj dio koji određuje što se događa nakon lansiranja. Softver koji ne posjedujete pretplata je s dodatnim koracima: svaka buduća promjena vraća se preko onoga tko drži kod, po stopi koju on odredi kad više nemate alternativu.
Cjelokupni izvorni kod, repozitorij i dokumentaciju predajemo pri svakoj prekretnici, ne samo na kraju. To nije velikodušnost — to je ono što “prilagođeno” treba značiti. Ako ne možete uzeti svoj softver i otići, niste kupili prilagođeni softver, kupili ste pristup tuđem.
Poštena verzija pitanja
Pitanje koje se traži je “koliko košta izrada softvera”. Pitanje na koje se može odgovoriti je “što je ovaj konkretan komad softvera, za ove konkretne korisnike, radi ono što gotovi alati ne mogu”. Sve ostalo — uloge, integracije, izvještaji, ograničenja hostinga — proizlazi iz tog odgovora, a s njim i cijena.
Ako već znate oblik problema, razgovor o otkrivanju zahtjeva doći će do stvarnog broja brže nego još jedna pretraga. Ako još ne znate, u redu je i to — za to služi ta faza. Primjere softvera koji smo gradili, uključujući vlastite proizvode, možete vidjeti na stranici s radovima, a o tome kako pristupamo prilagođenom softveru pročitajte na stranici usluge. Za razliku od cijene, izbor partnera možete napraviti i prije nego znate točan broj — o tome pišemo u tekstu o odabiru IT tvrtke.
Cijena koju dobijete prije nego postoji opseg nije ponuda. To je placeholder koji čeka razgovor koji ga čini stvarnim.
Taj razgovor udaljen je jedan kontakt obrazac, i ne stoji ništa.