Programmu izstrāde ar Agile žiglāka un ražīgāka
Digne Lubiņa, www.sakaru-pasaule.lv
Dažādas programmatūru izstrādes metodoloģijas pasaule pazīst jau vairākus gadu desmitus. Viena no tām ir Agile* - metodoloģija, kas ievērojama tieši ar samazinātu cikla laiku, darbības ātrumu un iespējām ātri reaģēt uz klienta vajadzībām.
Agile metodoloģijas vēsture ir visai interesanta. 2001. gada februārī septiņpadsmit cilvēku grupa satikās kādā Jūtas štata (ASV) kalnu kūrortā. Šīs tikšanās rezultāts bija jaunas programmizstrādes metodes formulējums, kas balstījās uz četriem vaļiem:
- koncentrēšanos uz personām un sadarbību,nevis uz procesiem un sistēmām;
- reāli lietojamas programmatūras izstrādi, nevis sarežģītiem dokumentiem;
- sadarbību ar klientu, nevis pārrunām par līguma noteikumiem;
- iespēju reaģēt uz pārmaiņām, nevis automātisku plāna izpildi.
Būdami informācijas tehnoloģiju un programmizstrādes profesionāļi, šie septiņpadsmit cilvēki ticēja, ka jauno principu ievērošana būtiski uzlabos programmizstrādes procesus un veicinās ciešāku izstrādātāju un klientu sadarbību.
Programmizstrādes tirgū jau ilgstoši iezīmējas straujo biznesa attīstības tempu radītais izaicinājums, līdzšinējām programmām vairs nespējot nodrošināt biznesa vajadzībām atbilstošas sistēmas. Nepietiekamais temps rada kavējumus arī laika grafikos, turklāt projektu izstrādē jāiegulda vairāk līdzekļu, nekā sākotnēji plānots.
Saskaņā ar britu IT pētījumu uzņēmuma The Standish Group datiem, 72 procenti IT projektu neizdodas vai saskaras ar būtiskām grūtībām un 64 procentus funkciju izmanto vai nu reti, vai nemaz. Tradicionālās programmizstrādes metodes, piemēram, t. s. ūdenskrituma metode, ir visai smagnēja — tā paredz noteiktu izstrādes procesa fāzu secību (prasību identificēšana, izstrāde, kodēšana, integrācija, testēšana un nodošana lietotājam). Šāds process ir lēns, turklāt neparedz iespēju veikt izmaiņas. Klients īsto rezultātu var novērtēt tikai pēc sistēmas pilnīgas pabeigšanas, tāpēc ir liels risks, ka daļa sistēmas funkciju neatbildīs klienta vajadzībām.
Agile metodoloģijas autori ticēja, ka minētās problēmas programmizstrādē ir iespējams risināt, būtiski mainot pieeju programmizstrādes procesam. Nozīmīga loma šajā metodoloģijā atvēlēta komunikācijai. Agile paredz arī vairākas iespējas veikt izmaiņas projekta gaitā, tādējādi nodrošinot precīzu atbilstību klienta prasībām, turklāt risku, kas saistīts ar projekta izdošanos, izstrādātājs uzņemas kopā ar klientu.
Agile veiksmes stāsts vēl tikai sākas. Metodoloģijai jau ir izveidojušās vairākas izstrādes metodes, tostarp Scrum (procesa modelis, kurā pastāv noteiktu darbību un iesaistīto personu lomu kopums), Extrerne Programming jeb XP (akcentē izmaiņu radīto izmaksu samazināšanu līdz minimumam), DSDM (paredz pastāvīgu lietotāja iesaistīšanos sistēmu izstrādes procesā) un citas. Citi papildinājumi, piemēram, fiksētas cenas līgumu struktūras, paredz iespēju projektu pabeigt pirms termiņa, kas klientiem sniedz papildu priekšrocības. Aizvien vairāk izstrādātāju kļūst par Agile ekspertiem, pieaug arī ar Agile metodoloģiju izstrādāto projektu skaits. Tas apliecina, ka komunikācija ir kļuvusi par ļoti būtisku faktoru arī informācijas tehnoloģijās un programmizstrādē.
Latvijā viens no vadošajiem uzņēmumiem, kas piedāvā projektu izstrādi ar Agile metodoloģijām, ir Exigen Services.
* Agile mēdz latviskot kā spējā izstrāde, akcentējot tās ātrumu, bet, iespējams, būs arī citas latviskās versijas. Redakcijas piezīme.
- Par Exigen Services
- Kā mēs strādājam
- Pakalpojumi un risinājumi
- Klienti un nozares
- Jaunumi
