Nem mindent egyszerre — a fokozatos szoftverkészítés

Két szélsőség, amibe a vállalkozó belecsúszhat
A jó út: lépésenként, közös tervezéssel
És ami sokakat meglep: a költségeket is szét lehet osztani
Az alap három tulajdonsága
- Magában is működik — ha holnap senki nem ír hozzá újabb funkciót, akkor is használható.
- Egy konkrét fájdalmat orvosol — a vállalkozás napi gondjából vesz le valamit. Nem szépészet, hanem „ezt mindenképp kell”.
- Szigorú elhagyás — minden olyan funkció kimarad, ami csak „ha már úgyis fejlesztünk, csináljuk meg ezt is” alapon kerülne be.
Mi nem alap?
1. példa — egy fogorvosi rendelő időpontfoglalója
A vállalkozás: egy magán fogorvosi rendelő. A fájdalom: a recepciós napi 50 telefonhívás miatt nem ér rá a tényleges feladataira.
- Az alap (1–2 funkció): a páciens egy weboldalon kiválaszt egy szabad időpontot, megadja a nevét és telefonszámát, és lefoglalja. A rendelő egy egyszerű felületen látja a foglalásokat — naptár-szerű nézet, mai nap kiemelve.
- Mi nem kell az alaphoz: SMS-emlékeztető, e-mail-megerősítés, online fizetés, NAV-számlázás, többnyelvűség, mobil-app, naptár-szinkron, kezelés-történet, beteg-portál.
- 2. fokozat: automatikus SMS-emlékeztető 24 órával előtte, e-mail-megerősítés foglaláskor.
- 3. fokozat: Google Calendar összekötés, hogy a fogorvos saját naptárában is ott legyenek az időpontok.
- 4. fokozat: beteg-portál, online fizetés, NAV-számla.
2. példa — egy építőipari KKV ügyfél-nyilvántartója
A vállalkozás: egy 8 fős építőipari cég, ami családi házakat újít fel. A fájdalom: az ügyfelek adatai szétszórva — Excel, e-mail, papír, WhatsApp.
- Az alap: egyszerű űrlap új ügyfél felvételéhez (név, cím, telefon, igény, érdeklődés dátuma); kereshető lista, és részletes nézet ügyfelenként, ahol jegyzetek, fájlok és dátumok rögzíthetők.
- Mi nem kell az alaphoz: automatikus ajánlat-küldés, számlázás, mobil-app, többnyelvűség, fejlett szűrők, tömeges e-mail, kimutatások.
- 2. fokozat: dokumentumok feltöltése (helyszín-fotók, ajánlatok, szerződések) ügyfelenként.
- 3. fokozat: sablon-alapú ajánlat-készítés, e-mail-küldés egy gombra.
- 4. fokozat: kapcsolat egy NAV-számlázó rendszerrel (pl. Számlázz.hu, Billingo).
3. példa — egy belső admin-felület élő listával
A vállalkozás: egy webshop tulajdonos, aki napi 200 megrendelést kap. A fájdalom: az új rendelések kézi kezelése — e-mailek, kinyomtatás, szállítólevél.
- Az alap: egy belső felület, ahol az új rendelések azonnal megjelennek; egy gomb, amivel feldolgozottnak jelölhető és nyomtatható a szállítólevél.
- Mi nem kell az alaphoz: raktárkészlet-kezelés, futárszolgálat-összekötés, csomag-követés, vevő-értesítések, kimutatások, többfős hozzáférés-kezelés.
- 2. fokozat: futárszolgálat (DPD, GLS, Foxpost) értesítése, vevőnek küldött követő-link.
- 3. fokozat: raktárkészlet-kezelés, vissza-szinkronizálva a webshoppal.
- 4. fokozat: bonyolultabb kimutatások, többfős hozzáférés saját jogosultságokkal, AI-alapú forgalom-előrejelzés.
Itt egy kicsit műszakibb leszünk, de csak annyira, amennyire szükséges. Egy szoftver három fő rétegből áll, és ezt érdemes érteni vállalkozóként is — mert ez segít megérteni, milyen árajánlat reális, és mire mennek el a költségek.
1. A felhasználói felület (frontend)
Ez az, amit a felhasználó lát és használ — a böngészőben megjelenő képernyők, gombok, űrlapok. Ezen a rétegen dől el a felhasználói élmény. Ha lassú, ha bonyolult, ha ronda — a felhasználó nem fogja használni, akármilyen jó is mögötte a szoftver.
2. A háttér (backend)
Ez a felhasználó számára láthatatlan rész. A backend tárolja az adatokat, kiszolgálja a felület kéréseit, küldi az e-maileket, számolja a kimutatásokat. Gyakran a legdrágább rész — itt él az üzleti logika és a biztonsági követelmények.
3. Az adatbázis
Az egyik első és legfontosabb döntés: hol fog futni a szoftver. A felhő-szolgáltatás (cloud) annyit jelent, hogy a szoftver egy nagy szolgáltató (Google, Amazon, Microsoft) gépein fut, nem a sajátodon. Te bérelsz tőlük annyi gépi erőforrást, amennyi szükséges, és csak azért fizetsz.
A felhő előnyei egy KKV-nak
- Nem kell szervert venni — egy szerver vásárlása 500 ezer–1 millió forint, plusz havi áram és karbantartás.
- Nem kell karbantartani — biztonsági frissítések, tűzfal, vírusvédelem a szolgáltató felelőssége.
- Magától bővül és csökken — ha holnap 10× annyi felhasználód lesz, a felhő nem omlik össze.
- Beépített biztonsági mentés — a fontos adatok automatikusan többszörözve vannak több helyen.
- Csak a használat után fizetsz — egy ritkán használt belső admin-felület havi költsége akár pár száz forint.
Mikor lehet mégis indokolt a saját szerver?
- Jogi kötöttségek — pl. egészségügy, banki, gyermekvédelem, ahol az adat nem hagyhatja el az országot vagy a céget.
- Nagyon nagy, állandó terhelés — ha egy szoftver 24/7 magas terhelésen fut sok éven át, sajáton hosszú távon olcsóbb lehet.
- Meglévő szerver-park — ha már van mit használni, néha gazdaságosabb azt bővíteni.
Egy KKV induló projektnél szinte mindig a felhő a jobb választás. A „de én mindent saját kézben akarok tartani” érv érzelmileg érthető, de a gyakorlatban nem éri meg — a tényleges kezelés továbbra is a fejlesztő-csapat dolga, csak a hardver más tulajdonosé.
A jó kialakítás olyan, hogy nem kell minden új funkcióhoz az egészet újraépíteni. A háttér úgy van megtervezve, hogy „lyukai” legyenek, ahol új modulok beilleszthetők — anélkül, hogy a meglévő részekhez hozzá kéne nyúlni.
Mit jelent ez a gyakorlatban?
Az „események” elve
A modern építkezésekben gyakran használt minta: a fő rendszer „eseményeket” hirdet ki (új foglalás létrejött, új ügyfél felvéve, új megrendelés érkezett). Ezekre az eseményekre más modulok feliratkozhatnak — de a fő rendszert nem érdekli, ki figyeli őket. Két előnye van: a fő rendszer kódja nem nő minden új funkcióval, és ha egy modult le kell venni, a fő rendszer ezt nem érzi meg.
Az egyik leggyakoribb buktató: a szoftver úgy van megírva, hogy szorosan függ egy konkrét szolgáltatótól vagy eszköztől. Évekkel később, amikor azt akarod, hogy másra váltsanak — kiderül, hogy az „egy kis átköltöztetés” valójában fél éves projekt.
Néhány klasszikus eset
- SMS-szolgáltató — a szoftver egy konkrét SMS-cég felületére van szabva. Árváltozásnál vagy megszűnésnél heteket vesz igénybe az átállás.
- Felhő-szolgáltató — a szoftver egy konkrét felhő (pl. AWS) belső szolgáltatásait használja. Másra váltás (Google Cloud, Azure) nagy átalakítás.
- Számlázó-rendszer — a szoftver közvetlenül a Számlázz.hu API-jára épül. Billingo-ra váltás újraírást jelent.
- NoSQL adatbázis — egy konkrét felhő-adatbázisra (pl. Firestore) épült rendszer áttelepítése klasszikus PostgreSQL-re komoly munka.
Hogyan védekezzünk ellene?
Az integráció (összekapcsolás) annyit jelent, hogy a saját szoftvered egy másik, már létező rendszerrel beszélget. Ha az új ügyfél felvételénél a szoftver magától ráírja a NAV-számlázó rendszerre, az egy integráció. Ha egy időpont-foglalás magától megjelenik a Google Calendarban, az is.
Jellemző külső kapcsolatok egy magyar KKV szoftverében
- Számlázz.hu, Billingo, KBOSS — számla-kibocsátás, NAV-bejelentés. Mindenkinek, aki számláz.
- Google Calendar, Outlook — naptár-szinkronizáció. Időpont-alapú szolgáltatóknak.
- Mailchimp, Brevo, SendGrid — tömeges e-mail-küldés. Hírlevélhez.
- Twilio, BulkSMS — SMS-küldés. Emlékeztetők, megerősítések.
- K&H, OTP, Stripe, Barion — online fizetés. Webshop, előfizetés-alapú szolgáltatás.
- DPD, GLS, Foxpost API — csomag-kezelés, követés. Webshop.
- Excel, CSV import-export — adat-ki és bevitel. Szinte mindenkinek.
A „megírjam vagy kapcsoljam be?” kérdés
Egy fejlesztővel beszélgetni nem könnyű, ha a téma műszaki. De van pár kérdés, amit nyugodtan feltehetsz, és a válaszokból sok mindent megtudsz arról, mennyire átgondolt a tervezés.
- „Mi a legkisebb verzió, amit ki tudunk adni 8 héten belül?” — Ha nem tud konkrét választ adni, ott nincs jó tervezés.
- „Mit hagyjunk ki az első verzióból, ami később bekerülhet?” — Ezzel teszteled, mennyire képes rangsorolni.
- „Ha 2 év múlva váltunk SMS-szolgáltatót, az mennyi munka?” — Ezzel ellenőrzöd, hogy nem ragad-e be a szoftver egy szolgáltatóhoz.
- „Hova kerülnek az adatok, és én hogyan férek hozzájuk?” — Az adat a tied, hozzá kell tudnod férni a fejlesztőtől függetlenül is.
- „Mi van, ha 3 év múlva másik fejlesztőre váltok?” — Mennyire átadható a kód.
- „Hogyan lesz tesztelve a szoftver?” — Az automatikus tesztek nem luxus, fél éven túli projektnél szinte kötelező.
- „Mi lesz a havi üzemeltetési költség?” — Felhő-bérlet, harmadik féltől szolgáltatások, licencek; KKV-szoftvernél jellemzően havi 20–100 ezer forint.
A fejlesztési költség
Egy reálisan tervezett alap (1–3 funkció), egyszerűbb felülettel:
- Egy szabadúszó fejlesztő — bruttó 1,5–3 millió forint, 6–10 hét.
- Egy kis fejlesztői csapat (2–3 fő) — bruttó 3–6 millió forint, 4–8 hét.
- Egy nagyobb ügynökség — bruttó 5–10 millió forint, 6–12 hét.
A bővítések rétege átlagosan az alap 30–50%-a, fokozatonként, attól függően, milyen összetett.
A havi üzemeltetési költség
- Felhő-bérlet — havi 5–30 ezer forint kis projektnél, 30–150 ezer forint közepesnél.
- Harmadik féltől szolgáltatások (SMS, e-mail, fizetés) — kis használatnál 0–10 ezer Ft, közepesnél 10–50 ezer Ft.
- Karbantartás, hibajavítás, kis fejlesztés — havi 50–250 ezer forint, attól függően, milyen aktív a projekt.
Egy első évre kb. 200–500 ezer forint havi költséget érdemes betervezni egy átlagos KKV-szoftverhez. Ha valaki ennél sokkal kevesebbet ígér, vagy hiányzik valami a számításból, vagy a karbantartás minősége nem lesz megfelelő.
A szoftver-projekt ritkán azon bukik, hogy a fejlesztő nem tud kódolni. Sokkal gyakrabban azon, hogy nem voltak tisztában a célokkal, a fontossági sorrenddel, vagy a folyamattal.
Ez a cikk egy keret volt — egy gondolkodási háló. A következő cikkekben az itt érintett egyes témákat egyenként mélyítjük el, mindig a vállalkozó szemszögéből, műszaki részletek nélkül.
Mit érdemes magaddal vinni innen?
- Ne akarj egyszerre mindent. Egy 1–3 funkciós alap, ami pár hét alatt elkészül és tényleg használatba kerül, többet ér, mint egy 30 funkciós csomag, ami 8 hónapig készül.
- Tervezd meg a bővülés útját, de ne építsd meg előre. A háttér úgy legyen kialakítva, hogy a következő funkciók beilleszthetők legyenek — de csak akkor építsd meg őket, ha tényleg igény mutatkozik rájuk.
- Kérdezz a fejlesztődtől. A jó fejlesztő tud vállalkozói nyelven beszélni, és örül, ha érdekli a folyamat. A „nem érted úgyis” típusú válasz mindig intő jel.
A következő cikkek
- Hogyan írjunk specifikációt — milyen szempontok szerint határozzuk meg, mit szeretnénk a fejlesztőtől.
- Adatok és adatbázis — mi a jó modell egy ügyfél-nyilvántartáshoz.
- A felhasználói felület — mi alapján dönt egy felhasználó, hogy folytatja-e a használatot az első percekben.
- Jogosultságok és biztonság — ki láthatja az ügyfél adatait, és hogyan védjük meg.
- Számlázás, fizetés, automatizálás — hogyan kapcsolódjunk be a magyar vállalkozói világba.
- Külső kapcsolatok — Google, NAV, banki rendszerek, futárszolgálatok.
- Karbantartás és üzemeltetés — mi van akkor, ha „kész” a szoftver.