Agiilne metoodika: tähendus, eelised, puudused ja palju muud

Tahtsite alati teada, mis on tarkvaraarenduse agiilne metoodika? Üksikasjade saamiseks vaadake siin lähemalt.

Agiilne metoodika on tarkvaraarenduse filosoofia, mille eesmärk on pakkuda klientidele paremat väärtust, kasutades lühemaid arendustsükleid, kaasates samal ajal pidevaid muudatusi.

Tarkvaraarendus kasvas välja matemaatika ja loodusteaduste valdkondadest. Niisiis, see hõlmas algselt nende valdkondade teaduslikke meetodeid.

Need meetodid arenesid 1970. aastatel välja kosepõhiseks lähenemisviisiks, et rahuldada tänapäeva nõudeid. Arvutid ja nende tarkvara olid neil aegadel suured, keerulised ja kavandatud kestma aastakümneid. Nii et juga meetod sobis hästi.

Kuid 1990. aastate lõpuks muutis Internet maailma dramaatiliselt ja vaja oli uut lähenemist. Nii sai agiilne metoodika ellu.

Järgnevalt vaatleme lähemalt seda tarkvaraarenduse liikumist ja seda, kuidas see saab teid ja teie meeskonda aidata.

Agiilse arendusmeetodi ajalugu

Agiilne tarkvaraarendus kasvas välja Internetist ja selle rahuldamatust vajadusest rakenduste järele 1990ndate ja 2000ndate alguse buumiaastatel.

See oli ka periood, mil paljud arvutiteaduse taustata arendajad läksid üle veebiarendusele, kuna tekkis tohutu vajadus erinevatele rühmadele ja tööstusharudele mõeldud veebisaitide järele.

Loomulikult olid enamik alustavatest ettevõtetest väikesed. Seega toimus enamik arenguid väikestes meeskondades, mille lõppeesmärk oli sageli kiire turule jõudmine. Hilinemine tähendas turuosa kaotamist.

Et võidelda piirangutega, mida kose mudel seadis toodete võimalikult kiirele turule toomisele, pakkusid erinevad arendajad 1990. aastatel välja erinevaid meetodeid. Nende hulka kuuluvad Rapid Application Development (RAD), Scrum, Extreme Programming (XP), Kanban ja teised.

Seejärel, millalgi 2001. aastal, tuli USA-s Utahis kokku 17 arendajat, kes harjutasid üht või teist varajase agiilse arenduse vormi. Seejärel lõpetasid nad oma kohtumise, avaldades Agiilse tarkvaraarenduse manifesti.

See manifest põhineb 4 väärtusel ja 12 põhimõttel.

Agiilse arengu 4 väärtust ja 12 põhimõtet

Kohtumisel saadud kogemuste põhjal jõudsid 17 arendajat kokkuleppele väärtuste kogumi osas, et tarkvara tõhusamalt luua.

Need neli väärtust on järgmised:

  1. Isikud ja suhtlus protsesside üle ja töövahendid. See tähendab, et tarkvara arendamine tööriistadega konkreetset protsessi järgides on oluline. Kuid olulisem on pädevate inimeste tõhusam koostöö.

  2. Töötav tarkvara üle põhjaliku dokumentatsiooni. See ründab kosemeetodit, mille kohaselt kavandatakse esmalt tarkvara ja kirjutatakse selle jaoks dokumentatsioon enne tegelikku tarkvaraarenduse protsessi.

  3. Kliendi koostöö lepingu läbirääkimiste üle. Ainult kliendi või kasutajaga tihedat koostööd tehes saate õppida ja arendada täpselt seda, mida klient vajab. See loob rohkem väärtust.

  4. Muutusele reageerimine plaani järgides. Projektiplaani järgimine on oluline. Kuid plaan ei tohi olla liiga jäik. See peab kohandama muudatusi, et vastata sidusrühmade ootustele.

Need ülaltoodud Agile Manifesti väärtused põhinevad 12 põhimõttel ja need on järgmised:

  1. Klientide rahulolu väärtusliku tarkvara varajase ja pideva tarnimisega.
  2. Tere tulemast muutuvatele nõuetele, isegi hilises arenduses.
  3. Tarnige töötavat tarkvara sageli (pigem nädalaid kui kuid)
  4. Tihe igapäevane koostöö äriinimeste ja arendajate vahel
  5. Projektid on üles ehitatud motiveeritud isikute ümber, keda tuleks usaldada
  6. Näost näkku vestlus on parim suhtlusvorm (kaaspaiknemine)
  7. Töötav tarkvara on edusammude peamine mõõdupuu
  8. Jätkusuutlik areng, suudab hoida pidevat tempot
  9. Pidev tähelepanu tehnilisele tipptasemele ja heale disainile
  10. Lihtsus – tegemata töö mahu maksimeerimise kunst – on hädavajalik
  11. Parimad arhitektuurid, nõuded ja kujundused tekivad iseorganiseeruvatel meeskondadel
  12. Meeskond mõtiskleb regulaarselt selle üle, kuidas tulemuslikumaks saada ja kohandab end vastavalt

Iteratsioonid või sprindid

Agiilse tarkvaraarenduse iteratsioonid või spurdid on lühikesed perioodid, tavaliselt 1–4 nädalat, millesse arendustöö katkeb. See muudab asjade haldamise lihtsamaks, kuna nõuab vähem planeerimist.

Iga meeskond koosneb tavaliselt ka erinevate funktsioonidega liikmetest ja need võivad hõlmata planeerimist, analüüsi, disaini, kodeerimist ja testimist.

Meeskond töötab tarkvara kallal igal iteratsioonil või sprindil koos. Ja nad toodavad lõpuks töötavat toodet. Agile Manifesti kohaselt on see töötav tarkvara tõelise edu mõõt.

Olenevalt tootest ja kliendi vajadustest võidakse iteratsiooni toode turule lasta või mitte. Seega kulub ühe väljalaske jaoks sageli palju iteratsioone.

Agiilse arenduse eelised

Nagu võite arvata, on agiilsel metoodikal palju eeliseid. Need on järgmised:

  1. Ideede kiirem elluviimine
  2. Rohkem paindlikkust kui juga lähenemine
  3. Parem tootlikkus hallatavate iteratsioonidega
  4. Paremad tooted kasutajate suhtluse kaudu
  5. Vead tuvastatakse ja kõrvaldatakse kiiresti

Agiilse metoodika miinused

Agiilse arendusmeetodiga töötamisel on ka mõned puudused. Ja need võivad sisaldada:

  1. Alguses võib olla raske hinnata kogukulusid
  2. See vajab palju klientide panust
  3. See hõlmab palju planeerimata tööd
  4. Puudub selgelt määratletud projekti lõpp

Millal kasutada agiilseid meetodeid

  1. Kui te ei oska hinnata, mida tarkvara nõuab
  2. Teil on piisavalt juurdepääsu klientidele
  3. Arendate veebirakendust või lihtsalt värskendatavat süsteemi
  4. Varajase väljalaskega peate kiiresti turuosa hõivama

Populaarsed Agile'i arendusraamistikud

Populaarseid agiilseid arendusraamistikke on palju. Mõned said alguse juba enne 2001. aasta Agile Manifesti, teised aga hiljem.

Raamistiku eesmärk on lihtsalt määratleda meetodi reeglid. Ehkki kõige populaarsemad raamistikud on teie jaoks allpool loetletud, on neid palju rohkem. Samuti võite vabalt luua oma või muuta olemasolevat raamistikku, et see sobiks teie meeskonnaga.

  1. Palli mängupanek: see raamistik on mõeldud 10 või vähema liikmega meeskondadele. Töö on jaotatud 2-4 nädala pikkusteks sprintideks koos igapäevaste 15-minutiliste koosolekutega.

  2. Kanban: Toyota päritolu Kanban on jaapani sõna, mis tähendab stendi ja on väga abiks meeskondadele, kes hindavad visuaalseid abivahendeid. Ülesandeid teisaldatakse ühest etapist teise, kasutades visuaalseid esitusi, nagu kleepmärkmed või rakendused.

  3. Kiire rakenduste arendus RAD: See fraas võib viidata nii agiilsele tarkvaraarendusele üldiselt kui ka James Martini meetodile. RAD keskendub kasutajaliidese nõuetele ja tugineb suuresti prototüüpimisele.

  4. Lean Startup: see raamistik on mõeldud neile, kes peavad toote või teenuse välja töötama, kuid esmalt peavad kindlaks tegema selle elujõulisuse turul. See hõlmab katsetamist, et näha, mis töötab ja mis mitte.

Teiste tähelepanuväärsete raamistike hulka kuuluvad äärmuslik programmeerimine (XP), adaptiivne tarkvaraarendus, agiilne modelleerimine, dünaamiliste süsteemide arendusmeetod ja skaleeritud agiilne raamistik.

Agile vs Waterfall metoodikad

Siin on kõrvuti ülevaade tarkvara arendamise agiilsetest ja kogameetoditest. See võib aidata teada, kuidas kumbki meetod on üksteisega võrreldav. Seega saate hõlpsalt valida oma töö jaoks parimad tööriistad.

VäleJuga
Inkrementaalne ja iteratiivne lähenemineLineaarne ja järjestikune elutsükli mudel
Paindlik vahetadaJäigad teostused
Katsed ja ülevaatused on käimasPärast lõpetamist on ainult üks katseetapp
Nõuded võivad muutudaNõuded fikseeritakse pärast planeerimist
Paljude väiksemate projektide kogumikÜks üksik projekt
Rohkem klientide kaasamistVähem klientide kaasamist

Adaptiivne vs ennustav areng

Agiilse tarkvaraarenduse eesmärk on kohaneda reaalses maailmas toimuvate muutustega. Ja need on sageli tingitud kliendi või kasutaja vajadustest. Kohanemine on teravas vastuolus juga mudeli ennustava olemusega.

Siis on süsteemide arendamisel mõttekas kasutada agiilseid meetodeid, mille puhul pole nii kindel, kuidas asjad välja kukuvad. Või kui tööstuses toimuvad pidevad muutused ja areng. Internet on suur näide.

Muidu, kui arendate süsteemi või turgu, millest teate kõike ja mis peaaegu ei muutu või on muutuste suhtes immuunne. Siis võib abi olla juga filosoofia ennustavast olemusest.

Tarkvara meisterlikkus

Tarkvara käsitöö on veel üks filosoofia, mis põhineb agiilsetel arenduspõhimõtetel ja keskendub projektiga seotud tarkvaraarendajate oskuste rõhutamisele.

Tarkvara meisterdamise liikumisel on ka manifest ja see ütleb:

Püüdlike tarkvarameistritena tõstame professionaalse tarkvaraarenduse latti, harjutades seda ja aidates teistel seda käsitööd õppida. Selle tööga oleme väärtustanud: · mitte ainult töötavat tarkvara, vaid ka hästi välja töötatud tarkvara · mitte ainult muutustele reageerimist, vaid ka pidevat lisandväärtust · mitte ainult üksikisikuid ja suhtlust, vaid ka professionaalide kogukonda · mitte ainult koostööd klientidega, vaid ka produktiivseid partnerlussuhteid. See tähendab, et vasakpoolsete üksuste otsimisel oleme leidnud, et paremal olevad üksused on asendamatud.  © 2009, allakirjutanu. Seda avaldust võib vabalt kopeerida mis tahes kujul, kuid ainult tervikuna käesoleva teate kaudu

Järeldus

Agiilse metoodika ja tarkvaraarenduse ülevaate lõpus näete, et seal on nii palju võimalusi.

Iga meeskond on erinev. Ja samamoodi nagu erinevad meeskonnad töötasid välja oma erinevad meetodid muutuvate aegade kohanemiseks. Ka teie peate kohanema, kasutades juba väljakujunenud raamistikku või kohandades seda oma meeskonnaga sobivaks.

Nnamdi Okeke

Nnamdi Okeke

Nnamdi Okeke on arvutihuviline, kes armastab lugeda mitmesuguseid raamatuid. Ta eelistab Linuxit Windowsile/Macile ja on seda kasutanud
Ubuntu selle algusaegadest peale. Saate teda Twitteris tabada bongotrax

Artiklid: 298

Võtke vastu tehnilisi asju

Tehnilised suundumused, käivitamistrendid, ülevaated, veebisissetulek, veebitööriistad ja turundus üks või kaks korda kuus