Agiilne arendusmudel - SCRUM

1. Mis on agiilne arendusmudel?

Agiilne arendusmudel on tarkvaraarenduse lähenemine, kus arendust tehakse väikeste sammudena ning tulemust parandatakse pidevalt vastavalt kliendi tagasisidele. Erinevalt traditsioonilistest mudelitest ei planeerita kõike alguses lõpuni ette.

Kõige tuntum agiilne metoodika on Scrum.

2. Scrum

Scrum on agiilne raamistik, mida kasutatakse tarkvara arendamisel meeskonnatöö korraldamiseks. Töö on jaotatud lühikesteks ajaperioodideks, mida nimetatakse sprintideks.

3. Scrumi põhikomponendid

4. Scrumi etapid (SDLC kontekstis)

  1. Nõuete kogumine (Product Backlog)
  2. Sprint planeerimine
  3. Sprint (arendus ja testimine)
  4. Päevased stand-up koosolekud
  5. Sprint Review
  6. Sprint Retrospective
  7. Valmis tarkvara väljalase

5. Agiilse arenduse lähenemisviisid

1. BDD - Behaviour Driven Development

Keskendub süsteemi käitumisele kasutaja vaatenurgast. Kasutatakse stsenaariume stiilis: Given - When - Then.

2. DDD - Design Driven Development

Arendus algab disainist ja arhitektuurist enne koodi kirjutamist.

3. DDD - Domain Driven Development

Keskendub äriloogikale ja domeenile, et tarkvara vastaks päriselu protsessidele.

4. SD - Secure by Design

Turvalisus planeeritakse juba arenduse alguses, mitte pärast valmimist.

5. TDD - Test Driven Development

Kõigepealt kirjutatakse test, seejärel kood, mis testi läbiks.

6. ATDD - Acceptance Test Driven Development

Keskendub kliendi vastuvõtutestidele enne arenduse alustamist.

7. CTDD - Continuous Test Driven Development

Testimine toimub pidevalt kogu arendusprotsessi vältel.

8. Specification by Example

Nõuded kirjeldatakse näidete abil, mida on lihtne mõista nii arendajatel kui klientidel.

9. Data Driven Development

Arendusotsused põhinevad andmetel ja kasutajate käitumisel.

10. Data Oriented Design

Keskendub andmete struktuurile ja jõudlusele.

6. Kuidas näeb välja agiilne arendusmudel joonisena?

Agiilne mudel on ringikujuline ja korduv protsess:

7. Agiilse arendusmudeli tähtsaim omadus

Kõige olulisem omadus on paindlikkus, sest muudatusi saab teha igas etapis. See võimaldab paremini vastata kliendi vajadustele.

8. Head ja vead

Head Vead
Kiire tagasiside Vajab aktiivset klienti
Paindlik arendus Raske täpset ajakava ennustada
Pidev testimine Võib olla keeruline suurtes projektides

9. Suurim kasu agiilsetest lähenemisviisidest

Suurim kasu on kvaliteetsem tarkvara, kiirem reageerimine muudatustele ning parem koostöö kliendiga.

10. Viited