Diferența Dintre Programarea Extremă și SCRUM

Diferența Dintre Programarea Extremă și SCRUM
Diferența Dintre Programarea Extremă și SCRUM

Video: Diferența Dintre Programarea Extremă și SCRUM

Video: Diferența Dintre Programarea Extremă și SCRUM
Video: Agile и Scrum на пальцах / О ГИБКИХ методологиях разработки ПО понятным языком 2024, Aprilie
Anonim

Programare extremă vs SCRUM | XP vs SCRUM

Au existat numeroase metodologii diferite de dezvoltare software utilizate în industria software-ului de-a lungul anilor, cum ar fi metoda de dezvoltare Waterfall, modelul V, RUP și alte câteva metode liniare, iterative și combinate liniar-iterative. Modelul Agile (sau mai corect, un grup de metodologii) este un model de dezvoltare software mai recent introdus de manifestul Agile pentru a aborda deficiențele constatate în acele metodologii tradiționale de dezvoltare software.

Metodele agile se bazează pe dezvoltarea iterativă și utilizează feedback-ul de la utilizatori ca principal mecanism de control. Agilitatea poate fi numită o abordare centrată pe oameni decât metodele tradiționale. Modelul Agile oferă o versiune funcțională a produsului foarte devreme, împărțind sistemul în sub-părți foarte mici și ușor de gestionat, astfel încât clientul să poată realiza unele dintre avantaje din timp. Durata ciclului de testare a Agile este relativ scurtă în comparație cu metodele tradiționale, deoarece testarea se face paralel cu dezvoltarea. Datorită tuturor acestor avantaje, metodele Agile sunt preferate în locul metodologiilor tradiționale din acest moment. Programarea Scrum și Extreme sunt două dintre cele mai populare variații ale metodelor Agile.

Ce este SCRUM?

După cum sa menționat mai sus, SCRUM este un proces de management de proiect incremental și iterativ, care aparține familiei metodelor Agile. SCRUM se bazează pe acordarea unei priorități ridicate participării clienților la începutul ciclului de dezvoltare. Recomandă încorporarea testelor de către client devreme și cât mai des posibil. Testarea se face în fiecare moment când devine disponibilă o versiune stabilă. Fundația SCRUM se bazează pe începerea testării de la începutul proiectului și continuarea pe tot parcursul până la sfârșitul proiectului.

Valoarea cheie a SCRUM este „calitatea este responsabilitatea echipei”, care subliniază că calitatea software-ului este responsabilitatea întregii echipe (nu doar a echipei de testare). Un alt aspect important al SCRUM este descompunerea software-ului în piese mai ușor de gestionat și livrarea lor rapidă către client. Livrarea unui produs de lucru este extrem de importantă. Apoi, echipa continuă să îmbunătățească software-ul și să livreze continuu la fiecare pas major. Acest lucru se realizează prin cicluri de eliberare foarte scurte (numite sprinturi) și obținerea de feedback pentru îmbunătățire la sfârșitul fiecărui ciclu.

SCRUM definește mai multe roluri cheie pentru buna funcționare a unei echipe de dezvoltare. Ei sunt proprietarul produsului (care reprezintă clientul și menține restanța produsului), masterul Scrum (care acționează ca organizator și coordonator al echipei prin desfășurarea de întâlniri scrum, menținerea restantei sprintului și arderea graficelor) și alți membri ai echipei. O echipă poate fi formată din roluri tradiționale, dar în cea mai mare parte sunt echipe de autogestionare. Principalele artefacte Scrum sunt restanțe de produs / restanțe de lansare (listă de dorințe), restante Sprint / restante de defecte (sarcini în fiecare iterație), diagrame de ardere (lucru rămas vs. dată). Principalele ceremonii SCRUM sunt întâlnirea cu restante de produse, întâlnirea Sprint și întâlnirea Retrospect.

Ce este programarea extremă?

Programarea extremă (abreviat XP) este o metodologie de dezvoltare software care aparține modelului Agile. Programarea extremă realizează faze în pași continui foarte mici (comparativ cu metodele tradiționale). Prima trecere, care durează doar o zi sau o săptămână, este intenționat incompletă. Pentru a oferi obiective concrete pentru dezvoltarea software-ului, testele automate sunt scrise la început. Apoi dezvoltatorii fac codificarea. Accentul se pune pe programarea ca perechi. Odată ce toate testele trec, codarea este considerată completă. Următoarea fază este proiectarea și arhitectura, care se ocupă cu refactorizarea codului de către același set de programatori. La sfârșitul acestei etape, produsul incomplet (dar funcțional) este prezentat părților interesate. Imediat după aceasta, începe următoarea fază (care se concentrează pe următorul set de caracteristici cele mai importante).

Care este diferența dintre programarea extremă și SCRUM?

Programarea extremă și SCRUM sunt metodologii foarte asemănătoare și aliniate. Cu toate acestea, există diferențe subtile, dar importante între aceste două metode. Sprinturile SCRUM durează 2-4 săptămâni, în timp ce iterațiile XP tipice sunt mai scurte (ultimele 1-2 săptămâni). De obicei, echipele SCRUM nu permit modificări în sprinturi, dar echipele XP sunt puțin mai flexibile față de modificările din iterații. De exemplu, după planificarea sprintului, setul de elemente din acel sprint rămâne neschimbat, dar o caracteristică la care nu a început să funcționeze poate fi oricând schimbată cu o altă caracteristică din XP. O altă diferență între XP și SCRUM este că, ordinea caracteristicilor dezvoltate în XP este strict prioritizată de către client, în timp ce echipa SCRUM decide ordinea articolelor (după ce restanța produsului este prioritizată de către proprietarul de produs SCRUM).

Spre deosebire de XP, SCRUM nu prevede practici de inginerie. De exemplu, XP este condus de practici cum ar fi dezvoltarea test-driven (TDD), programarea în perechi, refactorizarea, etc. un neajuns de XP. Un alt neajuns al programării extreme este că echipele neexperimentate pot tinde să refactorizeze fără teste automate sau TDD (sau pur și simplu hacking). Prin urmare, unii sugerează că SCRUM este mai bun pentru a privi (deoarece aduce îmbunătățiri mari pur și simplu prin iterații focalizate în timeboxed) și XP este potrivit pentru echipele ușor mature care au descoperit valoarea practicilor menționate mai sus (mai degrabă decât să le folosească pentru că au fost solicitate pentru a face acest lucru).

Recomandat: