Agile arendusmetoodika 🚀

📜 1. Ajalugu

🌍 Kes lõi?

👥 17 tarkvaraarenduse guru:
  • Kent Beck (XP looja)
  • Jeff Sutherland (Scrum kaasautor)
  • Martin Fowler (tarkvaraarhitektuur)
  • Jim Highsmith (adaptiivne arendus)
  • 13 muud silmapaistvat spetsialisti

🕰️ Millal?

🗓️ 11.-13. veebruar 2001
❄️ Utah’s Snowbirdi kuurort (USA)
⏳ 3-päevane intensiivne töötuba

🔧 Kes arendas välja?

💡 Kogukondlik arendus:
• Põhines 1990ndate iteratiivsetel meetoditel (XP, Scrum, DSDM)
• Ühendas parimad praktikad ühtsesse manifesti
• Loodud vastusena veemudeli puudustele

📜 Manifesti sisu

📝 4 põhimõtet:
  1. Inimesed > protsessid
  2. Töötav tarkvara > dokumentatsioon
  3. Koostöö > lepingud
  4. Muutused > plaan
📋 12 praktikat:
  • Päevased standupid
  • Kasutajalood
  • Retrospektiivid
  • Pair programming

🌟 Revolutsioonilised ideed

Miks see mängu muutis:
• Esimene formaalselt dokumenteeritud iteratiivne lähenemine
• Rõhk meeskonnatööl ja kliendiga koostööl
• Alus tänapäeva Scrum, Kanban, Lean meetoditele
• Vastus traditsiooniliste meetodite jäikustele

🔄 Agile Töötsükkel: Detailne Ülevaade

📋 1. Nõuete Kogumine

📝 User Story’d: • “Kui kasutaja X, siis ma tahan Y, et saaksin Z” • Prioriteetide määramine koos klientidega • Kasutatavad tööriistad: JIRA, Trello, Azure DevOps

🗓️ 2. Sprinti Planeerimine

Tüüpiline kestus: 2-4 nädalat 📌 Põhitegevused: • Tööde jagamine story point’ideks • Capacity planning (meeskonna võimsuse hindamine) • Definition of Ready kriteeriumite kontroll

💻 3. Arendusfaas

👨‍💻 Päevased rutiinid: • 15-minutilised standup koosolekud (“Mida tegid? Mida teed? Mis takistab?”) • Pair programming sessioonid • Koodireview’d ja pidev integratsioon (CI/CD)

🧪 4. Testimine

🔍 Testimise tase: • Üksiktestid (Unit tests) • Integratsioonitestid • Kasutajakatsetused (UAT) • Automatiseeritud testide käivitamine iga koodimuudatuse järel

🔄 5. Kordamine ja Täiustamine

📊 Retrospektiiv: • “Mis läks hästi?” • “Mida saaks paremini teha?” • “Milliseid muudatusi järgmiseks sprintiks rakendame?” • Tulemuste dokumenteerimine ja parimate praktikate jagamine
💡 Näpunäited edukaks rakendamiseks: 1. Kasuta visuaalseid töölaudu (Kanban) 2. Säilita tasakaal dokumenteerimise ja arenduse vahel 3. Kohanda protsessi vastavalt meeskonna vajadustele 4. Mõõda progressi läbi töötavate tarkvaraversioonide

🌐 3. Skeem – Agile protsess inglise, vene ja eesti keeles

Agile protsessi põhietapid:

🇬🇧 Inglise🇷🇺 Vene🇪🇪 Eesti
Requirements GatheringСбор требованийNõuete kogumine
Iteration PlanningПланирование итерацийIteratsiooni planeerimine
DevelopmentРазработкаArendus
TestingТестированиеTestimine
Review and RepeatОбзор и повторÜlevaade ja kordamine
Final IntegrationsФинальная интеграцияLõplik integratsioon
DeliveryДоставкаTarnimine

📌 Skeem näitab tüüpilist Agile tsüklit alates nõuete kogumisest kuni lõpliku tarneni.
📊 Kolme keeles – inglise, vene ja eesti – mugavaks kasutamiseks rahvusvahelistes meeskondades.

Agile arendusmeetodika skeem

✔️ 5 Plussi

✅ Paindlikkus – Muutustele kiire reageerimine
✅ Kliendiga tihe koostöö – Pidev tagasiside
✅ Kiired tarned – Töötav tarkvara 2-4 nädala jooksul
✅ Kvaliteet – Vigade varajane avastamine
✅ Meeskonnatöö – Parimad praktikad (pair programming)

❌ 5 Miinust

⚠️ Ebaselgus – Lõpptulemus võib muutuda
⚠️ Koormus – Intensiivne kommunikatsioon
⚠️ Dokumentatsioon – Vähem formaalset dokumenteerimist
⚠️ Skaleeritavus – Keeruline suurtel projektidel
⚠️ Kliendi aeg – Nõuab pidevat kaasamist