Rozdiel medzi extrémnym programovaním a SCRUM

Rozdiel medzi extrémnym programovaním a SCRUM
Rozdiel medzi extrémnym programovaním a SCRUM

Video: Rozdiel medzi extrémnym programovaním a SCRUM

Video: Rozdiel medzi extrémnym programovaním a SCRUM
Video: Death Stranding Обзор | Полный Разбор | Хидэо Кодзима | Мнение | Впечатление 2024, November
Anonim

Extrémne programovanie vs SCRUM | XP vs SCRUM

V softvérovom priemysle sa v priebehu rokov používalo množstvo rôznych metodológií vývoja softvéru, ako napríklad metóda Waterfall, V-Model, RUP a niekoľko ďalších lineárnych, iteračných a kombinovaných lineárnych iteračných metód. Agilný model (alebo presnejšie povedané skupina metodológií) je novší model vývoja softvéru zavedený manifestom Agile na riešenie nedostatkov zistených v týchto tradičných metodológiách vývoja softvéru.

Agilné metódy sú založené na iteratívnom vývoji a využívajú spätnú väzbu od používateľov ako hlavný kontrolný mechanizmus. Agile možno nazvať prístupom zameraným na ľudí ako tradičné metódy. Agilný model prináša funkčnú verziu produktu veľmi skoro rozdelením systému na veľmi malé a zvládnuteľné čiastkové časti, aby si zákazník mohol včas uvedomiť niektoré výhody. Čas testovacieho cyklu Agile je relatívne krátky v porovnaní s tradičnými metódami, pretože testovanie prebieha súbežne s vývojom. Kvôli všetkým týmto výhodám sa v súčasnosti uprednostňujú agilné metódy pred tradičnými. Scrum a Extreme programovanie sú dve z najpopulárnejších variácií agilných metód.

Čo je SCRUM?

Ako už bolo spomenuté vyššie, SCRUM je inkrementálny a iteratívny proces projektového riadenia, ktorý patrí do rodiny agilných metód. SCRUM je založený na priradení vysokej priority účasti zákazníka na začiatku vývojového cyklu. Odporúča začleniť testovanie zákazníkom včas a čo najčastejšie. Testovanie sa vykonáva v každom bode, keď je k dispozícii stabilná verzia. Základ SCRUM je založený na spustení testovania od začiatku projektu a pokračovaní počas celého projektu až do konca.

Kľúčovou hodnotou SCRUM je „kvalita je zodpovednosťou tímu“, čo zdôrazňuje, že za kvalitu softvéru je zodpovedný celý tím (nielen testovací tím). Ďalším dôležitým aspektom SCRUM je rozdelenie softvéru na menšie spravovateľné časti a ich veľmi rýchle dodanie zákazníkovi. Dodanie funkčného produktu je nanajvýš dôležité. Potom tím pokračuje v zdokonaľovaní softvéru a priebežnom poskytovaní každého hlavného kroku. Dosahuje sa to veľmi krátkymi cyklami uvoľňovania (nazývanými sprinty) a získavaním spätnej väzby na zlepšenie na konci každého cyklu.

SCRUM definuje niekoľko kľúčových rolí pre hladké fungovanie vývojového tímu. Sú to produktový vlastník (ktorý zastupuje zákazníka a udržiava produktový backlog), Scrum master (ktorý pôsobí ako organizátor a koordinátor tímu pri vedení scrum stretnutí, udržiavanie sprint backlogu a horiacich grafov) a ďalší členovia tímu. Tím sa môže skladať z tradičných rolí, ale väčšinou ide o samostatne riadiace tímy. Hlavné artefakty Scrumu sú nevybavené produkty/nevybavené vydania (zoznam želaní), nevybavené položky/nevybavené chyby Sprintu (úlohy v každej iterácii), grafy vyhorenia (zostávajúca práca vs. dátum). Hlavné ceremónie SCRUM sú porada Product backlog, Sprint meeting a Retrospect meeting.

Čo je extrémne programovanie?

Extrémne programovanie (skrátene XP) je metodika vývoja softvéru, ktorá patrí do agilného modelu. Extrémne programovanie vykonáva fázy vo veľmi malých súvislých krokoch (v porovnaní s tradičnými metódami). Prvý prechod, ktorý trvá len deň alebo týždeň, je zámerne neúplný. Na poskytnutie konkrétnych cieľov pre vývoj softvéru sú na začiatku napísané automatizované testy. Potom vývojári urobia kódovanie. Dôraz je kladený na programovanie vo dvojiciach. Keď všetky testy prejdú, kódovanie sa považuje za dokončené. Ďalšou fázou je dizajn a architektúra, ktorá sa zaoberá refaktorovaním kódu rovnakou sadou programátorov. Na konci tejto fázy je zainteresovaným stranám prezentovaný neúplný (ale funkčný) produkt. Hneď potom začína ďalšia fáza (ktorá sa zameriava na ďalšiu skupinu najdôležitejších funkcií).

Aký je rozdiel medzi Extreme Programming a SCRUM?

Extrémne programovanie a SCRUM sú pochopiteľne veľmi podobné a zosúladené metodológie. Medzi týmito dvoma metódami sú však jemné, ale dôležité rozdiely. SCRUM sprinty trvajú 2-4 týždne, zatiaľ čo typické XP iterácie sú kratšie (trvajú 1-2 týždne). Tímy SCRUM zvyčajne nepovoľujú zmeny v sprintoch, ale tímy XP sú trochu flexibilnejšie voči zmenám v rámci iterácií. Napríklad po plánovaní sprintu zostane množina položiek tohto sprintu nezmenená, ale funkcia, na ktorej sa nezačala pracovať, sa môže kedykoľvek vymeniť za inú funkciu v XP. Ďalším rozdielom medzi XP a SCRUM je to, že poradie funkcií vyvinutých v XP má striktnú prioritu zákazník, zatiaľ čo o poradí položiek rozhoduje tím SCRUM (po tom, čo produktový backlog uprednostní vlastník produktu SCRUM).

Na rozdiel od XP, SCRUM nestanovuje žiadne technické postupy. XP je napríklad poháňaný postupmi, ako je testom riadený vývoj (TDD), párové programovanie, refaktoring atď. nedostatok XP. Ďalším nedostatkom extrémneho programovania je, že neskúsené tímy môžu mať tendenciu refaktorovať bez akýchkoľvek automatizovaných testov alebo TDD (alebo jednoducho hackovania). Niektorí preto tvrdia, že SCRUM je lepší na začatie práce (keďže prináša veľké vylepšenia jednoducho prostredníctvom cielených iterácií s časovým rámcom) a XP je vhodný pre mierne vyspelé tímy, ktoré objavili hodnotu vyššie uvedených praktík (namiesto toho, aby ich používali, pretože boli požiadaní. aby tak urobili).

Odporúča: