Agile metodoloģija: nozīme, priekšrocības, trūkumi un daudz kas cits
Vienmēr vēlējies uzzināt, kas ir programmatūras izstrādes veiklā metodoloģija? Apskatiet šeit, lai iegūtu sīkāku informāciju.

Agile metodoloģija ir programmatūras izstrādes filozofija, kuras mērķis ir nodrošināt klientiem labāku vērtību, izmantojot īsākus izstrādes ciklus, vienlaikus iekļaujot pastāvīgas pārskatīšanas.
Programmatūras izstrāde izauga no matemātikas un zinātnes jomām. Tātad, tas sākotnēji ietvēra zinātniskās metodes no šīm jomām.
Šīs metodes attīstījās par ūdenskrituma pieeju 1970. gados, lai apmierinātu mūsdienu prasības. Datori un to programmatūra tajos laikos bija lieli, sarežģīti un paredzēti, lai kalpotu gadu desmitiem. Tātad ūdenskrituma metode bija piemērota.
Taču 1990. gadu beigās internets krasi mainīja pasauli, un kļuva nepieciešama jauna pieeja. Tā veiklā metodika atdzīvojās.
Tālāk ir sniegts sīkāks ieskats šajā programmatūras izstrādes kustībā un kā tā var palīdzēt jums un jūsu komandai.
Agile attīstības metodes vēsture
Agile programmatūras izstrāde izauga no interneta un tā neremdināmās vajadzības pēc lietojumprogrammām 1990. gadu un 2000. gadu sākuma uzplaukuma gados.
Tas bija arī periods, kad daudzi izstrādātāji bez datorzinātņu pieredzes pārgāja uz tīmekļa izstrādi, jo bija ļoti vajadzīgas tīmekļa vietnes, kas būtu piemērotas dažādām grupām un nozarēm.
Protams, lielākā daļa jaunuzņēmumu bija mazi. Tātad lielākā daļa notikumu notika mazās komandās, un galvenais mērķis bieži vien bija ātrs laišana tirgū. Kavēšanās nozīmēja tirgus daļas zaudēšanu.
Lai novērstu ierobežojumus, ko ūdenskrituma modelis radīja produktu pēc iespējas ātrākai nonākšanai tirgū, 1990. gados dažādi izstrādātāji nāca klajā ar dažādām metodēm. Tajos ietilpst Rapid Application Development (RAD), Scrum, Extreme Programming (XP), Kanban un citi.
Pēc tam, kaut kad 2001. gadā, 17 izstrādātāji, kuri praktizēja vienu vai otru agrīnas elastīgas izstrādes veidu, sanāca kopā Jūtā, ASV. Pēc tam viņi beidza savu tikšanos, publicējot “Manifestu par veiklu programmatūras attīstību”.
Šis manifests ir balstīts uz 4 vērtībām un 12 principiem.
Agile attīstības 4 vērtības un 12 principi
No tikšanās laikā gūtās pieredzes 17 izstrādātāji panāca vienošanos par vērtību kopumu, lai efektīvāk izveidotu programmatūru.
Šīs četras vērtības ir šādas:
- Indivīdi un mijiedarbība pār procesiem un darbarīki. Tas nozīmē, ka programmatūras izstrāde ar rīkiem, vienlaikus ievērojot konkrētu procesu, ir svarīga. Taču svarīgāk ir panākt, lai kompetenti cilvēki strādātu efektīvāk.
- Darba programmatūra vairāk nekā visaptveroša dokumentācija. Šis uzbrūk ūdenskrituma metodei, vispirms izstrādājot programmatūru un rakstot tai dokumentāciju pirms faktiskā programmatūras izstrādes procesa.
- Klientu sadarbība pārrunām par līgumu. Tikai cieši sadarbojoties ar klientu vai lietotāju, jūs varat uzzināt un attīstīt tieši to, kas klientam nepieciešams. Tas rada lielāku vērtību.
- Reaģējot uz pārmaiņām pēc plāna. Ir svarīgi ievērot projekta plānu. Taču plāns nedrīkst būt pārāk stingrs. Tai ir jāpielāgojas izmaiņām, lai tās atbilstu ieinteresēto personu cerībām.
Šīs iepriekš minētās Agile Manifesta vērtības ir balstītas uz 12 principiem, un tās ir šādas:
- Klientu apmierinātība ar agrīnu un nepārtrauktu vērtīgas programmatūras piegādi.
- Laipni lūdzam mainīgās prasības, pat vēlīnā izstrādes posmā.
- Bieži piegādājiet strādājošu programmatūru (nedēļas, nevis mēnešus)
- Cieša, ikdienas sadarbība starp biznesa cilvēkiem un izstrādātājiem
- Projekti tiek veidoti ap motivētām personām, kurām vajadzētu uzticēties
- Aci pret aci saruna ir labākais saziņas veids (līdzās atrašanās vieta)
- Darba programmatūra ir galvenais progresa mērs
- Ilgtspējīga attīstība, spēj uzturēt nemainīgu tempu
- Nepārtraukta uzmanība tehniskajai izcilībai un labam dizainam
- Vienkāršība — māksla maksimāli palielināt nepadarītā darba apjomu — ir būtiska
- Labākās arhitektūras, prasības un dizaini rodas no pašorganizējošām komandām
- Regulāri komanda pārdomā, kā kļūt efektīvākai, un attiecīgi pielāgojas
Iterācijas vai sprints
Iterācijas jeb sprints veiklā programmatūras izstrādē ir īsi periodi, parasti no 1 līdz 4 nedēļām, kuros izstrādes darbs tiek sadalīts. Tas padara lietas vieglāk pārvaldāmas, jo tas prasa mazāk plānošanas.
Katrā komandā parasti ir arī dalībnieki ar dažādām funkcijām, un tie var ietvert plānošanu, analīzi, dizainu, kodēšanu un testēšanu.
Komanda kopā strādā pie programmatūras katrā iterācijā vai sprintā. Un beigās viņi ražo darba produktu. Saskaņā ar Agile Manifesto šī darba programmatūra ir patiesa progresa mēraukla.
Atkarībā no produkta un klienta vajadzībām iterācijas produkts var tikt laists tirgū vai nē. Tāpēc vienam laidienam bieži ir nepieciešamas daudzas iterācijas.
Agile attīstības priekšrocības
Kā jau varat iedomāties, veiklā metodika sniedz daudzas priekšrocības. Tie ir šādi:
- Ātrāka ideju īstenošana
- Lielāka elastība nekā ūdenskrituma pieeja
- Uzlabota produktivitāte ar pārvaldītām iterācijām
- Labāki produkti, pateicoties lietotāja mijiedarbībai
- Kļūdas tiek ātri identificētas un novērstas
Agile metodoloģijas trūkumi
Strādājot ar veiklu izstrādes metodi, ir arī daži trūkumi. Un tie var ietvert:
- Sākumā var būt grūti novērtēt visas izmaksas
- Tam nepieciešams liels klientu ieguldījums
- Ietver daudz neplānotu darbu
- Nav skaidri noteikta projekta beigas
Kad izmantot Agile metodes
- Ja nevarat novērtēt programmatūrai nepieciešamo
- Jums ir pietiekami daudz piekļuves klientiem
- Jūs izstrādājat tīmekļa lietotni vai viegli atjaunināmu sistēmu
- Ar agrīnu izlaišanu jums ātri jāiegūst tirgus daļa
Populāri Agile izstrādes ietvari
Ir daudz populāru veiklu izstrādes ietvaru. Daži no tiem sākās krietni pirms 2001. gada Agile Manifesta, bet citi parādījās vēlāk.
Ietvara mērķis ir vienkārši definēt metodes noteikumus. Tātad, lai gan populārākie ietvari ir norādīti tālāk jūsu uzziņai, ir daudz vairāk. Varat arī brīvi izveidot savu vai modificēt esošu ietvaru, lai tas atbilstu savai komandai.
- Scrum: šis ietvars ir paredzēts komandām, kurās ir 10 vai mazāk dalībnieku. Darbs tiek sadalīts 2–4 nedēļu sprintos ar ikdienas 15 minūšu sanāksmēm.
- Kanban: cēlies no Toyota, Kanban ir japāņu vārds, kas nozīmē stendu un ir ļoti noderīgs komandām, kuras novērtē vizuālos palīglīdzekļus. Uzdevumi tiek pārvietoti no viena posma uz otru, izmantojot vizuālus attēlojumus, piemēram, līmlapiņas vai lietotnes.
- Ātrās lietojumprogrammu izstrādes RAD: Šī frāze var attiekties gan uz veiklu programmatūras izstrādi kopumā, gan uz Džeimsa Mārtina metodi. RAD koncentrējas uz lietotāja interfeisa prasībām un lielā mērā paļaujas uz prototipu izstrādi.
- Lean Startup: Šī sistēma ir paredzēta tiem, kam ir jāizstrādā produkts vai pakalpojums, bet vispirms ir jānosaka tā dzīvotspēja tirgū. Tas ietver eksperimentu izmantošanu, lai noskaidrotu, kas darbojas un kas ne.
Citas ievērojamas sistēmas ietver Extreme Programming (XP), Adaptive Software Development, Agile Modeling, Dynamic Systems Development Method un Scaled Agile Framework.
Agile vs Waterfall metodikas
Šeit ir sniegts paralēlais ieskats programmatūras izstrādes veiklajām un ūdenskrituma metodēm. Tas var palīdzēt uzzināt, kā katra metode ir pretrunā ar otru. Tātad jūs varat viegli izvēlēties savam darbam labākos rīkus.
| veikls | Ūdenskritums |
|---|---|
| Inkrementāla un iteratīva pieeja | Lineārais un secīgais dzīves cikla modelis |
| Elastīgi maināms | Stingras realizācijas |
| Pārbaudes un apskati turpinās | Pēc pabeigšanas ir tikai viens testēšanas posms |
| Prasības var mainīties | Prasības tiek noteiktas pēc plānošanas |
| Daudzu mazāku projektu kolekcija | Viens vienīgs projekts |
| Lielāka klientu iesaiste | Mazāka klientu iesaiste |
Adaptīvā vs paredzamā attīstība
Agile programmatūras izstrādes mērķis ir pielāgoties pārmaiņām reālajā pasaulē. Un tās bieži vien ir klienta vai lietotāja vajadzību rezultāts. Adaptācija ir pilnīgā pretrunā ar ūdenskrituma modeļa paredzamo raksturu.
Tad ir jēga izmantot elastīgas metodes, izstrādājot sistēmas, par kurām neesat tik pārliecināts, kā viss izvērtīsies. Vai arī tad, kad nozarē notiek pastāvīgas pārmaiņas un attīstība. Internets ir liels piemērs.
Citādi, ja izstrādājat sistēmu vai tirgu, par kuru zināt visu un kas gandrīz nemainās vai ir imūna pret izmaiņām. Tad varētu noderēt ūdenskrituma filozofijas paredzošais raksturs.
Programmatūras meistarība
Programmatūras meistarība ir vēl viena filozofija, kas balstās uz elastīgiem izstrādes principiem un koncentrējas uz projektā iesaistīto programmatūras izstrādātāju prasmju uzsvēršanu.
Programmatūras meistarības kustībai ir arī manifests, un tajā teikts:
Kā topošie programmatūras amatnieki mēs paaugstinām profesionālās programmatūras izstrādes latiņu, praktizējot to un palīdzot citiem apgūt šo amatu. Pateicoties šim darbam, mēs esam sapratuši: · ne tikai strādājošu programmatūru, bet arī labi izstrādātu programmatūru · ne tikai reaģēt uz pārmaiņām, bet arī nepārtrauktu pievienoto vērtību · ne tikai indivīdus un mijiedarbību, bet arī profesionāļu kopienu · ne tikai sadarbību ar klientiem, bet arī produktīvas partnerattiecības. Tas nozīmē, ka, meklējot kreisajā pusē esošos vienumus, esam atklājuši, ka preces labajā pusē ir neaizstājamas. © 2009, apakšā parakstījies. Šo paziņojumu var brīvi kopēt jebkurā formā, bet tikai pilnībā, izmantojot šo paziņojumu
Secinājumi
Beidzoties mūsu veiklās metodoloģijas un programmatūras izstrādes apskatam, jūs varat redzēt, ka ir tik daudz iespēju.
Katra komanda ir atšķirīga. Un tāpat kā dažādas komandas izstrādāja dažādas metodes, lai pielāgotos mainīgajiem laikiem. Arī jums būs jāpielāgojas, izmantojot jau izveidotu sistēmu vai pielāgojot to savai komandai.





