Forskjellen Mellom Ekstrem Programmering Og SCRUM

Forskjellen Mellom Ekstrem Programmering Og SCRUM
Forskjellen Mellom Ekstrem Programmering Og SCRUM

Video: Forskjellen Mellom Ekstrem Programmering Og SCRUM

Video: Forskjellen Mellom Ekstrem Programmering Og SCRUM
Video: The Expert (Short Comedy Sketch) 2024, November
Anonim

Ekstrem programmering vs SCRUM | XP mot SCRUM

Det har vært en rekke forskjellige programvareutviklingsmetoder som er brukt i programvareindustrien gjennom årene, for eksempel Waterfall-utviklingsmetode, V-modell, RUP og få andre lineære, iterative og kombinerte lineær-iterative metoder. Agil modell (eller mer korrekt, en gruppe metoder) er en nyere programvareutviklingsmodell introdusert av Agile-manifestet for å løse manglene som finnes i de tradisjonelle programvareutviklingsmetodene.

Agile metoder er basert på iterativ utvikling og bruker tilbakemeldingen fra brukerne som den viktigste kontrollmekanismen. Agile kan kalles en folksentrert tilnærming enn tradisjonelle metoder. Agile-modellen leverer en fungerende versjon av produktet veldig tidlig ved å bryte systemet ned i veldig små og håndterbare underdeler, slik at kunden tidlig kan innse noen av fordelene. Testing syklus tid av Agile er relativt kort sammenlignet med tradisjonelle metoder, fordi testing gjøres parallelt med utvikling. På grunn av alle disse fordelene foretrekkes Agile-metoder fremfor tradisjonelle metoder for øyeblikket. Scrum og Extreme programmering er to av de mest populære variantene av Agile metoder.

Hva er SCRUM?

Som nevnt ovenfor er SCRUM en trinnvis og iterativ prosjektledelsesprosess, som tilhører familien av smidige metoder. SCRUM er basert på å prioritere kundedeltakelsen høyt i utviklingssyklusen. Det anbefaler å innlemme testing av kunden tidlig og ofte som mulig. Testing utføres på hvert punkt når en stabil versjon blir tilgjengelig. Grunnlaget for SCRUM er basert på å starte testing fra begynnelsen av prosjektet og fortsette til slutten av prosjektet.

Nøkkelverdien til SCRUM er “kvalitet er teamets ansvar”, som understreker at kvaliteten på programvaren er hele teamets ansvar (ikke bare testteamet). Et annet viktig aspekt av SCRUM er å bryte ned programvaren til mindre håndterbare deler og levere dem til kunden veldig raskt. Å levere et fungerende produkt er av største betydning. Deretter fortsetter teamet med å forbedre programvaren og levere kontinuerlig ved hvert store trinn. Dette oppnås ved å ha veldig korte utgivelsessykluser (kalt sprints) og få tilbakemelding for forbedring på slutten av hver syklus.

SCRUM definerer flere nøkkelroller for en smidig drift av et utviklingsteam. De er Produkteier (som representerer kunden og opprettholder produktetterslepet), Scrum master (som fungerer som arrangør og koordinator av teamet ved å gjennomføre scrummøter, opprettholder sprintforsinkelse og nedbrente diagrammer) og andre teammedlemmer. Et team kan bestå av tradisjonelle roller, men for det meste er de selvledende team. Viktigste Scrum-gjenstander er produktetterslep / frigjøringsetterslep (ønskeliste), sprintetterslep / mangeletterslep (oppgaver i hver iterasjon), nedbrent diagrammer (gjenværende arbeid vs. dato). De viktigste SCRUM-seremoniene er Backlogg-møte, Sprint-møte og Retrospect-møte.

Hva er ekstrem programmering?

Extreme Programming (forkortet XP) er en programvareutviklingsmetodikk som tilhører Agile-modellen. Ekstrem programmering utfører faser i veldig små kontinuerlige trinn (sammenlignet med tradisjonelle metoder). Det første passet, som bare tar en dag eller en uke, er med vilje ufullstendig. For å gi konkrete mål for utvikling av programvaren, skrives automatiserte tester i starten. Så gjør utviklerne kodingen. Fokuset er å gjøre programmering som par. Når alle testene er bestått, anses kodingen som fullført. Den neste fasen er design og arkitektur, som omhandler refactoring av koden av samme sett med programmerere. På slutten av denne fasen presenteres ufullstendig (men funksjonelt) produkt for interessentene. Rett etter dette starter neste fase (som fokuserer på neste sett med de viktigste funksjonene).

Hva er forskjellen mellom Extreme Programming og SCRUM?

Extreme Programming og SCRUM er forståelig nok veldig like og justerte metoder. Imidlertid er det subtile, men viktige forskjeller mellom disse to metodene. SCRUM sprints varer i 2-4 uker, mens typiske XP-iterasjoner er kortere (siste 1-2 uker). Vanligvis tillater ikke SCRUM-team endringer i sprints, men XP-team er litt mer fleksible for endringer i iterasjoner. For eksempel, etter sprintplanleggingen, forblir settet med elementene til den sprinten uendret, men en funksjon som ikke har begynt å jobbe med, kan når som helst byttes ut med en annen funksjon i XP. En annen forskjell mellom XP og SCRUM er at rekkefølgen på funksjonene som er utviklet i XP, er en strengt prioritert av kunden, mens SCRUM-teamet bestemmer rekkefølgen på varene (etter at varereserven er prioritert av SCRUMs produkteier).

I motsetning til XP legger SCRUM ingen tekniske fremgangsmåter. For eksempel er XP drevet av praksis som testdrevet utvikling (TDD), parprogrammering, refactoring osv. Noen mener imidlertid at det å mandere et sett med praksis på selvorganiserende team kan ha en negativ innvirkning, og dette kan vurderes en mangel på XP. En annen mangel ved ekstrem programmering er at uerfarne team kan ha en tendens til å refaktorere uten automatiserte tester eller TDD (eller bare hacking). Derfor antyder noen at SCRUM er bedre for å stirre av (da det gir store forbedringer bare gjennom fokuserte tidsbokserte iterasjoner) og XP er egnet for litt modne lag som har oppdaget verdien av ovennevnte fremgangsmåter (i stedet for å bruke dem fordi de er blitt spurt. å gjøre slik).

Anbefalt: