Agilis és hagyományos szoftverfejlesztési módszertan
Számos különböző szoftverfejlesztési módszertan létezik a szoftveriparban manapság. A vízesés fejlesztési módszere az egyik legkorábbi szoftverfejlesztési módszer. A V-modell, a RUP és néhány más lineáris, iteratív és kombinált lineáris-iteratív módszer, amelyek a vízesés módszertan után jöttek létre, célja a vízesés módszerének számos kérdésének kiküszöbölése. Ezeket a korábbi módszereket tradicionális szoftverfejlesztési módszertanoknak nevezzük. Az agilis modell egy újabb szoftverfejlesztési modell, amelyet a hagyományos modellekben feltárt hiányosságok orvoslására vezettek be. Az Agile fő tevékenysége a lehető legkorábbi tesztelés és a termék működő verziójának nagyon korai kiadása, a rendszer nagyon kicsi és kezelhető részekre bontásával..
Mi a hagyományos szoftverfejlesztési módszertan??
Az olyan szoftver módszertanokat, mint a Waterfall módszer, a V-Model és a RUP, hagyományos szoftverfejlesztési módszertannak nevezzük. A vízesés módszertana az egyik legkorábbi szoftverfejlesztési modell. Ahogy a neve is sugallja, ez egy szekvenciális folyamat, amelyben a haladás több fázison (igény-elemzés, tervezés, fejlesztés, tesztelés és megvalósítás) folyik fentről lefelé, analógként egy vízeséssel. A V-Model a Waterfall szoftverfejlesztési modell kiterjesztése. A V-modell ugyanazokat a kapcsolatokat használja a fázisok között, amelyeket a vízesés modell határoz meg. Ahelyett, hogy lineárisan leereszkedne (mint például a vízesés modell), a V-Model átlósan lefelé lép, majd visszafelé (a kódolási szakasz után) mozog, és az V. betű alakját képezi. A RUP (Rational Unified Process) alkalmazkodó folyamatkeret (nem egy konkrét folyamat), amelyet a fejlesztő szervezet igényei szerint testreszabhat. Kissé hasonló a vízeséshez, fix fázisai vannak, mint a kezdete, kidolgozása, felépítése és átmenete. A vízeséssel ellentétben a RUP ismétlődő folyamat.
Mi az agilis??
Az Agile egy nagyon friss szoftverfejlesztési módszertan (vagy helyesebben a módszertanok egy csoportja), amely az agilis manifesztre épül. Ezt a hagyományos szoftverfejlesztési módszertan hiányosságainak megoldására fejlesztették ki. Az agilis módszerek azon alapulnak, hogy kiemelt prioritást élveznek az ügyfelek részvétele a fejlesztési ciklus elején. Javasolja, hogy a vásárló korai és lehető leggyakrabban bevonja a tesztelést. A tesztelés minden ponton megtörténik, amikor elérhetővé válik egy stabil verzió. Az Agile alapítása a tesztelés megkezdésén alapul, a projekt kezdetétől egészen a projekt végéig. A Scrum és az Extreme programozás az Agile módszerek két legnépszerűbb változata.
Az Agile kulcsértéke a „minőség a csapat felelőssége”, amely hangsúlyozza, hogy a szoftver minősége az egész csapat felelőssége (nem csak a tesztelő csapat). Az Agile másik fontos szempontja a szoftver apróbb kezelhető részekre bontása, és az ügyfeleknek történő gyors szállítás. Rendkívül fontos a működő termék szállítása. Ezután a csapat tovább fejleszti a szoftvert, és folyamatosan szállít minden nagyobb lépésnél. Ez úgy érhető el, hogy nagyon rövid felszabadítási ciklusokkal rendelkezik (ezeket Scrum-ban sprintnek hívják), és minden ciklus végén visszajelzést kapunk a fejlesztésről. Azok a közreműködők, akiknél a csapat nem sokat kölcsönhatott be, például a korábbi módszerek fejlesztői és tesztelői, most együtt dolgoznak az Agile modellben.
Mi a különbség az agilis és a hagyományos szoftverfejlesztési módszertan között??
Noha az Agile módszer az iteratív fejlesztésen alapul, mint a hagyományos megközelítések némelyike, az Agile és a Traditional módszertannak alapvető különbségei vannak. A hagyományos megközelítések a tervezést használják ellenőrzési mechanizmusukként, míg az Agile modellek a felhasználók visszajelzéseit használják fő vezérlő mechanizmusként. Az agilisokat emberközpontú megközelítésnek lehet nevezni, mint a hagyományos módszereket. Az agilis modell a termék működő változatát a korai módszerekhez képest nagyon korai formában szolgáltatja, hogy az ügyfél már korán felismerje az előnyöket. Az Agile tesztelési ciklusideje viszonylag rövid a hagyományos módszerekhez képest, mivel a tesztelést a fejlesztéssel párhuzamosan végzik. A legtöbb hagyományos modell nagyon merev és viszonylag kevésbé rugalmas, mint az agilis modell. Mindezen előnyök miatt az Agile-t jelenleg a hagyományos módszerekkel szemben részesítik előnyben.