Különbség extrém programozás és SCRUM

Anonim

Extreme Programming vs SCRUM | XP vs SCRUM

Számos szoftverfejlesztési módszer létezik a szoftveriparban az évek során, például a vízesés-fejleszté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. Az agilis modell (vagy pontosabban, a módszertani csoport) egy újabb szoftverfejlesztési modell, amelyet az Agile manifesto vezetett be a hagyományos szoftverfejlesztési módszerek hiányosságainak kezelésére.

Az agilis módszerek az iteratív fejlesztésen alapulnak, és a felhasználók visszajelzései a fő vezérlési mechanizmusok. Az agilis emberközpontú megközelítésnek hívható, mint a hagyományos módszerek. Az agilis modell nagyon korán gondoskodik a termék működési változatáról, mivel a rendszert nagyon kicsi és kezelhető részekre bontja, így az ügyfél korai szakaszában fel tudja ismerni 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. Mindezen előnyök miatt az agilis módszerek előnyben részesülnek a hagyományos módszereknél. A Scrum és az Extreme programozás az agilis módszerek két legnépszerűbb változata.

Mi az SCRUM?

Amint fentebb említettük, az SCRUM egy inkrementális és iteratív projekt menedzsment folyamat, amely az Agile módszerek családjához tartozik. Az SCRUM alapja az, hogy kiemelten kezeli az ügyfél részvételét a fejlesztési ciklus elején. 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 SCRUM alapja a projekt kezdetétől kezdődő tesztelésen alapul, és egészen a projekt végéig folytatódik.

A SCRUM 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 (nem csak a tesztelő csapat) felelőssége. Az SCRUM egyik másik fontos eleme, hogy a szoftvereket kisebb, kezelhető részekre bontja, és gyorsan kiszállítja az ügyfeleket. A működő termék biztosí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 érik el, hogy nagyon rövid felszabadulási ciklusok (úgynevezett sprintek) és visszacsatolás érhető el javulás céljából az egyes ciklusok végén.

Az SCRUM számos kulcsfontosságú szerepet határoz meg a fejlesztői csapat zökkenőmentes működéséhez. Ők a termék tulajdonosa (aki képviseli az ügyfelet és fenntartja a termék elmaradást), a Scrum master (aki a csapat rendezőjeként és koordinátoraként rendezői találkozókat szervez, fenntartja a sprint lemorzsolódását és leégeti a diagramokat) és más csapattagokat.A csapat állhat hagyományos szerepkörökből, de leginkább önálló vezetők. A fő Scrum termékek: termékhátralék / kiadási feladatok (kívánságlista), Sprint backlogs / defect backlogs (feladatok minden iterációban), lemezek leégése (munka megmaradt vs. dátum). A legfontosabb SCRUM ünnepségek a Product Backlog Meeting, a Sprint találkozó és a Retrospect találkozó.

Mi az extrém programozás?

Extrém programozás (rövidített XP) az Agile modellhez tartozó szoftverfejlesztési módszertan. Az extrém programozás nagyon kis folytonos lépésekben valósul meg (a hagyományos módszerekhez képest). Az első lépés, amely csak egy napot vagy egy hétig tart, szándékosan nem teljes. A szoftverfejlesztés konkrét céljai érdekében az automatizált teszteket az elején írják. Ezután a fejlesztők csinálják a kódolást. A hangsúly a programozás párosításaként történik. Miután minden teszt elhaladt, a kódolás teljesnek tekinthető. A következő fázis a tervezés és az architektúra, amely a kód programozásával azonos kódolással foglalkozik. E szakasz végén hiányos (de funkcionális) termék kerül bemutatásra az érdekeltek számára. Ettől kezdve elindul a következő fázis (amely a legfontosabb jellemzők következő csoportjára összpontosít).

Mi a különbség az Extreme Programming és az SCRUM között?

Extrém programozás és SCRUM érthetően nagyon hasonló és összehangolt módszertanok. Azonban vannak finom, de fontos különbségek a két módszer között. Az SCRUM sprintek 2-4 hétig tartanak, míg a tipikus XP iterációk rövidebbek (legutóbbi 1-2 hét). Általában az SCRUM csapatok nem engedélyezik a sprintek módosítását, de az XP csoportok kevésbé rugalmasak a változásokon belül. Például, a sprint tervezése után a sprint elemeinek halmaza változatlan marad, de egy olyan szolgáltatás, amely még nem kezdett dolgozni, bármikor felcserélhető más XP szolgáltatással. Egy másik különbség az XP és az SCRUM között az, hogy az XP-ben kifejlesztett funkciók sorrendje szigorúan prioritásként kezeli az ügyfelet, míg az SCRUM csapat határozza meg a tételek sorrendjét (miután a termékhalmazzal kapcsolatos prioritások az SCRUM terméktulajdonosa).

Az XP-vel ellentétben az SCRUM nem rendelkezik semmilyen mérnöki gyakorlattal. Például az XP-t olyan gyakorlatok vezérlik, mint a tesztelésvezérelt fejlesztés (TDD), a párok programozása, a refactoring stb. Egyesek azonban úgy vélik, hogy az önszerveződő csoportok gyakorlatainak elrendelése negatív hatással járhat, az XP hiányossága. Az Extreme programozás másik hiányossága, hogy a tapasztalatlan csapatok hajlamosak újratervezni anélkül, hogy automatizált teszteket vagy TDD-t (vagy egyszerűen hackerelést) végeznének. Ezért egyesek azt sugallják, hogy az SCRUM jobban néz ki (mivel nagyszerű javulást hoz létre egyszerűen időzített iterációk révén), és az XP alkalmas olyan kicsit érett csapatoknak, akik felfedezték a fent említett gyakorlatok értékét (nem pedig azok használatát, erre).