Definition Of Done Nedir
Scrum Sürecinde Bir İşin Gerçekten Tamamlandığı Nasıl Anlaşılır
Definition of Done, bir işin gerçekten bittiğini gösteren ortak kalite sözüdür; çünkü Scrum'da değer üretmek, yalnızca işi yapmakla değil, o işi güvenilir, kullanılabilir ve tamamlanmış hale getirmekle mümkündür.
— Ersan Karavelioğlu
Definition of Done, Scrum sürecinde bir işin, ürün artımının veya Sprint çıktısının gerçekten tamamlanmış sayılabilmesi için karşılaması gereken ortak kalite ölçütleri bütünüdür. Türkçeye genellikle Tamamlanma Tanımı, Bitti Tanımı veya Gerçekten Tamamlandı Ölçütü şeklinde çevrilebilir.
Scrum'da bir işin “bitti” denilmesi, yalnızca kodun yazılması, tasarımın çizilmesi, görev kartının taşınması veya birinin “ben tamamladım” demesiyle gerçekleşmez. O işin gerçekten kullanılabilir, test edilmiş, kalite standartlarına uygun, kabul kriterlerini karşılayan ve ürün bütünlüğüne zarar vermeyen bir hale gelmiş olması gerekir.
Definition of Done bu yüzden Scrum'ın en önemli kalite araçlarından biridir. Ekip içinde “bitti” kelimesinin herkes tarafından aynı anlama gelmesini sağlar.
Definition Of Done Ne Demektir
Definition of Done, bir işin tamamlanmış kabul edilebilmesi için gereken ortak koşulların açıkça tanımlanmasıdır. Bu tanım, Scrum Takımı'nın kalite anlayışını görünür hale getirir.
| Definition of Done Unsuru | Anlamı |
|---|---|
| Kod tamamlandı | Gerekli geliştirme yapıldı |
| Test edildi | Hatalar kontrol edildi |
| Kabul kriterleri karşılandı | Beklenen davranış sağlandı |
| Code review yapıldı | Başka ekip üyesi tarafından incelendi |
| Dokümantasyon güncellendi | Gerekli bilgi yazılı hale getirildi |
| Yayına hazır | Ürün artımı kullanılabilir durumda |
Definition Of Done Neden Önemlidir
Definition of Done önemlidir çünkü ekipte kalite belirsizliğini azaltır. Herkes “tamamlandı” kelimesinden farklı şey anlarsa Sprint sonunda büyük sorunlar ortaya çıkar.
| Definition of Done Olmazsa | Definition of Done Olursa |
|---|---|
| “Bitti” kişiden kişiye değişir | Tamamlanma ölçütü ortaktır |
| Yarım işler tamamlandı sanılır | Gerçek kalite görünür olur |
| Sprint sonunda sürpriz çıkar | Beklentiler baştan nettir |
| Hatalar geç fark edilir | Kalite süreç içinde korunur |
| Güven azalır | Takım ortak standartla çalışır |
Definition Of Done İle Kabul Kriterleri Aynı Şey Midir
Hayır. Definition of Done ile kabul kriterleri birbirine yakın görünse de aynı şey değildir.
| Kabul Kriterleri | Definition of Done |
|---|---|
| Belirli bir iş maddesine özeldir | Tüm işler için ortak kalite standardıdır |
| “Bu özellik ne yapmalı | “Bu iş gerçekten tamam mı |
| Product Owner beklentisini netleştirir | Scrum Takımı'nın kalite standardını belirler |
| İşlevsel davranışa odaklanır | Kalite, test, güvenlik, dokümantasyon gibi genel şartları kapsar |
Definition Of Done Kim Tarafından Belirlenir
Definition of Done, Scrum Takımı tarafından anlaşılmalı ve uygulanmalıdır. Eğer organizasyonun genel kalite standartları varsa, Scrum Takımı bu standartları temel alır. Eğer böyle bir standart yoksa, Scrum Takımı kendi Definition of Done tanımını oluşturur.
| Rol | Definition of Done'a Katkısı |
|---|---|
| Developers | Teknik kalite, test, review ve uygulama standartlarını belirler |
| Product Owner | Ürün değeri ve beklenti netliği açısından katkı verir |
| Scrum Master | Sürecin anlaşılır, şeffaf ve uygulanabilir olmasını kolaylaştırır |
| Organizasyon | Varsa genel kalite, güvenlik ve uyumluluk standartlarını sağlar |
Definition Of Done Hangi Alanları Kapsayabilir
Definition of Done, ürünün türüne ve ekibin çalışma alanına göre değişebilir. Yazılım ekiplerinde teknik ölçütler öne çıkarken, içerik, tasarım, eğitim veya operasyon ekiplerinde farklı kalite ölçütleri kullanılabilir.
| Alan | Örnek Ölçüt |
|---|---|
| Kod | Kod yazıldı ve temiz yapılandı |
| Test | Unit test, entegrasyon testi veya manuel test yapıldı |
| Review | Kod başka ekip üyesi tarafından incelendi |
| Güvenlik | Temel güvenlik kontrolleri yapıldı |
| Performans | Belirlenen performans sınırları karşılandı |
| Dokümantasyon | Gerekli teknik veya kullanıcı dokümanı güncellendi |
| Yayına hazırlık | Ürün artımı deploy edilebilir durumda |
Yazılım Geliştirmede Definition Of Done Nasıl Olabilir
Bir yazılım ekibinde Definition of Done oldukça somut ve ölçülebilir olmalıdır. “Kaliteli olsun” demek yeterli değildir. Kalitenin ne anlama geldiği açıkça yazılmalıdır.
| Ölçüt | Açıklama |
|---|---|
| Kod tamamlandı | İşlev beklendiği gibi geliştirildi |
| Kabul kriterleri karşılandı | Product Backlog maddesindeki şartlar sağlandı |
| Unit testler yazıldı | Temel fonksiyonlar test edildi |
| Testler başarılı geçti | Mevcut test seti hata vermedi |
| Code review tamamlandı | En az bir ekip üyesi kodu inceledi |
| Hata bulunmadı | Kritik veya yüksek öncelikli hata yok |
| Güvenlik kontrolü yapıldı | Temel güvenlik riskleri değerlendirildi |
| Dokümantasyon güncellendi | Gerekiyorsa teknik not veya kullanıcı dokümanı yazıldı |
| Yayına hazır | Ürün artımı kullanılabilir duruma getirildi |
İçerik Üretiminde Definition Of Done Kullanılabilir Mi
Evet. Definition of Done yalnızca yazılım ekipleri için değildir. İçerik üretimi, tasarım, pazarlama, eğitim ve operasyon gibi alanlarda da kullanılabilir.
| İçerik Definition of Done Ölçütü | Açıklama |
|---|---|
| Başlık tamamlandı | Konuya uygun, açık ve etkileyici başlık yazıldı |
| Ana metin yazıldı | İçerik bütünlüklü şekilde oluşturuldu |
| Dil kontrolü yapıldı | Yazım, noktalama ve anlam hataları düzeltildi |
| Biçim kontrolü yapıldı | Başlıklar, tablolar ve vurgular düzenlendi |
| Konu bütünlüğü sağlandı | İçerik başlıktan sapmadı |
| Yayın formatına uygun | Platformun biçim kurallarına hazır hale geldi |
| Son okuma yapıldı | Nihai kalite kontrol tamamlandı |
Definition Of Done Sprint İçinde Nasıl Kullanılır
Definition of Done, Sprint sonunda hatırlanacak bir kontrol listesi değildir. Sprint boyunca aktif şekilde kullanılmalıdır. Developers bir işi yaparken bu tanımı dikkate almalı, Daily Scrum sırasında işlerin gerçekten tamamlanmaya yaklaşıp yaklaşmadığı değerlendirilmelidir.
| Aşama | Kullanımı |
|---|---|
| Sprint Planning | Takım işin tamamlanması için gereken kalite yükünü hesaba katar |
| Geliştirme süreci | Developers işi DoD ölçütlerine uygun ilerletir |
| Daily Scrum | İşin gerçekten tamamlanmaya ne kadar yakın olduğu görülür |
| Sprint Review | Sadece DoD'a uygun işler tamamlandı olarak gösterilir |
| Retrospective | DoD'un uygulanabilirliği ve kalite etkisi değerlendirilir |
Definition Of Done Ürün Artımıyla Nasıl Bağlantılıdır
Scrum'da Sprint sonunda ortaya çıkan kullanılabilir ürün parçasına Increment yani ürün artımı denir. Bir ürün artımının gerçekten kullanılabilir ve tamamlanmış sayılması için Definition of Done'a uygun olması gerekir.
| Durum | Değerlendirme |
|---|---|
| Kod yazıldı ama test edilmedi | Tamamlanmış sayılmamalı |
| Test edildi ama kabul kriterleri eksik | Tamamlanmış sayılmamalı |
| Kabul kriterleri karşılandı ama review yapılmadı | DoD'a bağlı olarak tamamlanmamış olabilir |
| Tüm DoD ölçütleri karşılandı | Tamamlanmış ürün artımı sayılabilir |
Definition Of Done Olmadan Sprint Review Neden Zayıflar
Sprint Review'de paydaşlara gösterilen işlerin gerçekten tamamlanmış olması gerekir. Definition of Done yoksa ekip yarım işleri tamamlanmış gibi gösterebilir. Bu da ürün hakkında yanlış güven oluşturur.
| DoD Yoksa | Sonuç |
|---|---|
| Yarım iş demo edilir | Paydaş yanlış ilerleme algısı edinir |
| Kalite sorunları saklanır | Sonradan güven kaybı oluşur |
| Hatalar gözden kaçar | Kullanıcı deneyimi zarar görür |
| Product Backlog yanlış yönlenir | Ürün planı hatalı bilgiye dayanır |
| Takım “bitirdik” sanır | Gerçek teslim değeri oluşmaz |

Definition Of Done Teknik Borcu Nasıl Azaltır
Teknik borç, kısa vadede hızlı ilerlemek için kaliteden ödün verildiğinde zamanla biriken görünmez maliyettir. Definition of Done, teknik borcun kontrolsüz büyümesini engellemeye yardımcı olur.
| Teknik Borç Sebebi | DoD'un Koruyucu Etkisi |
|---|---|
| Test yazmamak | Test ölçütü zorunlu hale gelir |
| Kod review yapmamak | Review kalite standardına eklenir |
| Dokümantasyon unutmak | Güncelleme ölçütü eklenir |
| Hız uğruna geçici çözüm | Kalıcı kalite şartları hatırlatılır |
| Güvenlik kontrolünü atlamak | Güvenlik DoD parçası yapılabilir |

Definition Of Done Çok Katı Olursa Ne Olur
Definition of Done kalite için gereklidir; fakat gerçekçi olmayan, aşırı ağır veya gereksiz bürokratik bir tanım ekibi yavaşlatabilir. DoD ne çok gevşek ne de uygulanamaz kadar katı olmalıdır.
| Çok Gevşek DoD | Çok Katı DoD |
|---|---|
| Kalite düşer | Teslim hızı gereksiz yavaşlar |
| Hatalar artar | Ekip bürokrasiye boğulur |
| “Bitti” belirsizleşir | Küçük işler bile aşırı zorlaşır |
| Teknik borç büyür | Uygulama motivasyonu düşer |

Definition Of Done Zamanla Değişebilir Mi
Evet. Definition of Done yaşayan bir kalite anlaşmasıdır. Takım olgunlaştıkça, ürün büyüdükçe, teknik ihtiyaçlar değiştikçe veya organizasyon standartları geliştikçe DoD da güncellenebilir.
| Değişim Nedeni | DoD Güncellemesi |
|---|---|
| Ürün büyüdü | Daha güçlü test ve dokümantasyon eklenir |
| Hatalar arttı | Ek kalite kontrolleri eklenir |
| Güvenlik riski yükseldi | Güvenlik kontrolü güçlendirilir |
| Takım olgunlaştı | Daha ileri kalite standartları uygulanır |
| Retrospective sonucu | Eksik kalan alanlar DoD'a eklenir |

Definition Of Done Nasıl Yazılmalıdır
Definition of Done açık, ölçülebilir, anlaşılır ve uygulanabilir şekilde yazılmalıdır. Soyut ifadelerden kaçınılmalıdır.
| Zayıf DoD Maddesi | Güçlü DoD Maddesi |
|---|---|
| Güzel çalışmalı | Belirlenen kabul kriterleri karşılanmalı |
| Hatasız olmalı | Kritik ve yüksek öncelikli açık hata kalmamalı |
| Test edilmeli | Unit testler yazılmış ve tüm testler geçmiş olmalı |
| Kod düzgün olmalı | Code review tamamlanmış olmalı |
| Doküman yazılmalı | Kullanıcı veya teknik dokümantasyon güncellenmiş olmalı |

Definition Of Done Ve Şeffaflık Arasındaki Bağ Nedir
Scrum'ın temelinde şeffaflık vardır. Definition of Done da bu şeffaflığın kalite tarafını temsil eder. Bir işin ne zaman tamamlanmış sayılacağı şeffaf değilse, Sprint ilerlemesi de güvenilir olmaz.
Bu iş gerçekten tamam mı
Hangi kalite şartları karşılandı
Eksik kalan bir alan var mı
Sprint Review'de gösterilecek kadar hazır mı
Increment kullanılabilir mi

Definition Of Done Uygulanmazsa Hangi Sorunlar Çıkar
Definition of Done yazılı olsa bile uygulanmıyorsa işe yaramaz. DoD'un kâğıt üzerinde kalması, takımda sahte tamamlanma hissi oluşturur.
| Sorun | Etki |
|---|---|
| Yarım işler artar | Sprint sonunda gerçek değer oluşmaz |
| Hatalar çoğalır | Ürün güvenilirliği düşer |
| Teknik borç büyür | Gelecekte geliştirme zorlaşır |
| Paydaş güveni azalır | “Tamamlandı” sözü inandırıcılığını kaybeder |
| Sprint Review zayıflar | Gösterilen işlerin kalitesi belirsiz olur |
| Ekip içi anlaşmazlık artar | Herkes tamamlanmayı farklı yorumlar |

İyi Bir Definition Of Done Nasıl Olmalıdır
İyi bir Definition of Done, ekibin kalite standardını açık, anlaşılır ve uygulanabilir şekilde ifade eder. Ürünün türüne göre değişebilir; ancak bazı temel özellikler her zaman önemlidir.
| Özellik | Açıklama |
|---|---|
| Ortak anlaşılmış | Takımın tamamı aynı şekilde anlar |
| Açık ve net | Yoruma fazla açık değildir |
| Ölçülebilir | Karşılanıp karşılanmadığı görülebilir |
| Uygulanabilir | Gerçekçi ve sürdürülebilir olmalıdır |
| Kalite odaklı | Ürün güvenilirliğini korur |
| Güncel | Takımın olgunluğuna göre gelişir |
| Şeffaf | Product Owner ve paydaşlar tarafından anlaşılabilir |
| Increment ile bağlantılı | Ürün artımının kullanılabilirliğini garanti eder |

Definition Of Done Örneği Nasıl Olabilir
Aşağıda genel bir yazılım ekibi için örnek Definition of Done görülebilir. Her ekip bunu kendi bağlamına göre değiştirmelidir.
| No | Tamamlanma Ölçütü |
|---|---|
| 1 | Product Backlog maddesindeki kabul kriterleri karşılandı |
| 2 | Kod yazıldı ve ana branch ile uyumlu hale getirildi |
| 3 | Unit testler yazıldı veya güncellendi |
| 4 | Tüm mevcut testler başarılı geçti |
| 5 | Code review tamamlandı |
| 6 | Kritik veya yüksek öncelikli açık hata kalmadı |
| 7 | Güvenlik ve yetkilendirme etkileri kontrol edildi |
| 8 | Gerekli dokümantasyon güncellendi |
| 9 | Ürün artımı demo edilebilir ve yayına hazır hale geldi |
| 10 | Definition of Done maddelerinin tamamı doğrulandı |

Son Söz
Definition Of Done, Scrum'da Kalitenin Ortak Dili Ve Güven Sözüdür
Definition of Done, Scrum sürecinde bir işin gerçekten tamamlandığını gösteren ortak kalite standardıdır. Bir işin üzerinde çalışılmış olması, onun bitmiş olduğu anlamına gelmez. Bir iş ancak kabul kriterlerini karşılıyor, kalite kontrollerinden geçiyor, test ediliyor, gerekli incelemeleri tamamlanıyor ve kullanılabilir ürün artımının parçası olabiliyorsa gerçekten tamamlanmış sayılabilir.
DoD yoksa ekip çok iş yapıyor gibi görünebilir; fakat bu işler yarım, test edilmemiş, belirsiz veya güvenilmez olabilir. DoD varsa ekip belki daha az ama daha gerçek, daha kaliteli ve daha sürdürülebilir değer üretir.
Scrum'da kalite, Sprint sonunda son dakika eklenen bir süs değildir. Kalite, üretimin içine yerleşmiş bir disiplindir. Definition of Done da bu disiplinin ortak adı, ortak ölçüsü ve ortak vicdanıdır.
Definition of Done, Scrum takımına şunu hatırlatır: Bir işi bitirmek, onu listeden silmek değil; onu güvenle teslim edilebilecek bir değere dönüştürmektir.
— Ersan Karavelioğlu