"DEFINITION OF DONE" ve "ACCEPTANCE CRITERIA" Farkı
- Kılıç SOFTACADEMY
- Dec 5, 2023
- 2 min read
Updated: Dec 14, 2023

Bu yazımızda, özellikle yazılım alanında popüler olan çevik yazılım geliştirme yaklaşımlarında sıkça karıştırılan “Definition of Done” ve “Acceptance Criteria” kavramlarından bahsedeceğiz. Yazıda bu iki kavram, anlam kargaşası olmaması açısından Türkçe’ye çevrilmeden kullanılacaktır.
İki kavram da bakıldığında bir işin bitip bitmediğini gösteren kriterler olarak karşımıza çıkıyor. Farklarına geçmeden önce en popüler Çevik (Agile) frameworklerden biri olan Scrum’daki bazı başka kavramlardan bahsedelim.
Scrum’da, bir projenin başında Product Owner tarafından, paydaşlar ile beraber yapılacak işin kabaca kapsamını belirleyen ve önem sırasına göre sıralanan bir liste çıkarılır. Buna “Product Backlog” denir. Bu listedeki her bir maddeye ise Product Backlog Item (PBI) denir ve zaman içerisinde değişebilir, netleşebilir veya kaldırabilir.
Daha sonra, bu liste içinden en fazla 1 ayda ya da en fazla yazılım projelerinde daha çok tercih edilen zaman dilimi olan 2 haftada bitirilebilecek kadar Product Backlog Item çekilerek ayrı bir listeye konur. Bu listedeki işlerin yapılması sürecine ise “Sprint” denir.
Sprint’deki yapılacak işleri gösteren listenin yer aldığı yapıya ise “Sprint Backlog” denir. Sprint Backlog’ta PBI’ların yanısıra “Sprint Planning” ve “Sprint Goal” de yer almaktadır.
Kısaca PBIs + Sprint Backlog + Sprint Planning = Sprint Backlog
Sprintler, ara vermeden ardı ardına gerçekleştirilir ve her Sprint, nihai ürüne doğru gelişen yeni bir versiyonda ürün ortaya çıkarır. Bu ürünlerin her birine "Increment" denir. Örneğin bir web sitesi geliştirmek bizim ana hedefimiz ise, ana sayfanın tamamlanması ve yayınlanması bir increment olabilir. Ana sayfadan sonra, diğer alt sayfaların ve ana sayfaya eklenecek diğer özelliklerin oluşması da diğer sprintlerde gerçekleşir.
Bütün bu işleri yardımlaşma içinde yapan ekibe ise "Scrum Team" denir. Scrum Team'in üyeleri; Developers, Product Owner ve Scrum Master'dır. Scrum Team, müşteri gibi paydaşlarla (stakeholders) da iletişim halindedir.
Bu kavramları açıkladıktan sonra gelelim “Definition of Done” ve “Acceptance Criteria” farklarına.
ACCEPTANCE CRITERIA
Tek bir PBI için kullanılır.
Product Owner oluşturur.
İşin bitip bitmediğine fonksiyonel perspektiften bakar.
PBI'ın bir parçasıdır.
Zorunlu değil, isteğe bağlıdır.
DEFINITION OF DONE
Hem PBI hem de increment için kullanılır.
Scrum Team oluşturur.
İşin bitip bitmediğine teknik açıdan bakar.
Zorunludur.
Checklist'e benzese de bir checklist değildir.
"Definition of Done" maddeleri örneği:
Code review
Unit test
Acceptance testing
Technical documentation
Mobile device testing
Performance, availability, security
"Acceptance Criteria" Örneği:
PBI olarak şunu baz alalım: "Web sitesinin ana sayfasında arama özelliği olacaktır." ve bu PBI için örnek bir kabul kriteri yazalım;
Arama alanı ana sayfanın sağ üst köşesindedir.
Kullanıcı "Ara" butonuna basarak arama yapar.
Arama alanında placeholder olarak "Ara" yazar.
Arama alanına 200'den fazla karakter girilemez.
Arama İngilizce ve Türkçe yapılabilir.
Bu yazımıda kısaca Definition of Done ve Acceptance Criteria farklarına baktık, faydalı olması dileğiyle.