Agile metodika: prasmė, pranašumai, trūkumai ir kt

Visada norėjote sužinoti, kas yra agili programinės įrangos kūrimo metodika? Atidžiau pažvelkite čia, kad sužinotumėte išsamią informaciją.

Agile metodika yra programinės įrangos kūrimo filosofija, kuria siekiama užtikrinti geresnę vertę klientams naudojant trumpesnius kūrimo ciklus, kartu įtraukiant nuolatines peržiūras.

Programinės įrangos kūrimas išaugo iš matematikos ir gamtos mokslų sričių. Taigi, iš pradžių buvo įtraukti tų sričių moksliniai metodai.

Šie metodai išsivystė į krioklio metodą aštuntajame dešimtmetyje, kad atitiktų dienos poreikius. Tais laikais kompiuteriai ir jų programinė įranga buvo dideli, sudėtingi ir skirti tarnauti dešimtmečius. Taigi krioklio metodas tiko.

Tačiau dešimtojo dešimtmečio pabaigoje internetas dramatiškai pakeitė pasaulį ir tapo būtinas naujas požiūris. Taip atgijo judri metodika.

Toliau apžvelgsime šį programinės įrangos kūrimo judėjimą ir kaip jis gali padėti jums ir jūsų komandai.

Agile plėtros metodo istorija

Judrus programinės įrangos kūrimas išaugo dėl interneto ir nepasotinamo programų poreikio XX a. 1990-ojo dešimtmečio ir 2000-ųjų pradžios klestėjimo metais.

Tai taip pat buvo laikotarpis, kai daugelis kompiuterių mokslo žinių neturinčių kūrėjų perėjo prie žiniatinklio kūrimo, nes labai reikėjo svetainių, skirtų skirtingoms grupėms ir pramonės šakoms.

Natūralu, kad dauguma startuolių buvo maži. Taigi, dauguma pokyčių įvyko mažose komandose, kurių galutinis tikslas dažnai yra greitas pateikimas į rinką. Pavėluoti reiškė prarasti rinkos dalį.

Siekdami atremti krioklio modelio taikomus apribojimus kuo greičiau pateikti produktus į rinką, dešimtajame dešimtmetyje skirtingi kūrėjai sugalvojo skirtingus metodus. Tai apima greitą programų kūrimą (RAD), Scrum, ekstremalų programavimą (XP), Kanban ir kt.

Tada, kažkada 2001 m., Jutoje, JAV, susibūrė 17 kūrėjų, kurie praktikavo vienokią ar kitokią ankstyvo judriojo kūrimo formą. Tada jie baigė savo susitikimą paskelbdami „Judrios programinės įrangos kūrimo manifestą“.

Šis manifestas remiasi 4 vertybėmis ir 12 principų.

4 Agile plėtros vertybės ir 12 principų

Remdamiesi patirtimi, kurią jie surinko per susitikimą, 17 kūrėjų susitarė dėl vertybių rinkinio, kad būtų galima efektyviau kurti programinę įrangą.

Šios keturios vertės yra tokios:

  1. Individai ir sąveika per procesus ir įrankiai. Tai reiškia, kad svarbu kurti programinę įrangą su įrankiais, laikantis konkretaus proceso. Tačiau svarbiau, kad kompetentingi žmonės dirbtų kartu efektyviau.

  2. Veikianti programinė įranga per išsamius dokumentus. Tai atakuoja krioklio metodą, kai pirmiausia sukuriama programinė įranga ir rašoma jos dokumentacija prieš faktinį programinės įrangos kūrimo procesą.

  3. Klientų bendradarbiavimas per derybas dėl sutarties. Tik glaudžiai bendradarbiaudami su klientu ar vartotoju galite išmokti ir tobulinti būtent tai, ko klientui reikia. Taip sukuriama daugiau vertės.

  4. Reagavimas į pokyčius laikytis plano. Svarbu laikytis projekto plano. Tačiau planas neturi būti per griežtas. Ji turi prisitaikyti prie pokyčių, kad atitiktų suinteresuotųjų šalių lūkesčius.

Šios Agile Manifesto vertės yra pagrįstos 12 principų ir yra tokios:

  1. Klientų pasitenkinimas ankstyvu ir nuolatiniu vertingos programinės įrangos pristatymu.
  2. Sveikiname besikeičiančius reikalavimus, net ir vėlyvoje kūrimo stadijoje.
  3. Dažnai pristatykite veikiančią programinę įrangą (savaitėmis, o ne mėnesiais)
  4. Glaudus, kasdienis verslo žmonių ir kūrėjų bendradarbiavimas
  5. Projektai kuriami aplink motyvuotus asmenis, kuriais reikia pasitikėti
  6. Pokalbis akis į akį yra geriausia bendravimo forma (bendra vieta)
  7. Darbinė programinė įranga yra pagrindinis progreso matas
  8. Darnus vystymasis, gebantis išlaikyti pastovų tempą
  9. Nuolatinis dėmesys techninei kompetencijai ir geram dizainui
  10. Paprastumas – menas maksimaliai padidinti neatlikto darbo kiekį – yra būtinas
  11. Geriausia architektūra, reikalavimai ir dizainai atsiranda iš savarankiškai besiorganizuojančių komandų
  12. Reguliariai komanda apmąsto, kaip tapti efektyvesnė, ir atitinkamai prisitaiko

Iteracijos arba sprintas

Iteracijos arba sprintai lanksčios programinės įrangos kūrimo metu yra trumpi, paprastai nuo 1 iki 4 savaičių, laikotarpiai, į kuriuos nutrūksta kūrimo darbai. Tai palengvina reikalų valdymą, nes reikia mažiau planuoti.

Kiekvieną komandą taip pat paprastai sudaro nariai, atliekantys skirtingas funkcijas, įskaitant planavimą, analizę, projektavimą, kodavimą ir testavimą.

Komanda dirba su programine įranga kiekvienos iteracijos ar sprinto metu kartu. Ir jie gamina veikiantį produktą pabaigoje. Remiantis Agile Manifesto, ši darbo programinė įranga yra tikros pažangos matas.

Priklausomai nuo produkto ir kliento poreikių, iteracijos produktas gali būti išleistas į rinką arba ne. Taigi vienam leidimui dažnai prireikia daug iteracijų.

Agile plėtros pranašumai

Kaip galite įsivaizduoti, judri metodika suteikia daug privalumų. Jie yra tokie:

  1. Greitesnis idėjų įgyvendinimas
  2. Daugiau lankstumo nei krioklio metodas
  3. Padidintas našumas valdomomis iteracijomis
  4. Geresni produktai dėl vartotojo sąveikos
  5. Klaidos greitai nustatomos ir pašalinamos

Agile metodikos trūkumai

Taip pat yra keletas trūkumų dirbant su judriu kūrimo metodu. Ir jie gali apimti:

  1. Iš pradžių gali būti sunku įvertinti visas išlaidas
  2. Tam reikia daug klientų indėlio
  3. Apima daug neplanuotų darbų
  4. Nėra aiškiai apibrėžtos projekto pabaigos

Kada naudoti Agile metodus

  1. Kai negalite įvertinti, ko reikia programinei įrangai
  2. Turite pakankamai prieigos prie klientų
  3. Kuriate žiniatinklio programą arba lengvai atnaujinamą sistemą
  4. Išleisdami anksti, turite greitai užimti rinkos dalį

Populiarios Agile plėtros sistemos

Yra daug populiarių judrių kūrimo sistemų. Kai kurie prasidėjo dar prieš 2001 m. Agile Manifestą, o kiti pasirodė vėliau.

Sistemos tikslas yra tiesiog apibrėžti metodo taisykles. Taigi, nors populiariausios sistemos yra išvardytos žemiau, yra daug daugiau. Taip pat galite laisvai kurti savo arba modifikuoti esamą sistemą, kad ji atitiktų jūsų komandą.

  1. Scrum: ši sistema skirta komandoms, kuriose yra 10 ar mažiau narių. Darbas suskirstytas į 2-4 savaičių sprintus su kasdieniais 15 minučių susitikimais.

  2. Kanban: „Toyota“ kilęs „Kanban“ yra japoniškas žodis, reiškiantis skelbimų lentą ir labai naudingas komandoms, kurios vertina vaizdines priemones. Užduotys perkeliamos iš vieno etapo į kitą naudojant vaizdinius vaizdus, ​​pvz., lipnius lapelius ar programas.

  3. Rapid Application Development RAD: Ši frazė gali reikšti tiek judrią programinės įrangos kūrimą apskritai, tiek James Martin metodą. RAD daugiausia dėmesio skiria vartotojo sąsajos reikalavimams ir labai priklauso nuo prototipų kūrimo.

  4. Lean Startup: Ši sistema skirta tiems, kuriems reikia sukurti produktą ar paslaugą, bet pirmiausia nustatyti jo gyvybingumą rinkoje. Tai apima eksperimentavimą, siekiant išsiaiškinti, kas veikia, o kas ne.

Kitos svarbios sistemos apima ekstremalų programavimą (XP), adaptyvųjį programinės įrangos kūrimą, judrų modeliavimą, dinaminių sistemų kūrimo metodą ir mastelį, judrią sistemą.

Agile vs Waterfall metodikos

Čia pateikiamas nuoseklus programinės įrangos kūrimo judrių ir kritinių metodų žvilgsnis. Tai gali padėti žinoti, kaip kiekvienas metodas derinamas su kitu. Taigi, galite nesunkiai išsirinkti tinkamiausius įrankius savo darbui.

JudrusKrioklys
Prieauginis ir pasikartojantis metodasLinijinis ir nuoseklus gyvavimo ciklo modelis
Lankstus keistiTvirti įgyvendinimai
Testai ir peržiūros vykstaPasibaigus yra tik vienas bandymo etapas
Reikalavimai gali keistisReikalavimai nustatomi po planavimo
Daug mažesnių projektų rinkinysVienas projektas
Didesnis klientų įtraukimasMažesnis klientų įsitraukimas

Adaptyvusis vs nuspėjamasis vystymasis

Judraus programinės įrangos kūrimo tikslas – prisitaikyti prie pokyčių realiame pasaulyje. Ir tai dažnai yra kliento ar vartotojo poreikių rezultatas. Prisitaikymas visiškai prieštarauja nuspėjamajam krioklio modelio pobūdžiui.

Tuomet prasminga naudoti judrius metodus kuriant sistemas, kai nesate tikri, kaip viskas klostysis. Arba kai pramonėje vyksta nuolatiniai pokyčiai ir raida. Internetas yra puikus pavyzdys.

Kitu atveju, jei kuriate sistemą ar rinką, apie kurią žinote viską ir kuri beveik nesikeičia arba yra atspari pokyčiams. Tada gali būti naudinga nuspėjamoji krioklio filosofijos prigimtis.

Programinės įrangos meistriškumas

Programinės įrangos meistriškumas yra dar viena filosofija, kuri remiasi judriais kūrimo principais ir orientuota į projekte dalyvaujančių programinės įrangos kūrėjų įgūdžių pabrėžimą.

Programinės įrangos meistriškumo judėjimas taip pat turi manifestą, kuriame teigiama:

Būdami trokštantys programinės įrangos meistrai, keliame profesionalios programinės įrangos kūrimo kartelę, praktikuodami ją ir padėdami kitiems išmokti šio amato. Atlikdami šį darbą įvertinome: · Ne tik veikiančią programinę įrangą, bet ir gerai sukurtą programinę įrangą · Ne tik reaguoti į pokyčius, bet ir nuolat kurti pridėtinę vertę · Ne tik individus ir sąveiką, bet ir profesionalų bendruomenę · Ne tik klientus bendradarbiavimą, bet ir produktyvias partnerystes. Tai yra, siekdami kairėje esančių elementų, mes nustatėme, kad dešinėje esantys elementai yra būtini.  © 2009, toliau pasirašęs. Šis pareiškimas gali būti laisvai kopijuojamas bet kokia forma, bet tik visas, naudojant šį pranešimą

Išvada

Pasibaigus lanksčios metodikos ir programinės įrangos kūrimo apžvalgai, matote, kad yra tiek daug galimybių.

Kiekviena komanda skirtinga. Taip pat skirtingos komandos sukūrė skirtingus metodus, kaip prisitaikyti prie besikeičiančių laikų. Jūs taip pat turėsite prisitaikyti arba vadovaudamiesi jau sukurta sistema, arba pritaikydami ją savo komandai.

Nnamdi Okeke

Nnamdi Okeke

Nnamdi Okeke yra kompiuterių entuziastas, mėgstantis skaityti įvairias knygas. Jis teikia pirmenybę „Linux“, o ne „Windows“ / „Mac“ ir naudoja
Ubuntu nuo pirmųjų dienų. Galite sugauti jį Twitter per bongotraksas

Straipsniai: 298

Gaukite techninių dalykų

Technikos tendencijos, paleidimo tendencijos, apžvalgos, pajamos internetu, žiniatinklio įrankiai ir rinkodara kartą ar du per mėnesį