Kuriant judrią programinę įrangą, kuo skiriasi iteracinė ir inkrementinė plėtra? Ar tai tas pats dalykas? Kuo skiriasi šie du žodžiai?
Pirmiausia pažvelkime į paprastus dviejų terminų apibrėžimus:
Inkrementinis - pridedant naujų funkcionalumų mažais gabalėliais
Kartotinis - atliekant pakartotinai, t. y. pridedant naują funkcionalumą pakartotinai arba cikliškai
Nuo Vikipedija :
Pakartotinis vystymasis buvo sukurtas kaip atsakas į krioklio trūkumus ir problemas.
Pagrindinė šio metodo idėja yra sukurti sistemą kartojant ciklus (kartotinius) ir mažesnėmis dalimis vienu metu (palaipsniui), leidžiant programinės įrangos kūrėjams pasinaudoti tuo, ko išmoko kuriant ankstesnes sistemos dalis ar versijas. Mokymasis kuriamas ir naudojant sistemą, kai įmanoma, pagrindiniai proceso žingsniai prasideda paprastu programinės įrangos reikalavimų pogrupio įgyvendinimu ir iteratyviai tobulina besivystančias versijas, kol bus įdiegta visa sistema. Kiekvienoje iteracijoje daromos dizaino modifikacijos ir pridedamos naujos funkcinės galimybės.
Kuriant laipsniškai, sistemos funkcionalumas suskirstomas į dalis (dalis), o kiekvienu žingsniu pateikiama funkcijų dalis.
Bendra idėja yra pateikti vartotojams „veikiančią“ funkcijos versiją (kad ir minimalią), kad proceso pradžioje galėtume gauti atsiliepimų. Palyginkite tai su kelių funkcijų kūrimu keletą mėnesių, kad sužinotumėte, jog tai, kas pastatyta, neatitinka vartotojų poreikių.
Pažiūrėkime, kaip pasikartojantis ir nuoseklus kūrimas ir pristatymas veikia judrioje aplinkoje.
Tarkime, kad norite pridėti naują prisijungimo funkciją prie svetainės ir nusprendėte, kad norite tai sukurti naudodami judrią metodiką, dirbdami per dviejų savaičių pristatymo ciklus (iteracijas).
Pirmasis kartojimas:
minimumas veikianti prisijungimo funkcijų versija, kurią verta pateikti vartotojams
Tai yra pirmoji (veikianti, bet funkcionalumo ribota) programinės įrangos versija, pristatoma kartojant. Ši pagrindinė prisijungimo funkcija buvo suprojektuota, tobulinta ir išbandyta ir pristatyta kartojimo pabaigoje.
Antrasis kartojimas:
Kitoje iteracijoje norime patobulinti prisijungimo funkciją to, kas buvo sukurta paskutinėje iteracijoje. Mes galime nuspręsti tai padaryti
Dabar mes pridėjome naują ir patobulintą esamą funkcionalumą. Kitaip tariant, mes turime padidėjo esamą prisijungimo funkciją ir tai padarėme šioje iteracijoje.
Trečias kartojimas:
Trečioje kartojime mes dar kartą galime padidinti savo prisijungimo funkciją, pridėdami
Kaip matote, kiekvienoje iteracijoje mes padidinome prisijungimo funkciją, pridėdami naujų naudingų funkcijų vartotojams. Tai darydami galime greitai gauti vartotojų atsiliepimų, kad galėtume pridėti ar patobulinti jo funkcionalumą.
Pagal daugybę pakartojimų galiausiai pateikiame visą sprendimą.