Visszahívást kérek

fws blog

Agilis szoftverfejlesztés

2017. július 10.
Agilis szoftverfejlesztés

A webfejlesztéssel kapcsolatos igények napjainkban egyre komolyabb kihívásokat jelent a fejlesztők és fejlesztő csapatok számára.

Minőségi, széleskörű funkciókkal ellátott szoftverek készítése, általában szoros határidővel igazi próbatétel számunkra is.
Szerencsére azért vannak megoldások az elsőre lehetetlennek tűnő feladatok elvégzéséhez is.
Az egyik ilyen lehetőség az agilis szoftverfejlesztés elvének használata.

De mit is jelent az agilitás?


Ha az idegen szavak gyűjteményében megnézzük, akkor valami haslót fogunk találni:
serénység, ügyesség, élelmesség, életrevalóság, gyorsaság, mozgékonyság

A szoftverfejlesztés világában sincs ez másként, az agilitás elvét követve nagyban megkönnyíthetünk bizonyos munkákat, hiszen ügyesen, serényen és gyorsan fogunk dolgozni :)

Hogy néz ki mindez a gyakorlatban?


Egy szoftver (pl. webshop) elkészítését három fő tényező határozza meg:
Egyrészről ismertek az elvégzendő feladatok (a weboldal működéséhez szükséges elemek, aloldalak, funkciók), másrészről szeretnénk, ha az átadott szoftver minősége kifogástalan lenne (a megrendelőről nem is beszélve :) ), és ott van a határidő. Ezeket a tényezőket egy bűvös háromszögben szokás ábrázolni:

Ha belegondolunk, akkor hamar beláthatjuk, hogy a három fő tényező egyszerre nem tartható.
Magas minőségű, sok funkcióval ellátott szoftvert például nem lehet rövid idő alatt elkészíteni (aki mást mond, az hazudik :) )

Nincs más választásunk tehát, mint az egyik tényezőt - ha nem is teljesen - feladni.
A rendelkezésre álló idő adott, ehhez nem tudunk hozzányúlni. A minőségből sem szeretnénk engedni, így maradnak a funkciók.
Ez azt jelenti, hogy a teljes, késznek tekinthető weboldalt kisebb részfeladatokra bontjuk a megrendelővel egyeztetve. Például egy webshop indulásához nem feltétlenül szükséges hírlevél küldő modul vagy kuponkezelő rendszer, ezeket adott esetben ráérünk később átadni.
A fejlesztések ciklusokban, úgynevezett sprint-ekben készülnek el, azaz meghatározott időközönként új funkciók kerülnek átadásra.

Miután sikeresen meghatároztuk a részfeladatokat, a projektmenedzser a megrendelő igényeit és kéréseit szem előtt tartva fontossági sorrendbe rendezi azokat (a fontosabbak kerülnek előre).
Ezután a fejlesztő csapat kiválasztja azokat a feladatokat, melyeket egy sprint alatt el tud készíteni úgy, hogy azok egy önmagában működőképes terméket alkossanak.


Ha mindezzel megvagyunk, akkor megkezdődhet a munka, elindul az első sprint.
Az, hogy egy sprint milyen hosszú nincs köbe vésve, a munka jellege határozza meg. Nagyobb, komplikáltabb weboldalak esetében általában két hét, de természetesen a megrendelő egyedi igényei is befolyásolhatják ezt.
A sprint végeztével a belső ellenőrzések és tesztek után a projektmenedzser átadja a megrendelőnek a szoftver elkészült részét. Ahogy már említettem, ez egy működő termék lesz, az elkészült funkciók már használhatók (pl. lehet termékeket feltölteni a webshop adminisztrációs felületén keresztül).

A megrendelő a szoftver megtekintése után véleményezi azt, elmondja, hogy mi az ami jó és mi az ami esetleg rossz.
Az észrevételeket figyelembe véve a programozó csapat és a projekt menedzser átbeszélik a lehetőségeket és meghatározzák a következő sprint feladatit.

Ez így ismétlődik mindaddig, amíg el nem készül minden a megrendelő által kért funkció.

Látható, hogy az agilis elv nagy előnye, hogy a megrendelő folyamatosan és gyorsan kap funkciókat, azokat tudja tesztelni, hamar tud reagálni az elvégzett feladatokra, így még időben lehet korrigálni a hibákat és a kívánt irányba lehet vinni a további fejlesztéseket.

Természetesen ez a folyamat a megrendelő aktív részvételét is meg követeli, hiszen csak akkor indulhat egy új fejlesztési ciklus, ha a visszajelzéseket megkapta a programozó csapat.

Akkor miden weboldal agilis elv alkalmazásával készül?


Észrevehető, hogy az agilis elv alkalmazása sokkal több tervezést igényel a folyamatok során (persze a ráfordított idő később megtérül), így nem biztos, hogy minden esetben hasznos vagy éppen lehetséges az alkalmazása. Például egy egyszerű landing oldal elkészítéséhez nem sok értelme lenne ezt a módszert választani, hiszen annak elkészítése feltehetőleg egy rövid - pár napos - sprint alatt le is zajlana.
Nagyobb, összetettebb és bonyolultabb rendszerek építésekor azonban már nagy segítség lehet az agilis megközelítés, ilyen jellegű feladatoknál már mi is sokszor alkalmaztuk ezt az elvet, nagy sikerekkel és lelkesedéssel.

Ha Ön tehát azzal keres meg minket, hogy készítsünk egy weboldalt, akkor már nem csak azt tudja megmondani, hogy mit szeretne, de akár, azt is, hogy agilis megközelítéssel dolgozzunk együtt!


Írta: Peti