Egy megörökölt rendszernél az első hetek nagy része nem fejlesztés, hanem megértés. Megnézzük, mi viszi el ezt az időt, és mivel lehet a felére csökkenteni.
Amikor egy meglévő rendszert veszünk át, a megbízók gyakran meglepődnek az első havi számlán. „Csak egy gombot kellett volna áttenni." Igen, de ahhoz előbb meg kell érteni, mi történik a gomb mögött.
Mire megy el az idő?
Egy ismeretlen kódbázisnál a munka nagyjából így oszlik meg az első hetekben:
- Helyi környezet felállítása: gyakran ez a leglassabb rész, mert a rendszer csak egy konkrét szerveren futott eddig.
- Az üzleti logika megértése: mit csinál a rendszer, és miért pont úgy.
- A kockázatok feltérképezése: mihez lehet hozzányúlni, és mi az, ami mindent visz.
- Csak ezután jön a tényleges fejlesztés.
Az első hetekben könnyen előfordulhat, hogy több idő megy el a rendszer megértésére, mint magára a fejlesztésre. Ez nem pazarlás, hanem a legolcsóbb biztosítás: aki megértés nélkül módosít egy régi rendszert, az előbb-utóbb valami olyat tör el, ami hónapok óta csendben működött.
Mivel lehet csökkenteni?
Adj hozzáférést mindenhez, egyszerre
A darabonként érkező hozzáférések miatt a munka folyamatosan megáll. Egy jól előkészített csomag a projekt elején egy hetet spórolhat.
Mondd el, mi a fájó pont
Nem a technikai leírás a fontos, hanem az, hogy neked mi nem működik. „Hónap végén két napig tart a riport összeállítása" több információt ad, mint egy funkciólista.
Engedj egy felmérési szakaszt
Fix áras, körülhatárolt audittal indulni olcsóbb, mint fejlesztésbe kezdeni, majd menet közben szembesülni a meglepetésekkel. A végén kapsz egy állapotjelentést és egy priorizált tervet, ami akkor is használható, ha végül mással dolgoztok tovább.
Ne az legyen az első feladat, ami a legfontosabb
Kezdjétek valami kicsivel, aminek látszik az eredménye. Így kiderül, hogy működik-e a telepítési folyamat, mielőtt az élesben futó, kritikus részhez nyúlnánk.
Mennyi idő reális?
Tapasztalatunk szerint egy közepes méretű, dokumentálatlan Laravel-alkalmazásnál a feltérképezés gyakran egy-két hét. Ha van dokumentáció és működő teszt, ez néhány napra csökken. Ha nincs verziókezelés, akkor viszont nő, mert az első dolgunk az lesz, hogy legyen.
A jó hír, hogy ez egyszeri költség. A második hónaptól a fejlesztés sebessége már azon múlik, milyen állapotban van a rendszer, nem azon, hogy ismerjük-e.