Ero äärimmäisen Ohjelmoinnin Ja SCRUM: N Välillä

Ero äärimmäisen Ohjelmoinnin Ja SCRUM: N Välillä
Ero äärimmäisen Ohjelmoinnin Ja SCRUM: N Välillä

Video: Ero äärimmäisen Ohjelmoinnin Ja SCRUM: N Välillä

Video: Ero äärimmäisen Ohjelmoinnin Ja SCRUM: N Välillä
Video: Agile и Scrum на пальцах / О ГИБКИХ методологиях разработки ПО понятным языком 2024, Maaliskuu
Anonim

Äärimmäinen ohjelmointi vs SCRUM | XP vs. SCRUM

Ohjelmistoteollisuudessa on vuosien varrella käytetty useita erilaisia ohjelmistokehitysmenetelmiä, kuten vesiputouskehitysmenetelmä, V-malli, RUP ja muutama muu lineaarinen, iteratiivinen ja yhdistetty lineaarinen-iteratiivinen menetelmä. Ketterä malli (tai tarkemmin sanottuna ryhmä metodologioita) on uudempi ohjelmistokehitysmalli, jonka Agile-manifesti esitteli puuttuakseen perinteisissä ohjelmistokehitysmenetelmissä havaittuihin puutteisiin.

Ketterät menetelmät perustuvat iteratiiviseen kehittämiseen ja käyttävät käyttäjien palautetta pääohjausmekanismina. Ketterää voidaan kutsua ihmiskeskeiseksi lähestymistavaksi kuin perinteisiä menetelmiä. Ketterä malli toimittaa toimivan version tuotteesta hyvin varhaisessa vaiheessa jakamalla järjestelmän hyvin pieniin ja hallittaviin osiin, jotta asiakas voi ymmärtää joitain etuja jo varhaisessa vaiheessa. Ketterän testausjakson aika on suhteellisen lyhyt verrattuna perinteisiin menetelmiin, koska testaus tapahtuu kehityksen rinnalla. Kaikkien näiden etujen takia ketterät menetelmät ovat tällä hetkellä suositumpia kuin perinteiset menetelmät. Scrum- ja Extreme-ohjelmointi ovat kaksi ketterimpiä menetelmiä.

Mikä on SCRUM?

Kuten edellä mainittiin, SCRUM on inkrementaalinen ja iteratiivinen projektinhallintaprosessi, joka kuuluu ketterien menetelmien perheeseen. SCRUM perustuu asiakkaiden osallistumisen korostamiseen etusijalla kehitysvaiheen alussa. Se suosittelee asiakkaan suorittaman testauksen sisällyttämistä varhaisessa vaiheessa ja mahdollisimman usein. Testaus tehdään jokaisessa vaiheessa, kun vakaa versio tulee saataville. SCRUMin perusta perustuu testauksen aloittamiseen projektin alusta ja jatkamiseen projektin loppuun saakka.

SCRUMin keskeinen arvo on "laatu on tiimin vastuu", mikä korostaa, että ohjelmiston laatu on koko tiimin (ei vain testausryhmän) vastuulla. Toinen tärkeä SCRUM-osa on ohjelmiston jakaminen pienempiin hallittaviin osiin ja niiden toimittaminen asiakkaalle erittäin nopeasti. Toimivan tuotteen toimittaminen on äärimmäisen tärkeää. Sitten tiimi jatkaa ohjelmistojen parantamista ja toimitusta jatkuvasti jokaisessa suuressa vaiheessa. Tämä saavutetaan saamalla erittäin lyhyet vapautussyklit (kutsutaan sprinteiksi) ja saamalla palautetta parannukseksi jokaisen syklin lopussa.

SCRUM määrittelee useita avainrooleja kehitystiimin sujuvalle toiminnalle. He ovat Tuotteen omistaja (joka edustaa asiakasta ja ylläpitää tuotevirhettä), Scrum-päällikkö (joka toimii tiimin järjestäjänä ja koordinaattorina suorittamalla scrum-kokouksia, ylläpitämällä sprinttilaus- ja polttokaavioita) ja muut tiimin jäsenet. Joukkue voi koostua perinteisistä rooleista, mutta enimmäkseen he ovat itsehallintaryhmiä. Tärkeimmät Scrum-artefaktit ovat tuoteraportti / julkaisuraportti (toivelista), Sprint-lokit / vikaraportit (tehtävät jokaisessa iteraatiossa), polttokaaviot (työ jäljellä vs. päiväys). Tärkeimmät SCRUM-seremoniat ovat Product Backlog -tapaaminen, Sprint-kokous ja Retrospect-kokous.

Mikä on äärimmäinen ohjelmointi?

Extreme Programming (lyhennetty XP) on ohjelmistokehitysmenetelmä, joka kuuluu ketterään malliin. Äärimmäinen ohjelmointi suorittaa vaiheet hyvin pieninä jatkuvina vaiheina (verrattuna perinteisiin menetelmiin). Ensimmäinen päivä, joka kestää vain päivän tai viikon, on tarkoituksellisesti puutteellinen. Konkreettisten tavoitteiden tarjoamiseksi ohjelmiston kehittämiselle kirjoitetaan alkuun automaattiset testit. Sitten kehittäjät tekevät koodauksen. Painopiste on ohjelmoinnissa pareittain. Kun kaikki testit ovat läpäisseet, koodaus katsotaan täydelliseksi. Seuraava vaihe on suunnittelu ja arkkitehtuuri, joka käsittelee koodin uudelleenmuokkaamista samoilla ohjelmoijilla. Tämän vaiheen lopussa epätäydellinen (mutta toimiva) tuote esitetään sidosryhmille. Heti tämän jälkeen alkaa seuraava vaihe (joka keskittyy seuraavaan tärkeimpiin ominaisuuksiin).

Mitä eroa on Extreme Programming ja SCRUM välillä?

Äärimmäinen ohjelmointi ja SCRUM ovat ymmärrettävästi hyvin samanlaisia ja yhdenmukaisia menetelmiä. Näiden kahden menetelmän välillä on kuitenkin hienovaraisia, mutta tärkeitä eroja. SCRUM-sprintit kestävät 2-4 viikkoa, kun taas tyypilliset XP-iteraatiot ovat lyhyempiä (viimeiset 1-2 viikkoa). Yleensä SCRUM-tiimit eivät salli muutoksia sprintteihin, mutta XP-tiimit ovat vähän joustavampia iteraatioiden muutoksiin. Esimerkiksi sprinttisuunnittelun jälkeen kyseisen sprintin kohteiden joukko pysyy muuttumattomana, mutta ominaisuus, jolla ei ole vielä aloitettu, voidaan milloin tahansa vaihtaa jonkin muun XP: n ominaisuuden kanssa. Toinen ero XP: n ja SCRUM: n välillä on se, että XP: ssä kehitettyjen ominaisuuksien järjestys on asiakkaan ehdottomasti priorisoitu, kun taas SCRUM-tiimi päättää tuotteiden järjestyksen (sen jälkeen kun SCRUM: n Tuotteen omistaja on asettanut tuotevirran etusijalle).

Toisin kuin XP, SCRUM ei aseta mitään teknisiä käytäntöjä. Esimerkiksi XP: tä ohjaavat käytännöt, kuten testilähtöinen kehitys (TDD), parien ohjelmointi, uudelleenrakentaminen jne. Jotkut kuitenkin uskovat, että käytäntöjen määrääminen itseorganisoituville ryhmille voi vaikuttaa kielteisesti, ja tätä voidaan pitää XP: n puute. Toinen Extreme-ohjelmoinnin puute on se, että kokematon joukkue voi taipua refraktoimaan ilman automaattisia testejä tai TDD: tä (tai vain hakkerointia). Siksi jotkut ehdottavat, että SCRUM on parempi tuijottamiseen (koska se tuo suuria parannuksia yksinkertaisesti kohdennettujen aikarajoitettujen iteraatioiden avulla) ja XP sopii hieman kypsille joukkueille, jotka ovat löytäneet yllä mainittujen käytäntöjen arvon (sen sijaan, että käyttäisivät niitä, koska heitä on pyydetty tehdä niin).

Suositeltava: