Agiilsed metoodikad

Allikas: Vikipeedia
Jump to navigation Jump to search

Agiilne meetod (inglise keeles The Agile Method) on erilähenemine projektijuhtimisele, mida kasutatakse tarkvara arendamisel. See meetod aitab tiimidel reageerida ettearvamatustele, mida tarkvara implementeerimine kaasa toob. Selle käigus kasutatakse järkjärgulisi iteratiivseid tööjärjestusi, mida üldiselt nimetatakse sprintideks [1].

Ajalugu[muuda | muuda lähteteksti]

Tarkvaraarendus algas 1950. aastatel keeruliste arvutusmasinate leiutamisega. Seejärel kulus kümneid aastaid arvutis töötava tarkvara arendamiseks. 1990ndatel, mil arvutid hakkasid massiliselt turule sisenema ja ettevõtted neid kasutama, kulus IT-asjatundjate sõnul kolm aastat enne seda, kui vajadusi rahuldav rakendus valmis. Loomulikult oli niisugune ajakulu vastuvõetamatu.

1990-ndate jooksul väljendusid iteratiivse arenduse ideed ning tarkvara arendajad mõistsid, et Waterfalli meetodid on paljude projektide jaoks liiga jäigad. 1990. aastate alguses lõid Ken Schwaber ja Jeff Sutherland Scrumi metoodika ja kodeerisid selle 1995. aastal konverentsil esitamiseks. Tulemused avaldati paberil "SCRUM-i tarkvaraarenduse protsess" [2].

Agiilsed metoodikad[muuda | muuda lähteteksti]

Enim kasutatud agiilsed metoodikad on järgmised [3]:

  • Agile Scrum Methodology

Scrum on kergekaaluline agiilne projektijuhtimise raamistik, mida saab kasutada igat liiki iteratiivsete ja inkrementaalsete projektide haldamiseks. Scrumis töötav toote omanik on tihedas koostöös oma meeskonnaga, et tuvastada ja seada prioriteedid süsteemi funktsionaalsusele, luues toote backlog'i. Toote backlog koosneb sellest, mida tuleb teha, et edukalt toimivat tarkvarasüsteemi realiseerida. Kogu arendustegevus on jaotatud sprint'ideks, mille kestus võib olla sõltuvalt 1–2 nädalat.

  • Lean and Kanban Software Development

Lean arendus kõrvaldab raiskamine (inglise keeles Waste), paludes kasutajatel valida süsteemi jaoks tõeliselt väärtuslikud funktsioonid, seada need funktsioonid esikohale ja seejärel töötada väikeste osade kaupa nende edastamiseks. See metoodika tugineb kiirele ja usaldusväärsele tagasisidele programmeerijate ja klientide vahel, rõhutades arendustöövoogude kiirust ja tõhusust.

Kanban on visuaalne töövoo juhtimise meetod, mis on Lean meeskondade hulgas populaarne. Tegelikult 83% Leani kasutavatest meeskondadest kasutab Kanbani, et visualiseerida ja aktiivselt hallata toodete loomist rõhuasetusega pidevale tarnimisele. Nagu Scrum, on ka Kanban protsess, mille eesmärk on aidata meeskondadel tõhusamalt koos töötada.

  • Extreme Programming (XP)

Extreme Programming (XP), mida algselt kirjeldas Kent Beck, on kujunenud üheks kõige populaarsemaks agiilseks metoodikaks. XP on distsiplineeritud lähenemine kvaliteetse tarkvara kiirele ja pidevale tarnimisele. Selle eesmärk on parandada tarkvara kvaliteeti ja reageerimisvõimet klientide muutuvatele vajadustele. See soodustab klientide suurt kaasamist, kiiret tagasisidet, pidevat testimist, pidevat planeerimist ja tihedat meeskonnatööd.

  • Crystal

Crystali metoodika on üks kõige kergekaalulisemaid, kohandatavamaid lähenemisviise tarkvara arendamisele. Crystal koosneb tegelikult agiilsete meetodite perekonnast, sealhulgas Crystal Clear, Crystal Yellow, Crystal Orange ja teised. Iga üks omab unikaalseid tunnusjooni, mida juhivad mitmed tegurid nagu meeskonna suurus, süsteemi kriitilisus ja projekti prioriteedid. Crystali perekond annab mõista, et iga projekti puhul võib vaja minna veidi kohandatud poliitikate, tavade ja protsesside kogumit, et vastata toote ainulaadsetele omadustele.

  • Dynamic Systems Development Method (DSDM)

DSDM põhineb kaheksal põhiprintsiibil, mis juhivad meeskonda ja loovad mõtteviisi, mis võimaldaksid ette nähtud aja ja eelarvega tarnida. Need põhimõtted keerlevad peamiselt ettevõtte vajaduste ja väärtuste, aktiivse kasutajate kaasamise, sagedase tarnimise, integreeritud testimise ja sidusrühmade koostöö ümber.

8 põhiprintsiipi:

  • Keskendu ettevõtte vajadustele (Focus on the business need)
  • Tarni õigel ajal (Deliver on time)
  • Koostöö ('Collaborate')
  • Kunagi ei kahjusta kvaliteeti (Never compromise quality)
  • Ehitage järk-järgult (Build incrementally from firm foundations)
  • Töötage iteratiivselt (Develop iteratively)
  • Suhtle pidevalt ja selgelt (Communicate continuously and clearly)
  • Näidake kontrolli (Demonstrate control)
  • Feature Driven Development (FDD)

Feature Driven Development on mudelitel põhinev lühiajaline iteratsiooniprotsess, mis oli üles ehitatud tarkvaratehnika parimate tavade, nagu domeeni objektide modelleerimine, funktsioonide arendamine ja koodide omandiline kuuluvus järgi.

Viited[muuda | muuda lähteteksti]