A feature creep egy pszichológiai csapda angol megnevezése, ami egy a játékfejlesztési folyamatok során megfigyelt jelenséget takar. Magyarra fordítva talán “funkcióburjánzás“, legalábbis a chatGPT ezt így fordítaná. Nem találtam más magyar cikket erről.
Mikor a megrendelő kézhez kapja az első, vagy második buildet, azaz a játék prototípusának kezdeti verzióját, akkor realizálódnak benne a rendelkezésre álló lehetőségek.
Azaz rájön, hogy sokkal tovább is lehetne menni a játék minőségében és funkcióiban, mint amit kezdetben gondolt.
Ilyenkor ötletek tömkelege zúdul rá és költségekkel nem törődve hirtelen mindenféle új funkciót szeretne beletenni a készülő játékba.
Ez természetesen nem az ügyfél hibája, egyszerűen arról van szó, hogy az új lehetőségek új igényeket teremtenek.
Ilyenkor azt szoktam javasolni, hogy emlékezzünk az eredeti célkitűzésekre, inkább haladjunk a projekt fővonala mentén, érjünk el egy felvállalható kiadható verzióhoz (MVP – minimum viable product), és a beérkezett visszajelzések mentén döntsünk majd az új funkciókról.
Második legjellemzőbb felbukkanási pontja a kiadás előtti pillanatok, az önkéntelen halogatás egyik módja az új funkciók bepumpálása. A kiadástól való tudatalatti (vagy tudatos) félelem egy valóságos dolog. Ez saját félelmünk mások véleményétől. Ez többnyire irracionális félelem, amennyiben a játék egy értékelhető termék.
Számos magam által készített játékot adtam már ki, ismerem az érzést elhiheted. Mégis azt mondom, hogy a legjobb ellenszer a ragtapasz letépése.
Milyen problémákat okozhat a feature creep?
Hadd idézzek közös barátunktól, chatGPT-től:
Megnövekedett fejlesztési idő és költségek – Az új funkciók további munkát igényelnek, ami késleltetheti a projekt befejezését és növelheti a költségeket.
Ez gondolom egyértelmű, nem érdemel magyarázatot.
Komplexitás növekedése – Egy túlbonyolított termék nehezebben használható és karbantartható.
Ó igen! A jó szofverfejlesztő a várható projekt fényében teszi meg a döntéseit, ez alapján építi fel a program architektúráját. Kisebb módosítások, kiegészítések nem okoznak fejfájást, de nem várt elemek túlburjánzása gondokat okozhat, pláne ha valamelyik homlokegyenest szembemegy az eddig ismert elvárásokkal.
Ez a játékprogramozónak fáj, és a keletkező hibák kijavítása is fáj.
Minőségromlás – Ha a fejlesztés túl sok új elemet próbál kezelni, a tesztelés és a stabilitás rovására mehet.
A “hozzábiggyesztett” funkciók sokkal magasabb valószínűséggel okoznak nem várt viselkedést az applikációban, azaz programhibát, bug-okat.
Gondoljunk arra, hogy minden egyes funkció szorozza a játékban előforduló lehetőségek számát, és ha ezt előre nem tervezett módon kerül be, akkor mennyire könnyen kerülhet be hiba az új lehetőségek százainak, vagy ezreinek valamelyikébe.
Eredeti cél elvesztése – Az új funkciók eltéríthetik a projektet az eredeti fókusztól, ami csökkentheti annak hatékonyságát vagy piaci sikerét.
Ez! A cél elveszítése. A lehetőségektől megrészegedve elveszik az, amiért valaki a projektbe belekezdett, amikor még volt célja vele.
Ez egy fájó pont, és ha megtörténik, akkor valami teljesen mással állunk szemben a végén, mint amiről szó volt. Szerencsére az ilyen elfajzott projektek ritkán jutnak el a kiadásig.
Összegzés útravalónak
A játékfejlesztés hosszú folyamat és bizony előhozza az emberből a pszichés gyengeségeit. Ha erre nem figyelünk eléggé, akkor egy reális kimenetelű projektből óriási pénzügyi zakó lehet. Ismerjük önmagunkat!