Agile ile Waterfall arasındaki fark nedir? Scrum'daki roller ve toplantılar (ceremonies) nelerdir?

Cevap

Waterfall (şelale), gereksinim, tasarım, geliştirme, test ve yayın aşamalarının sırayla ve bir kez yapıldığı doğrusal bir modeldir. Agile ise kısa döngülerle (iterasyon) çalışan, her döngüde çalışan bir ürün parçası çıkaran ve geri bildirimle yönü sürekli düzelten bir yaklaşımdır. Scrum, Agile'ın en yaygın uygulanan framework'üdür.

WaterfallAgile
PlanlamaBaşta, detaylıSürekli, kısa vadeli detay
Değişikliğe tepkiPahalıBeklenen ve olağan
Müşteri geri bildirimiProjenin sonundaHer iterasyonda
Uygun olduğu yerGereksinimi sabit, regülasyonlu işlerBelirsizliğin yüksek olduğu ürün geliştirme

Scrum rolleri (Scrum Guide 2020'de "accountabilities")

  • Product Owner: ürün değerini maksimize eder, Product Backlog'u yönetir ve önceliklendirir.
  • Scrum Master: Scrum'ın doğru uygulanmasını sağlar, engelleri kaldırır, ekibe koçluk yapar; proje yöneticisi değildir.
  • Developers: sprint'te işi yapan, kendi kendini organize eden ekip (geliştirici, test uzmanı, tasarımcı vb.).

Etkinlikler (events)

  1. Sprint: genelde 1-4 hafta süren sabit uzunlukta döngü.
  2. Sprint Planning: sprint hedefi ve sprint'e alınacak işler belirlenir.
  3. Daily Scrum: 15 dakikalık günlük senkronizasyon; sprint hedefine yönelik ilerleme ve engeller.
  4. Sprint Review: ortaya çıkan ürün parçası paydaşlara gösterilir, geri bildirim alınır.
  5. Sprint Retrospective: ekip kendi çalışma şeklini değerlendirir ve iyileştirme aksiyonları belirler.

Backlog Refinement resmi bir etkinlik değildir ama sürekli yapılan bir faaliyettir.

Artefaktlar

Product Backlog, Sprint Backlog ve Increment; her biri sırasıyla Product Goal, Sprint Goal ve Definition of Done ile ilişkilidir.

Kanban farkı

Kanban'da sabit sprint yoktur; işler sürekli akar, WIP (work in progress) limitleri ve cycle time ile akış yönetilir. Destek ve operasyon ekiplerinde yaygındır.

  1. Testi olmayan büyük bir legacy kod tabanında değişiklik yapmanız gerekiyor. Nasıl ilerlersiniz?ZorYazılım Geliştirme SüreçleriYazılım Müh.
  2. Semantic Versioning (SemVer) nedir? 2.4.1 sürümündeki her sayı neyi ifade eder?KolayYazılım Geliştirme SüreçleriYazılım Müh.
  3. Teknik borç (technical debt) nedir? Ekipte teknik borcu nasıl yönetir ve iş tarafına nasıl anlatırsınız?ZorYazılım Geliştirme SüreçleriYazılım Müh.
  4. CI/CD nedir? Continuous delivery ile continuous deployment arasındaki fark nedir? Tipik bir pipeline'da hangi adımlar olur?OrtaYazılım Geliştirme SüreçleriYazılım Müh.
  5. TDD (Test-Driven Development) nedir? Red-Green-Refactor döngüsünü bir örnekle anlatın.OrtaYazılım Geliştirme SüreçleriYazılım Müh.
  6. Test piramidi nedir? Unit, integration ve end-to-end testler arasındaki farklar nelerdir?OrtaYazılım Geliştirme SüreçleriYazılım Müh.

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle