Különbség az agilis és a hagyományos szoftverfejlesztési módszertan között
Agilis és hagyományos szoftverfejlesztési módszertan
Számos szoftverfejlesztési módszertan létezik a szoftveriparban ma. A vízesés fejlesztési módszer az egyik legkorábbi szoftverfejlesztési módszer. V-modell, 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ódszertana után jöttek ki. Mindezeket a korábbi módszertanokat a hagyományos szoftverfejlesztési módszereknek hívják. Az agilis modell egy újabb szoftverfejlesztési modell, amelyet a hagyományos modellekben talált hiányosságok kezelésére vezettek be. Az Agile fő hangsúlya a lehető leghamarabb elvégzi a tesztelést, és nagyon korán elengedi a termék működési változatát, mivel a rendszert nagyon kicsi és kezelhető részekre bontotta.
Mi a hagyományos szoftverfejlesztési módszertan?
A szoftveres módszertanok, mint a vízesés módszer, a V-modell és a RUP hagyományos szoftverfejlesztési módszerek. A vízesés módszertana az egyik legrégebbi szoftverfejlesztési modell. Amint azt a név is sugallja, ez egy szekvenciális folyamat, amelyben az előrehaladás több fázison keresztül történik (követelményelemzés, tervezés, fejlesztés, tesztelés és végrehajtás) felülről lefelé, hasonlóan egy vízeséshez. A V-modell a Waterfall szoftverfejlesztési modell kiterjesztésének tekinthető. A V-modell ugyanazokat a kapcsolatokat használja a Waterfall modellben meghatározott fázisok között. De a lineáris lejtés helyett (mint például a vízesés modellje) a V-modell lépcsőzetesen lefelé halad, majd visszafelé (kódolási fázis után), a levél alakját alkotva. A RUP (Rational Unified Process) egy alkalmazkodó folyamatkeret (nem egy konkrét folyamat), amelyet a fejlesztési szervezet saját szükségletei szerint testre szabhat. A vízeséshez hasonlóan fix fázisok vannak a kezdetekhez, a kidolgozáshoz, az építéshez és az átmenethez. A vízeséssel ellentétben a RUP egy iteratív folyamat.
Mi az Agile?
Az Agile egy agresszív manifeszten alapuló szoftverfejlesztési módszertan (vagy pontosabban a módszertani csoport). Ezt azért fejlesztették ki, hogy megoldja a hagyományos szoftverfejlesztési módszerek néhány hiányosságát. Az agilis módszerek arra alapulnak, hogy a fejlesztési ciklus elején kiemelten kezeljék az ügyfél részvételét. Javasolja, hogy az ügyfél korai és gyakran a lehető leggyakrabban elvégezze a tesztelést. A tesztelés minden pontnál történik, amikor egy stabil változat elérhetővé válik. Az Agile alapja a projekt kezdetétől kezdődő tesztelésen alapul, és egészen a projekt végéig folytatódik.A Scrum és az Extreme programozás az agilis módszerek két legnépszerűbb változata.
Az Agile legfontosabb értéke a "minőség a csapat felelőssége", amely hangsúlyozza, hogy a szoftver minősége a teljes csapat felelőssége (nem csak a tesztcsapat). Az Agile egyik másik fontos eleme a szoftverek kisebb kezelhető részekre bontása, és az ügyfelek gyors átadása. Egy működő termék szállítása rendkívül fontos. Ezután a csapat folyamatosan javítja a szoftvert, és minden fontos lépésben folyamatosan továbbad. Ezt úgy érhetjük el, hogy nagyon rövid felszabadulási ciklusokat (Scrum-t nevezünk sprinteknek) és visszajelzést kapunk a javításra az egyes ciklusok végén. A csapatok, mint a fejlesztők és a tesztelők a korábbi módszerek között sok interakció nélkül dolgoznak, most együtt dolgoznak az Agile modellen belül.
Mi a különbség az Agile és a hagyományos szoftverfejlesztési módszertan között?
Bár az Agile módszer az iteratív fejlesztésen alapul, mint néhány hagyományos megközelítés, az agilis és a hagyományos módszerek kulcsfontosságú különbségek. A hagyományos megközelítések a tervezést irányító mechanizmusként használják, míg az Agile modellek a fő visszajelzési mechanizmusként használják a felhasználók visszajelzéseit. Az agilis emberközpontú megközelítésnek hívható, mint a hagyományos módszerek. Az Agile modell a termék hagyományos változatához képest igen korán kínálja a termék működési változatát, hogy az ügyfél korai szakaszában megvalósíthassa az előnyöket. Az Agile vizsgálati ciklusideje viszonylag rövid a hagyományos módszerekhez képest, mivel a tesztelés a fejlesztéssel párhuzamosan történik. A legtöbb hagyományos modell nagyon merev és viszonylag kevésbé rugalmas, mint az Agile modell. Mindezen előnyök miatt az Agile előnyben részesítette a hagyományos módszertanokat.