Verskil tussen ekstreme programmering en SCRUM

Verskil tussen ekstreme programmering en SCRUM
Verskil tussen ekstreme programmering en SCRUM

Video: Verskil tussen ekstreme programmering en SCRUM

Video: Verskil tussen ekstreme programmering en SCRUM
Video: Versterkers #2 Wat is een AV-receiver? 2024, Desember
Anonim

Ekstreme programmering vs SCRUM | XP vs SCRUM

Daar is 'n aantal verskillende sagteware-ontwikkelingsmetodologieë wat oor die jare in die sagteware-industrie gebruik is, soos Waterfall-ontwikkelingsmetode, V-Model, RUP en min ander lineêre, iteratiewe en gekombineerde lineêre-iteratiewe metodes. Agile-model (of meer korrek, 'n groep metodologieë) is 'n meer onlangse sagteware-ontwikkelingsmodel wat deur die Agile-manifes ingestel is om die tekortkominge wat in daardie tradisionele sagteware-ontwikkelingsmetodologieë voorkom, aan te spreek.

Agile metodes is gebaseer op iteratiewe ontwikkeling en gebruik die terugvoer van die gebruikers as die hoofbeheermeganisme. Agile kan 'n mensgesentreerde benadering genoem word as tradisionele metodes. Agile model lewer 'n werkende weergawe van die produk baie vroeg deur die stelsel af te breek in baie klein en hanteerbare subonderdele, sodat die kliënt vroeg van die voordele kan besef. Die toetssiklustyd van Agile is relatief kort in vergelyking met tradisionele metodes, omdat toetsing parallel met ontwikkeling gedoen word. As gevolg van al hierdie voordele, word Agile-metodes op die oomblik verkies bo die tradisionele metodologieë. Skrum- en Ekstreme-programmering is twee van die gewildste variasies van Agile-metodes.

Wat is SCRUM?

Soos hierbo genoem, is SCRUM 'n inkrementele en iteratiewe projekbestuursproses, wat aan die familie van Agile-metodes behoort. SCRUM is gebaseer op die gee van hoë prioriteit aan die kliënt deelname vroeg in die ontwikkelingsiklus. Dit beveel aan om toetsing deur die kliënt vroeg en gereeld as moontlik in te sluit. Toetsing word gedoen op elke punt wanneer 'n stabiele weergawe beskikbaar word. Die grondslag van SCRUM is gebaseer op die begin van toetsing vanaf die begin van die projek en deurgaans tot die einde van die projek.

Sleutelwaarde van SCRUM is "kwaliteit is die span se verantwoordelikheid", wat beklemtoon dat die kwaliteit van die sagteware die verantwoordelikheid van die hele span is (nie net die toetsspan nie). Een ander belangrike aspek van SCRUM is om die sagteware in kleiner hanteerbare dele af te breek en dit baie vinnig aan klante te lewer. Die lewering van 'n werkende produk is uiters belangrik. Dan gaan die span voort om die sagteware te verbeter en lewer voortdurend by elke groot stap. Dit word bereik deur baie kort vrystellingsiklusse (genoem naellope) te hê en terugvoer vir verbetering aan die einde van elke siklus te kry.

SCRUM definieer verskeie sleutelrolle vir die gladde werking van 'n ontwikkelingspan. Hulle is die Produkeienaar (wat die kliënt verteenwoordig en die produkagterstand in stand hou), Skrummeester (wat as die organiseerder en koördineerder van die span optree deur skrumvergaderings te hou, naelloopagterstand te handhaaf en kaarte af te brand) en ander spanlede.’n Span kan bestaan uit tradisionele rolle, maar meestal is dit selfbestuurspanne. Belangrikste Skrum-artefakte is produk-agterstand/vrystelling-agterstand (wenslys), Sprint-agterstande/defek-agterstande (take in elke iterasie), Afbrandkaarte (oorblywende werk vs. datum). Die belangrikste SCRUM-seremonies is produk-agterstandvergadering, naelloopvergadering en terugblikvergadering.

Wat is Ekstreme Programmering?

Ekstreme programmering (afgekort XP) is 'n sagteware-ontwikkelingsmetodologie wat aan die Agile-model behoort. Ekstreme programmering voer fases in baie klein deurlopende stappe uit (in vergelyking met tradisionele metodes). Die eerste slaag, wat slegs 'n dag of 'n week neem, is doelbewus onvolledig. Om konkrete doelwitte vir die ontwikkeling van die sagteware te verskaf, word outomatiese toetse aan die begin geskryf. Dan doen die ontwikkelaars die kodering. Die fokus is om programmering as pare te doen. Sodra al die toetse geslaag het, word die kodering as voltooi beskou. Die volgende fase is ontwerp en argitektuur, wat handel oor die herfaktorering van die kode deur dieselfde stel programmeerders. Aan die einde van hierdie fase word onvolledige (maar funksionele) produk aan die belanghebbendes aangebied. Net hierna begin die volgende fase (wat fokus op die volgende stel belangrikste kenmerke).

Wat is die verskil tussen Ekstreme Programmering en SCRUM?

Ekstreme programmering en SCRUM is verstaanbaar baie soortgelyke en belynde metodologieë. Daar is egter subtiele maar belangrike verskille tussen hierdie twee metodes. SCRUM-naellope duur vir 2-4 weke, terwyl tipiese XP-iterasies korter is (laaste 1-2 weke). Gewoonlik laat SCRUM-spanne nie veranderinge aan naellope toe nie, maar XP-spanne is bietjie meer buigsaam vir veranderinge binne iterasies. Byvoorbeeld, na die naelloopbeplanning, bly die stel items van daardie naelloop onveranderd, maar 'n kenmerk waaraan nie begin werk het nie, kan enige tyd met 'n ander kenmerk in XP omgeruil word. Nog 'n verskil tussen XP en SCRUM is dat die volgorde van kenmerke wat in XP ontwikkel is 'n streng geprioritiseerde een is deur die kliënt, terwyl die SCRUM-span die volgorde van items besluit (nadat die produkagterstand deur die SCRUM se produkeienaar geprioritiseer is).

Anders as XP, lê SCRUM geen ingenieurspraktyke neer nie. Byvoorbeeld, XP word gedryf deur praktyke soos toetsgedrewe ontwikkeling (TDD), paarprogrammering, herfaktorering, ens. Sommige glo egter dat die opdrag van 'n stel praktyke op selforganiserende spanne 'n negatiewe impak kan hê, en dit kan oorweeg word 'n tekortkoming van XP. Nog 'n tekortkoming van Extreme-programmering is dat onervare spanne geneig is om te herfaktor sonder enige outomatiese toetse of TDD (of bloot inbraak). Daarom, sommige stel voor dat SCRUM beter is om af te staar (aangesien dit groot verbeterings bring bloot deur gefokusde timebox-iterasies) en XP is geskik vir effens volwasse spanne wat die waarde van bogenoemde praktyke ontdek het (eerder as om dit te gebruik omdat hulle gevra is om dit te doen).

Aanbeveel: