Agiilne mudel tarkvaratehnikas
Mis on agiilne mudel?
Agiilne mudel on tarkvaraarenduse järkjärguline ja iteratiivne protsess. See määrab eelnevalt iga iteratsiooni arvu, kestuse ja ulatuse. Iga iteratsiooni peetakse Agile protsessimudelis lühikeseks "kaadriks", mis kestab enamasti kaks kuni neli nädalat.
Agile Model jagab ülesanded ajakastideks, et pakkuda väljalaske jaoks spetsiifilisi funktsioone. Iga järg on funktsionaalsuse osas järkjärguline, kusjuures lõplik järg sisaldab kõiki atribuute. Kogu projekti jagamine väikesteks osadeks aitab minimeerida projekti riski ja kogu projekti tarneaega.
Millised on olulised Agile Model Manifestid?
Siin on agiilse mudeli oluline manifest:
- Isikud ja suhtlemine on prioriteetsed protsesside ja tööriistade ees.
- Kohanemisvõimeline, võimekas, iseorganiseeruv meeskond.
- Keskendutakse pigem töötavale tarkvarale kui põhjalikule dokumentatsioonile.
- Tarkvaratehnoloogia agiilse mudeli eesmärk on pakkuda klientidele täielikku rahulolu, tarnides kiiresti väärtuslikku tarkvara.
- Tere tulemast nõuete muudatustele, isegi arendusfaasi hilises faasis.
- Igapäevane koostöö ettevõtjate ja arendajate vahel.
- Prioriteet on klientide koostöö lepingu läbirääkimiste ees.
- See võimaldab teil rahuldada kliente varajase ja sagedase kohaletoimetamise kaudu.
- Suurt rõhku pannakse näost näkku suhtlemisele.
- Töötarkvara arendamine on edusammude esmane näitaja.
- Promosäästva arengu tempos.
- Pidevalt keskendutakse tehnilisele tipptasemele ja helikujundusele.
- Meeskond viib korrapäraselt läbi parendusülevaate.
Agiilse mudeli faasid
Siin on Agile'i erinevad faasid:
Siin on SDLC elutsükli Agile Model protsessi olulised etapid:
- Nõuded kogunemine: Selles Agile mudeli etapis peate määratlema nõuded. Arutada tuleks ka ärivõimalusi ning projekti jaoks kuluvat aega ja vaeva. Seda teavet analüüsides saate kindlaks teha süsteemi majandusliku ja tehnilise teostatavuse.
- Kujundage nõuded: Pärast teostatavusuuringut saate nõuete määratlemiseks sidusrühmadega koostööd teha. UFD diagrammi või kõrgetasemelise UML-diagrammi abil saate määrata, kuidas uus süsteem teie olemasolevasse tarkvarasüsteemi integreeritakse.
- Arendus/iteratsioon: Tegelik töö algab selles etapis pärast seda, kui tarkvaraarenduse meeskond määratleb ja kujundab nõuded. Tööd alustavad toote-, disaini- ja arendusmeeskonnad ning toode läbib erinevaid täiustamisetappe, kasutades lihtsat ja minimaalset funktsionaalsust.
- Test: Agiilse mudeli see etapp hõlmab testimismeeskonda. Näiteks kontrollib kvaliteeditagamise meeskond selles etapis süsteemi jõudlust ja teatab vigadest.
- Kasutamine: Selles etapis antakse esialgne toode kasutajale välja.
- Tagasiside: Pärast toote väljalaskmist on Agile Modeli viimane samm tagasiside. Selles faasis saab meeskond toote kohta tagasisidet ja töötab saadud tagasiside põhjal vigade parandamisega.
Võrreldes Waterfalliga on Agile tsüklid lühikesed. Selliseid tsükleid võib projektis olla palju. Faase korratakse kuni toote tarnimiseni.
Agiilsuse tüübid
Siin on mõned olulised paindlikud tüübid:
Scrum: See agiilne meetod keskendub eelkõige ülesannete juhtimisele meeskonnapõhistes arendustingimustes. Aastal Scrum Agile mudel, peaks meeskond rangelt järgima igaühe tööplaani Sprint. Lisaks on seda tüüpi projektides osalevatel inimestel eelnevalt määratletud rollid.
Kristall: Crystal metoodika kasutamine on üks lihtsamaid ja paindlikumaid lähenemisviise tarkvara arendamiseks, tunnistades, et igal projektil on ainulaadsed omadused. Seetõttu tuleb poliitikad ja tavad neile sobivaks kohandada.
Kristallimeetodid liigitatakse järgmiselt:
- TÜHJENDA: Kasutaja väikeste ja madalate kriitiliste pingutuste jaoks.
- APELSIN: Kasutaja mõõdukalt suuremate ja kriitiliste projektide jaoks.
- ORANGE VEEB: Tavaliselt elektrooniline äri
Dünaamiline tarkvaraarendusmeetod (DSDM): See kiirrakenduste arendamise (RAD) lähenemisviis hõlmab kasutajate aktiivset kaasamist ja meeskonnad on volitatud tegema otsuseid, mille eesmärk on toodete sagedane tarnimine.
Funktsioonipõhine arendus (FDD): See agiilne meetod keskendub "projekteerimise ja ehitamise" funktsioonidele. See on jagatud mitmeks lühikeseks tööfaasiks, mis tuleb iga funktsiooni jaoks eraldi läbi viia. See hõlmab domeeni läbivaatust, disaini kontrolli, koodi kontrolli jne.
Lean tarkvaraarendus: See metoodika põhineb "just-in-time tootmise" põhimõttel. See aitab suurendada tarkvaraarenduse kiirust ja vähendada kulusid.
Lean arengumudeli tulemusena kaotatakse raiskamine, võimendatakse õppimist, saavutatakse varajane kohaletoimetamine ja ehitatakse terviklikkust.
Äärmuslik programmeerimine (XP): Äärmuslik programmeerimine on kasulik Agile mudel, kui klientide nõudmised või nõudmised muutuvad pidevalt. Seda kasutatakse ka siis, kui pole süsteemi funktsionaalsuses kindel.
Millal Agile mudelit kasutada?
Siin on levinumad stsenaariumid, kus Agile meetodit kasutatakse.
- Seda kasutatakse siis, kui on vaja teha sagedasi muudatusi.
- Madala regulatsiooniga projektid
- Projektid ei ole väga range olemasoleva protsessiga
- Projektid, kus tooteomanik on hästi ligipääsetav
- Paindliku ajakava ja eelarvega projektid
Agiilse mudeli eelised
Siin on mõned Agile mudeli üldised plussid/eelised:
- Suhtlemine klientidega on üks-ühele.
- Pakub väga realistlikku lähenemist tarkvaraarendusele
- Tarkvaratehnika agiilne mudel võimaldab koostada tõhusaid kavandeid ja vastata ettevõtte vajadustele.
- Töötava tarkvara uuendatud versioonid antakse välja igal nädalal.
- See pakub varaseid osalisi töölahendusi.
- Muudatused on igal ajal vastuvõetavad.
- Selle agiilse mudeli abil saate üldist arendusaega lühendada.
- See võimaldab samaaegset arendamist ja tarnimist üldises kavandatud kontekstis.
- Lõpptoode töötatakse välja ja on kasutamiseks saadaval mõne nädala jooksul.
Agiilse mudeli puudused
Siin on mõned Agile mudeli levinumad miinused/miinused:
- Jätkusuutlikkuse, hooldatavuse ja laiendatavuse risk on suurem.
- Mõnes ettevõttes ei pruugi iseorganiseerumine ja intensiivne koostöö nende ettevõtte kultuuriga kokku sobida.
- Dokumentatsioonile ja kujundusele ei pöörata erilist tähelepanu.
- Ilma kliendilt selge teabeta võib arendusmeeskonda eksitada.
- Ei sobi keerukate sõltuvuste käsitlemiseks.
Agiilne mudel vs. Kose mudel
Agile ja Waterfall mudelid on tarkvara arendamise protsessis kaks erinevat meetodit. Vaatamata nende lähenemisviisi erinevustele saab mõnikord kasutada mõlemat metoodikat, olenevalt projektist ja nõuetest.
| Agiilne mudel | Juga mudel |
|---|---|
| Agiilsed metoodikad pakuvad tarkvara kujundamisele järkjärgulisi ja iteratiivseid lähenemisviise | Tarkvaraarendus kulgeb järjestikku alguspunktist lõpp-punktini. |
| Tarkvaratehnika agiilne mudel on jagatud üksikuteks mudeliteks, mille kallal disainerid töötavad | Disainiprotsess ei ole jagatud üksikuteks mudeliteks |
| Kliendil on varakult ja sageli võimalus toodet vaadata ning otsuseid ja muudatusi teha. | Klient saab toodet näha alles projekti lõpus. |
| Agiilset mudelit peetakse kosemudeliga võrreldes struktureerimata | Kose mudelid on turvalisemad, kuna need on plaanile orienteeritud |
| Väikesed projektid saab ellu viia väga kiiresti. Suurte projektide puhul pole arendusaega lihtne hinnata. | Igasuguseid projekte saab hinnata ja lõpule viia. |
| Katseplaan vaadatakse pärast iga Sprint | Testiplaanist katsefaasis peaaegu ei räägita. |
Üksikasjaliku teabe saamiseks vaadake seda linki Agile ja Waterfall mudeli võrdlus.
kokkuvõte
- Agiilne mudel on tarkvaraarenduse järkjärguline ja iteratiivne protsess.
- See keskendub pigem töötavale tarkvarale kui põhjalikule dokumentatsioonile.
- Agiilne mudel on jagatud erinevateks etappideks, nagu 1) nõuete kogumine, 2) nõuete koostamine, 3) arendus/iteratsioon, 4) testimine, 5) juurutamine 6) tagasiside.
- Erinevat tüüpi Agile'i tüübid on: 1) Scrum, 2) Crystal, 3) Dünaamiline tarkvaraarendusmeetod (DSDM): 4) Funktsioonipõhine arendus (FDD), 5) Lean Software Development 6) Extreme Programming (XP).
- Agiilset mudelit kasutatakse siis, kui on vaja teha sagedasi muudatusi.
- See annab väga realistliku lähenemise tarkvaraarendusele
- Sellel mudelil on suurem jätkusuutlikkuse, hooldatavuse ja laiendatavuse risk.
- Tarkvaratestimise agiilsed metoodikad kasutavad tarkvara kujundamisel järkjärgulisi ja iteratiivseid lähenemisviise, samas kui tarkvaraarendus kulgeb järjestikku alguspunktist lõpp-punktini.


