Video: Erinevus äärmise Programmeerimise Ja SCRUMi Vahel
2024 Autor: Mildred Bawerman | [email protected]. Viimati modifitseeritud: 2023-12-16 08:38
Äärmuslik programmeerimine vs SCRUM | XP vs SCRUM
Aastate jooksul on tarkvaratööstuses kasutatud mitmeid erinevaid tarkvaraarenduse metoodikaid, nagu Waterfall'i arendusmeetod, V-mudel, RUP ja vähesed muud lineaarsed, iteratiivsed ja kombineeritud lineaarselt iteratiivsed meetodid. Agile mudel (või õigemini metoodikate rühm) on uuem tarkvaraarenduse mudel, mille Agile manifest tutvustas, et kõrvaldada nendes traditsioonilistes tarkvaraarenduse metoodikates leitud puudused.
Agile meetodid põhinevad iteratiivsel arendamisel ja kasutavad peamise juhtimismehhanismina kasutajate tagasisidet. Agiilsust võib nimetada rahvakeskseks lähenemiseks kui traditsioonilisi meetodeid. Agile mudel pakub toote tööversiooni väga varakult, jaotades süsteemi väga väikesteks ja hõlpsasti hallatavateks osadeks, et klient saaks mõnda kasu juba varakult realiseerida. Agile testimise tsükli aeg on võrreldes traditsiooniliste meetoditega suhteliselt lühike, sest testimine toimub paralleelselt arendusega. Kõigi nende eeliste tõttu eelistatakse praegu agilaid meetodeid traditsiooniliste metoodikate asemel. Scrum ja Extreme programmeerimine on Agile meetodite kaks kõige populaarsemat varianti.
Mis on SCRUM?
Nagu eespool mainitud, on SCRUM inkrementaalne ja iteratiivne projektijuhtimisprotsess, mis kuulub agiilsete meetodite perekonda. SCRUM põhineb kliendi osaluse esmatähtsal arvestamisel arendustsükli alguses. See soovitab lisada kliendi testid varakult ja sageli. Testimine toimub igas punktis, kui saadaval on stabiilne versioon. SCRUM-i aluseks on testimise alustamine projekti algusest ja jätkamine kogu projekti lõpuni.
SCRUMi põhiväärtus on “kvaliteet on meeskonna vastutus”, mis rõhutab, et tarkvara kvaliteedi eest vastutab kogu meeskond (mitte ainult testimisrühm). SCRUMi üks oluline aspekt on tarkvara jaotamine väiksemateks juhitavateks osadeks ja nende ülikiire tarnimine kliendile. Töötava toote tarnimine on ülimalt tähtis. Seejärel jätkab meeskond tarkvara täiustamist ja toimetab pidevalt igal suuremal sammul. See saavutatakse väga lühikeste vabastamistsüklite (nn sprindid) abil ja iga tsükli lõpus parema tagasiside saamiseks.
SCRUM määratleb arendustiimi sujuva toimimise jaoks mitu võtmerolli. Nad on toote omanik (kes esindab klienti ja hoiab toote mahajäämust), Scrumi meister (kes toimib meeskonna korraldaja ja koordinaatorina, korraldades scrum-koosolekuid, pidades sprindi mahajäämust ja põletades edetabeleid) ning teised meeskonna liikmed. Meeskond võib koosneda traditsioonilistest rollidest, kuid enamasti on nad ise juhtivad meeskonnad. Peamised Scrumi artefaktid on toote mahajäämus / vabastamise mahajäämus (soovinimekiri), Sprindi mahajäämus / defektide mahajäämus (ülesanded igas iteratsioonis), graafikute põletamine (järelejäänud töö vs kuupäev). Peamised SCRUM-i tseremooniad on toote mahajäämuse koosolek, Sprindi koosolek ja Retrospecti koosolek.
Mis on äärmine programmeerimine?
Extreme Programming (lühendatult XP) on tarkvara arendamise metoodika, mis kuulub Agile mudelisse. Äärmuslik programmeerimine viib faasid läbi väga väikeste pidevate sammudega (võrreldes traditsiooniliste meetoditega). Esimene läbimine, mis võtab vaid päeva või nädala, on tahtlikult puudulik. Tarkvara arendamiseks konkreetsete eesmärkide saavutamiseks kirjutatakse alguses automatiseeritud testid. Siis teevad arendajad kodeerimise. Keskendutakse programmeerimisele paaridena. Kui kõik testid on läbitud, loetakse kodeerimine täielikuks. Järgmine etapp on disain ja arhitektuur, mis tegeleb koodi uuesti töötlemisega sama programmeerijate komplekti poolt. Selle etapi lõpus esitatakse sidusrühmadele mittetäielik (kuid toimiv) toode. Kohe pärast seda algab järgmine etapp (mis keskendub järgmisele kõige olulisemate funktsioonide komplektile).
Mis vahe on äärmuslikul programmeerimisel ja SCRUMil?
Extreme Programming ja SCRUM on arusaadavalt väga sarnased ja joondatud metoodikad. Kuid nende kahe meetodi vahel on peent, kuid olulisi erinevusi. SCRUMi spurdid kestavad 2-4 nädalat, samas kui tüüpilised XP kordused on lühemad (kestavad 1-2 nädalat). Tavaliselt ei luba SCRUM-i meeskonnad sprintides muudatusi teha, kuid XP-meeskonnad on iteratsioonide muutuste suhtes veidi paindlikumad. Näiteks pärast sprindi planeerimist jääb selle sprindi üksuste komplekt muutumatuks, kuid funktsiooni, mis pole veel tööle hakanud, saab igal ajal XP-s mõne muu funktsiooniga vahetada. Teine erinevus XP ja SCRUM vahel on see, et XP-s väljatöötatud funktsioonide järjekord on kliendi poolt rangelt prioriseeritud, samas kui SCRUM-i meeskond otsustab üksuste järjekorra (pärast seda, kui SCRUM-i tooteomanik on toote mahajäämuse esmatähtsaks seadnud).
Erinevalt XP-st ei näe SCRUM ette inseneritavasid. Näiteks juhivad XP-d sellised tavad nagu testpõhine arendus (TDD), paaride programmeerimine, refaktoreerimine jne. Kuid mõned arvavad, et enesekorralduslike meeskondade praktikakomplekti volitamine võib avaldada negatiivset mõju ja seda võib kaaluda XP puudus. Extreme programmeerimise teine puudus on see, et kogenematud meeskonnad võivad kalduda refrakteerima ilma automatiseeritud testide või TDD-deta (või lihtsalt häkkimata). Seetõttu arvavad mõned, et SCRUM on parem vahtimiseks (kuna see toob suuri edusamme lihtsalt fokusseeritud ajataldrikute kaudu) ja XP sobib kergelt küpsetele meeskondadele, kes on avastanud ülalnimetatud tavade väärtuse (selle asemel, et neid kasutada, sest neil on palutud seda teha).
Soovitatav:
Anaconda Ja Pythoni Programmeerimise Erinevus
Peamine erinevus Anaconda ja Pythoni programmeerimise vahel on see, et Anaconda on andmeteaduse Pythoni ja R programmeerimiskeele jaotus
Objektiivse Programmeerimise Ja Protseduurilise Programmeerimise Erinevus
Objektorienteeritud programmeerimine vs protseduuriline programmeerimine Object Oriented Programming (OOP) ja protseduuriline programmeerimine on kaks programmeerimisparadigmat. Programm
Erinevus Struktureeritud Ja Struktureerimata Programmeerimise Vahel
Põhierinevus - struktureeritud vs struktureerimata programmeerimine Arvutiprogramm on juhiste kogum arvutile ülesande täitmiseks, mis on kirjutatud
Deklaratiivse Ja Imperatiivse Programmeerimise Erinevus
Peamine erinevus - deklaratiivne vs kohustuslik programmeerimine Deklaratiivne ja imperatiivne programmeerimine on kaks tavalist programmeerimisparadigmat. Peamine erinevus olgu
Erinevus Funktsionaalse Programmeerimise Ja Kohustusliku Programmeerimise Vahel
Peamine erinevus - funktsionaalne programmeerimine vs kohustuslik programmeerimine Funktsionaalse programmeerimise ja imperatiivse programmeerimise peamine erinevus on see, et th