Kaut arī elastīgā metodika ir vērtīga daudzās nozarēs, tā ir izrādījusies visveiksmīgākā programmatūras izstrādē un programmatūras izstrādes dzīves cikla laikā (SDLC). Tā kā veiklās metodoloģijas izcelsme ir Agile manifesta divpadsmit pamatprincipi, tas ietver iteratīvus procesus, kas vērsti uz nepārtrauktu nodevumu uzraudzību un uzlabošanu.
Agile procesi tika izstrādāti kā alternatīva tradicionālajām ūdenskrituma metodēm. Ūdenskrituma metode ir secīgs projektēšanas process, kurā, pirms pāriet uz nākamo, ir jāpabeidz solis. Parasti ūdenskrituma metodika ir izrādījusies veiksmīga būvniecībā; tomēr tehniskākām nozarēm lielāku vērtību piešķir elastīga pieeja. Tā vietā, lai ievērotu pakāpenisku pieeju, visi projekta posmi tiek pabeigti paralēli. Agile procesi mēģina tikt galā ar neparedzamo attīstības cikla raksturu, identificējot kļūdas un pilnībā novēršot nepieciešamību pēc projekta restartēšanas.
Veikla metodika
Agile metodikas pamatprincips ir klienta vērtības apmierināšana un vērtības nodrošināšana, izmantojot pastāvīgus produktus. Tā vietā, lai pievērstos vienam lielam projektam ilgā laika posmā, veiklās metodes sadala projektu mazākos, vienkāršākos un vieglāk pārvaldāmos uzdevumos, kurus var efektīvi un ātri izpildīt.
Spotify tiek atzīts par veikliem procesiem: uzņēmuma mazākā grupas vienība, ko sauc par komandām, uzvedas kā autonomi jaunuzņēmumi. Katra komanda koncentrējas uz noteiktu funkciju un atkārtojas, pamatojoties uz minimālo dzīvotspējīgo produktu, agri un bieži atbrīvojot atjauninājumus. Pēc definīcijas minimālais dzīvotspējīgais produkts ir produkta jaunākā versija, kas ļauj komandai savākt maksimālo informācijas daudzumu, kas nepieciešams, lai noteiktu, kas darbojas un kas neder. Vietnē Spotify katra komanda rīko nelielu projektu; tomēr katrs projekts balstās uz kopēju mērķi radīt lielāku klienta vērtību.
Piegādājot produktu savlaicīgi un bieži, organizācijas ir spiestas likvidēt jebko, kas nedod pievienoto vērtību. Indivīdi kļūst par ekspertiem noteiktās attīstības cikla jomās, jo katra mazā komanda ilgāku laiku koncentrējas uz vienu misiju, kas palīdz identificēt un novērst kļūdas. Kamēr, izmantojot ūdenskrituma metodi, tiek sniegta atgriezeniskā saite projekta beigās pēc ievērojama laika, naudas un enerģijas iztērēšanas, elastīgā metodika ļauj veikt izmaiņas, izmantojot nepārtrauktu atgriezenisko saiti. Izmantojot nepārtrauktu atgriezenisko saiti un elastīgumu, kas saistīts ar sākotnējā plāna ievērošanu, funkciju pievienošana vai mainīšana ļauj organizācijām būt informētām par jaunākajiem sasniegumiem savā nozarē.
Agile projekta uzdevumus virza iterācija. Ierācija ir laika posms, parasti vienas līdz divu nedēļu laikā, kura laikā klientu vajadzības tiek attīstītas un pārveidotas par darboties spējīgiem, pārbaudāmiem produktiem. Agile metodoloģijas galvenā iezīme ir pieņēmums, ka projekti sastāv no iterāciju secības. Komandas var izmantot savu ātrumu, lai izsekotu, cik daudz viņi veic katras iterācijas laikā, lai saglabātu plānus reālistiskus un izvairītos no pārlieku lielas saistības. Katrā atkārtojumā pēc analīzes, projektēšanas, testēšanas, kvalitātes nodrošināšanas un lietotāja pieredzes pabeigšanas tiek piegādāts piegādājams produkts. Lai arī trūkst visu precīzi pielāgoto funkciju, komandas locekļiem jābūt pārliecinātiem, ka viņi vajadzības gadījumā varētu izlaist produktu.
Scrum metodika
Agile metodoloģijā pastāv vairāki ietvari, ieskaitot Scrum, Lean un Extreme Programming. Lielākā daļa organizāciju, kuras pāriet uz elastīgu metodiku, izvēlas sākt ar Scrum, pateicoties tās vienkāršībai un elastīgumam. Scrum projekti uzņēmumiem un klientiem nodrošina lomu, sapulču, kā arī noteikumu struktūru. Komandas locekļi ir atbildīgi par procesu apgūšanu un pielāgošanu, lai tiktu galā ar neparedzamību.
Katram Scrum projektam ir neizpildīts darbs vai veicamo darbu saraksts. Plānošanas posmā neizpildītā informācija tiek aizpildīta ar uzdevumiem, mērķiem un izpildes termiņiem. Pēc apspriešanas par neizpildīto darbu projekts tiek sadalīts sprintos, kas ir vienas līdz divu nedēļu periodi un kuru mērķis ir aizpildīt vairākus neizpildītos vienumus. Katra sprinta laikā komandai ir ikdienas sanāksmes, lai pārrunātu pašreizējo progresu, turpmāko progresu un visus faktorus, kas kavē progresu. Katra sprinta beigās jāveic visi nepieciešamie pasākumi, ja produkts tiek atbrīvots.
Pēc tam produkta īpašnieks veic pārskatīšanu, lai noteiktu, vai visi stāsti sprinta atlikumā ir pietiekami pabeigti. Šajā laikā ScrumMaster tiekas ar komandu retrospektīvai. Komandas locekļi pārdomā savus procesus, lai pielāgotu uzvedību nākamajiem sprintiem. Ir ārkārtīgi svarīgi, lai ScrumMaster izvairītos no kopīgiem šķēršļiem un radītu rosinošu vidi diskusijām. Sakarā ar programmatūras un produktu attīstības neparedzamo raksturu, katrs sprints ir unikāls, un tam jāpielāgojas pārmaiņām.
Scrum projektus veicina produkta īpašnieks, ScrumMaster un komanda. Katra sprinta laikā komanda, kas sastāv no pašpārvaldes indivīdiem, ir atbildīga par tā noteikšanu un deleģēšanu, kā tā veiks visu nepieciešamo darbu. Komandas ietvaros katram loceklim ir sava joma; tomēr nav oficiālu nosaukumu vai hierarhijas. ScrumMaster ir īpaša persona, kas novērš šķēršļus un uztur komandu uz ceļa, vienlaikus nodrošinot sprinta pārpalikuma pārredzamību. Visbeidzot, produkta īpašnieks ir atbildīgs par produkta vīzijas izveidi un paziņošanu par to un izlemj, vai produktus vajadzētu vairāk attīstīt, vai arī tie ir gatavi izlaišanai.
Grunts līnija
Mūsdienās plaši izmantota programmatūras izstrādē tika izstrādāta elastīga metodika darbam, kurā trūkst noteiktu procesu. Agile metodes, atšķirībā no secīgām pieejām, nav paredzētas atkārtotiem darba veidiem. Daudzas nozares savā biznesā izmanto un turpina ieviest elastīgu metodoloģiju.
Veikls ietvars satur vairākas apakškopas, ieskaitot Scrum, liesās un ekstrēmās programmēšanas, kas palīdz indivīdiem tikt galā ar neparedzamību un elastību. Agile metodika var palīdzēt uzlabot procesus no vienas puses uz otru; tomēr indivīdiem jābūt apņēmīgiem, pielāgojamiem un spējīgiem mācīties, lai tas darbotos.
