A specifikációtól a prototípusig: szoftvertervezés az AI-korszakban

Hogyan csökkenti a működő prototípus a szoftvertervezés és fejlesztés legnagyobb kockázatait?
Máriás Zsigmond

Máriás Zsigmond

CEO, IT fejlesztési specialista

A szoftvertervezés sokáig dokumentumok köré szerveződött. Leírtuk az igényt, csiszoltuk a specifikációt, rajzoltunk pár folyamatábrát, és bíztunk benne, hogy a végeredmény majd úgy jön ki, ahogy a fejünkben él. Aztán jött a valóság: félreértések, későn felmerülő edge case-ek, és azok a klasszikus körök, amikor a fejlesztés közben derül ki, hogy egy fontos döntés kimaradt a tervezésből.

Van egy régi, tudományfilozófiai gondolat, ami a szoftveres világban is pontosan érezhető: mindennek önmaga a tökéletes modellje. Ha ezt lefordítjuk a mindennapokra, akkor a „tökéletes specifikáció" végső soron maga a végtermék. Minél részletesebb, minél tökéletesebb specifikációt szeretnél, annál közelebb kerülsz ahhoz, hogy már inkább építened kellene valamit, amit meg lehet nézni, ki lehet próbálni.

Az elmúlt 2–3 évben pont ez vált hirtelen olcsóvá: a prototípus készítés. A low code platformok, a low code AI builder jellegű eszközök, és az AI coding megoldások együtt azt eredményezik, hogy a kipróbálható verzió nem luxus a tervezés végén, hanem eszköz a tervezés közben. A szoftvertervezés és fejlesztés legnagyobb kockázata, hogy későn derülnek ki a hibás döntések – a korai prototípus pont ezt csökkenti.

Amikor a „papíron kész" hirtelen kevés lett

A Forecastify pénzügyi projektmenedzsment termék tervezése közben volt egy megbeszélésünk, ahol nagyon gyorsan kiderült, hogy ami papíron egyszerűnek tűnik, az használat közben már egészen más problémákat hoz elő.

Az igény első hallásra egyszerű volt: „Szeretnénk 1000 terméknél megváltoztatni egy paramétert ugyanarra." Ha ezt dokumentumban bontjuk ki, könnyen eljutunk a klasszikus megoldáshoz: legyen lista, legyen szerkesztés, kész. A fejlesztő is érti, a specifikációba belefér, a sprintbe is. Csakhogy amikor elővettem egy gyors, félkész képernyővázat, és azt kértem: „Mutasd meg, hogyan csinálnád", a beszélgetés két perc alatt átfordult.

Nem a mezőkön vitatkoztunk, hanem a munkafolyamatokon. A felhasználó nem egyesével akar módosítani ezer sort. Szűrni akar, tömegesen kijelölni, előnézetet látni arról, mi fog változni, és biztos akar lenni abban, hogy ha valami nem módosítható, nem omlik össze a folyamat.

A „papíron kész" megoldás a valóságban drága lett volna: operátori időben, hibázásban, frusztrációban. A UX tervezés tehát nem díszítés volt. Üzleti döntés volt.

Ez volt az a pont, ahol megint eszembe jutott: a specifikáció addig hasznos, amíg segít közös képet építeni. Amikor már túl távol van a tényleges használattól, illúziót ad.

A jó szoftvertervezés három különböző igényt próbál összehangolni

A saját tapasztalatom – és őszintén, rengeteg csapatnál látom ugyanezt –, hogy egy jól megtervezett funkciónak egyszerre kell megfelelnie három elvárásnak:

  1. Üzleti értéket teremtsen: oldjon meg egyértelmű problémát, hozzon mérhető hasznot, és illeszkedjen a termékstratégiához.
  2. Használható legyen: intuitív, érthető, kevés tanulást igényeljen. A felhasználó értse az állapotokat és a várható eredményt.
  3. Technikailag fenntartható legyen: bővíthető, állapotokat és terhelést kezelő, architektúrába illeszkedő. Ha valaki erre azt mondja, hogy ez már scalable system design – pontosan erről van szó, csak nem feltétlenül diagramokban, hanem következményekben.

A gond az, hogy ezt a három szempontot régen úgy próbáltuk összehangolni, hogy vagy nagyon sok idő ment el előzetes tervezésre, vagy elfogadtuk, hogy a problémák majd csak fejlesztés közben derülnek ki. Pedig a hibás működés ritkán csak fejlesztői probléma. Ha egy funkció mögött nincs végiggondolt workflow, nincsenek tiszta állapotok és üzleti szabályok, akkor a csapat szükségszerűen feltételezések alapján kezd dolgozni. Ilyenkor szinte elkerülhetetlen, hogy valaki mást értsen ugyanazon funkció alatt.

Ma a helyzet más. Sokkal olcsóbb lett hamar kipróbálni egy működő verziót, és emiatt a kritikus tervezési döntések jelentős része még a fejlesztés előtt validálható.

Szöveges AI a tervezésben: gyors üzleti feltárás

Nálam az AI fejlesztés nem a kódgenerálással kezdődött, hanem azzal, hogy a tervezési anyagok sokkal gyorsabban összeálltak. Egy új funkció vagy workflow első verzióját már nem órákig kellett strukturálni.

A leggyorsabban a standard mintákon érződik a különbség. Regisztráció, login, jelszó-reset, jogosultságkezelés: ezeknél az AI gyorsan összerakja az alaplogikát, az entitásokat és a tipikus állapotokat. Ettől még nem lesz jobb a termék, de sok ismétlődő gondolkodást levesz a csapatról.

A fontos változás inkább ott kezdődik, amikor az AI nem szöveget ír, hanem segít lebontani a problémát. Folyamatokra bontja a működést, összegyűjti az állapotokat, az entitásokat, a mezőket, és láthatóvá teszi, hol hiányzik még üzleti döntés. Ilyenkor a business analyst vagy tanácsadó munkája is megváltozik: kevesebb a „megírom", több az „ellenőrzöm" jellegű munka.

Ezt nem lehet félvállról venni. Az AI slop a legdrágább fajta hiba: meggyőzően hangzik, gyorsan terjed a csapatban, és későn derül ki, hogy nincs köze a valósághoz. Az AI nagyon magabiztosan tud olyan szabályokat, mezőket, kivételeket kitalálni, amik illeszkednek egy általános mintába, csak éppen nem illeszkednek a te rendszeredbe. Én úgy tekintek a szöveges AI-ra, mint egy nagyon gyors, nagyon magabiztos kollégára: pillanatok alatt leszállít nagy mennyiségű feladatot, de review nélkül veszélyes.

A szöveges AI jól támogatja az üzleti és funkcionális feltárást. A használhatóság viszont nem lesz automatikusan jó attól, hogy szép és részletes a leírás.

AI design és UX pilot: amikor a tervezés végre nem csak „elképzelés"

A következő fal általában a használhatóság. Lehet bármilyen részletes a specifikáció, a fejlesztés végeredménye sokszor olyan felület, ami működik, csak közben olyan érzésed van, hogy ezt nem embereknek tervezték.

A klasszikus megközelítés erre a UX designer bevonása. A stakeholder interjúk, a UX kutatás, a usability tesztek továbbra is fontos részei a tervezésnek, és nem gondolom, hogy az AI kiváltaná őket. A gond inkább az, hogy a csapat sokszor még a működési irányt keresi, miközben a UX-folyamat idő- és költségigénye már jelentős.

Nálunk ebben segítettek az AI design eszközök. A UX pilot például nem „kitalálja helyettem" a terméket, hanem gyorsan ad értelmezhető képernyőket és flow-kat, amikre rá tudunk mutatni. A beszélgetés ettől sokkal konkrétabb lesz. Nem arról vitázunk, hogy „kell-e szűrés", hanem arról, hogy hol jelenik meg, mi az alapállapot, és mit csinálunk, ha a felhasználó rossz adatot ad meg.

A nyereség kézzelfogható: gyorsan készülnek képernyő-tervek desktopra és mobilra, a fejlesztők konkrét vizuális kapaszkodót kapnak, és a specifikációból kiemelt részleteket azonnal érthető formába tudjuk fordítani. Ezek a gyors vizuális támpontok sok félreértést már a tervezési fázisban megszüntetnek.

Ez az a pont, ahol a prototípus készítés már tényleg a tervezés része, nem prezentációs elem a projekt végén.

AI coding és AI programozás: a prototípus, ami válaszol

A design protó jó, de egy pont után még mindig túl statikus. Komplex logikánál nem elég látni a képernyőket, végig kell menni a prototípuson, és ki kell próbálni, mi történik a kellemetlen esetekben.

A szöveges és a design AI-nál van egy közös probléma: nehezen kezelik a folyamatosan változó kontextust. Az output izolált darabokból áll, és tervezés közben jönnek az ötletek, amik kihatnak a korábbi döntésekre. Ezeket érdemes korán kipróbálni és pontosítani, mert egy rossz irányt sokkal olcsóbb ilyenkor módosítani, mint fejlesztés közben. Közben könnyű belefutni abba is, hogy egy elsőre logikusnak tűnő ötlet csak papíron működik jól, a valós használatban viszont új problémákat okoz.

Nekem erre a legpraktikusabb megoldás a gyors, működő prototípus lett. Az AI programozás itt a tervezés eszköze, nem a fejlesztésé. Termékkódot nem várok tőle, azt akarom látni, hol törik a logika.

A Forecastify user-kezelése jó példa volt erre. Nem csak alapadatokat kellett kezelni, hanem cost rate-eket, work schedule-öket, holiday quota-kat, jogosultságokat és ezek különböző kombinációit is. Ezt dokumentálni és lerajzolni lehet, de attól még nehéz megérezni, hol fog szétesni a workflow vagy melyik állapot lesz zavaró használat közben. Amikor AI coding eszközzel gyorsan összeraktam egy működő vázat, azonnal kiderültek a repedések: egy mező rossz helyen, egy állapothoz hiányzik visszajelzés, egy jogosultsági helyzetnél nem egyértelmű a teendő.

Ez a fajta early validation a legpraktikusabb, amit ismerek. Nem azt kérdezem, hogy tetszik-e, hanem azt nézem, hogy működik-e, és hol akad el a valós használat.

Az AI alkalmazás fejlesztés tervezési célú használata pont erről szól: gyorsabban kiderül, hol fog fájni a megoldás, ha tényleg éles, hosszú távon karbantartható terméket akarunk.

A határ a prototípus és az éles termék között

A prototípus ma már annyira meggyőző tud lenni, hogy könnyű elhinni: kész van. Ezt fenntartásokkal kell kezelni.

A validációs protó és az éles termék között van egy váltás. Termékszinten előkerül a biztonság, a tesztelhetőség, a CI/CD, a megfigyelhetőség, az üzemeltethetőség és az architekturális illeszkedés. A prototípus ezeket még nem helyettesíti, de segít abban, hogy a fejlesztőcsapat már validált működésből induljon ki.

Ha a prototípust kész termékként kezeljük, az könnyen drága utómunkát eredményezhet. A low code és a low code AI builder eszközök ott működnek igazán jól, ahol a cél egy gyorsan validálható prototípus vagy egy egyszerűbb belső eszköz. A problémák általában akkor kezdődnek, amikor mindenáron ezekből próbálunk hosszú távon fenntartható éles rendszert építeni. Ilyenkor ugyanazokat a kérdéseket kell feltenni, mint bármely más technológiánál: hogyan verziózunk, hogyan tesztelünk, hogyan kezeljük az üzemeltetést és mennyire illeszkedik a megoldás a hosszú távú architektúrába?

Ha ezek rendben vannak, akkor az AI nem csodát csinál, hanem visszaad valamit, ami a szoftverfejlesztésben mindig is drága volt: a gyors tanulási ciklust.

A prototípus mint döntéstámogató eszköz

A szoftvertervezés azért van változóban, mert ma már sokkal olcsóbban tudunk működőképes prototípusig eljutni. A szöveges AI gyorsítja a gondolat rendezését. Az AI design és a UX pilot hamarabb teszi kézzelfoghatóvá a használhatósági kérdéseket. Az AI coding korábban mutatja meg, hol törik a logika.

Az eredmény hatékony tervezés: mert kevesebbszer végzünk felesleges munkát, nem mert kevesebbet dolgozunk. Ebből lesz a reálisabb faster time to market is: ritkábban kell későn újratervezni, ritkábban kell visszamenni olyan döntésekhez, amiket korábban is meg lehetett volna hozni.

A lényeg végül ez: a specifikációt nem kidobjuk, hanem áthelyezzük a súlypontot. A „mit akarunk" leírása mellé odatesszük a „nézd meg, próbáld ki" valóságát. Így a prototípus döntéstámogató eszközzé válik, nem pedig díszlet, amivel a demót szépítjük.

Ne fejlesztés közben derüljön ki, mit kellett volna építeni. Specifikáció készítésben és IT tanácsadásban segítünk: üzleti feltárással, AI-alapú prototípussal és végrehajtható technológiai tervvel. Beszéljünk a projektedről!
Máriás Zsigmond

Máriás Zsigmond Máriás Zsigmond LinkedIn profilja

CEO, IT fejlesztési specialista
Az ügyvezetői munka mellett termékfejlesztéssel, innovációval és üzletfejlesztéssel foglalkozik. Technológiai érdeklődését egyetemi óraadóként és rendezvények rendszeres előadójaként kamatoztatja.