A munkahelyemen nyilvánvaló waterfall process alakult ki az utóbbi nagyjából egy évben az azt megelőző agile-féleségből. Ez egy nem túl motiváló, de nagyon tanulságos folyamat, úgyhogy gondoltam megosztom veletek ezt a gondolatot, hátha valaki valami hasznos következtetést von le belőle.
Szóval ugyanarra a problémára két ellentétes választ ad a waterfall és az agilis módszertan, mindkettő teljesen megalapozottnak látja a lépést.
Az ügyfél szeretne minél több hasznos dolgot kapni a szoftverébe. Az agile metódikában erre azzal válaszolunk, hogy gyakrabban adunk ki frissítést. A waterfall-ban az ügyfél ugyanazt akarta, de a fejlesztési folyamat végén a tesztelés során, amikor szegény csóri felhasználóim már tudják, hogy ezzel a cuccal ki kell bírni néhány hónapot onnantól kezdve hogy kibökték azt, hogy "OK". Nos emiatt félelmetes mennyiségű "last minute" feature-t kértek, még az utolsó percekben is. Szó szerint amikor beütöm az release parancsot, akkor még pár percet tengek-lengek, mert egész biztosan csörögni fog az email miután lefuttattam a parancsot.
Ennek nem csak minőségi következményei vannak, hanem oda vezetett, hogy az elég hosszú fejlesztési ciklust minden ciklus után megtoldottuk. A csóri felhasználók pedig mégtöbb "last minute"-t kértek, mert még többet kell majd várniuk a következőre.
Nagyon hasonlóan történik a specifikációval is, egyre hosszabb lesz, és amíg az alá nincs írva, addig egy bitet nem verünk be. Emiatt persze a felhasználó egyre többet ül rajta, nem merik aláírni, amíg a legapróbb részletig minden bele nem kerül. Persze munka közben kiderül, hogy ez nem sikerült, de a következő alkalommal még hosszabb specifikációs ciklus következik.
Ezt nem magamnak, meg a szerény létszámú olvasóközönségemnek mondom, nyilván elmondtam a project vezetőinek is, egyetértés megvolt, de valahogy semmi nem történt. Azt hiszem ugyanazokat a problémákat látjuk, csak más lámpák gyulladnak ki.