Definition of Done
Tamamlanma Tanımı
- Okunuşu
- definişın ov dan
Kısaca
Definition of Done, bir işin ekip tarafından tamamlanmış sayılabilmesi için karşılaması gereken kalite standartlarının ortak kontrol listesidir.
Definition of Done nedir?
Çoğunlukla DoD diye kısaltılan Definition of Done, her iş öğesinin ekip onu bitmiş olarak adlandırmadan önce karşılaması gereken, üzerinde anlaşılmış ölçütler listesidir. Bir özellik henüz test edilmemiş, gözden geçirilmemiş veya belgelenmemişken birinin onu bitti demesinin yarattığı belirsizliği ortadan kaldırır. Scrum'da increment'e bağlı resmî bir taahhüttür: Definition of Done'ı karşılamayan iş yayınlanamaz veya sprint review'da bitmiş gibi sunulamaz.
Tipik bir Definition of Done şu gibi maddeler içerir: kod gözden geçirilmiştir, otomatik testler geçer, test kapsamı ekibin standardını karşılar, dokümantasyon güncellenmiştir ve değişiklik birleştirilip bir staging ortamına dağıtılmıştır. Ekip bunu birlikte oluşturur, herkesin görebileceği bir yerde tutar ve pratikleri geliştikçe zamanla sıkılaştırır. Kurumun şirket geneli bir standardı varsa her ekip en azından ona uymak zorundadır ve kendi daha katı kurallarını ekleyebilir.
Bir pilotun uçuş öncesi kontrol listesi gibi düşünün: uçak nereye giderse gitsin her uçuştan önce aynı kontroller yapılır ve önemli hiçbir şey hafızaya bağlı kalmaz. DoD her öğeye uygulandığı için kaliteyi tutarlı tutar ve test edilmemiş kod gibi gizli işlerin teknik borç olarak birikmesini önler.
Definition of Done çoğunlukla kabul kriterleriyle karıştırılır. Kabul kriterleri tek bir user story'ye özgüdür ve o özelliğin ne yapması gerektiğini tanımlar; Definition of Done ise tüm iş için aynıdır ve ulaşılması gereken kalite çıtasını tanımlar. Bazı ekipler ayrıca bir story'nin başlamak için yeterince net olduğunu gösteren bir kontrol listesi olan Definition of Ready'yi de kullanır, ama bu resmî Scrum'ın parçası değildir.
Önemli noktalar
- Definition of Done, tüm işe uygulanan ortak bir kalite kontrol listesidir.
- Bitti kavramının ekipteki herkes için aynı anlama gelmesini sağlar.
- Onu karşılamayan iş increment'in parçası değildir.
- Tek bir story'ye özgü olan kabul kriterlerinden farklıdır.
- Ekipler pratikleri olgunlaştıkça onu zamanla daha katı hale getirmelidir.
Örnek
Definition of Done (Web team)
[ ] Code is peer reviewed and merged to the main branch
[ ] All automated tests pass in the CI pipeline
[ ] New code has unit tests; coverage does not decrease
[ ] Acceptance criteria are verified by someone other than the author
[ ] No new linting errors or security warnings
[ ] User-facing changes are documented
[ ] Feature is deployed to the staging environmentSık sorulan sorular
Definition of Done ile kabul kriterleri arasındaki fark nedir?
Kabul kriterleri belirli bir user story'nin ne yapması gerektiğini tanımlar; Definition of Done ise her story'ye uygulanan bir kalite standardıdır. Bir story ancak ikisini de karşıladığında tamamlanmıştır.
Definition of Done'ı kim oluşturur?
Scrum'da Scrum ekibi bunu birlikte oluşturur. Kurumun zaten bir standardı varsa ekip o standarda uyar ve kendi daha katı ölçütlerini ekleyebilir.
Definition of Done değişebilir mi?
Evet. Ekipler genellikle onu retrospektiflerde gözden geçirir ve becerileri ile araçları geliştikçe, örneğin otomatik güvenlik taramaları ekleyerek daha katı hale getirir.
İlgili sayfalar
- ScrumEkipler ve Süreç, s. 21Scrum, küçük bir ekibin tanımlı roller, olaylar ve çıktılarla ürünü sprint denen sabit uzunluklu döngülerde teslim ettiği bir Agile framework'üdür.
- User StoryEkipler ve Süreç, s. 29User story, bir özelliğin kullanıcının bakış açısından, kimin neyi neden istediğini açıklayan kısa ve sade bir dille yazılmış tanımıdır.
- SprintEkipler ve Süreç, s. 25Sprint, bir Scrum ekibinin tek hedefe doğru çalışıp kullanılabilir bir ürün artışı ürettiği, bir ay veya daha kısa, çoğunlukla iki haftalık sabit dönemdir.
- Code ReviewSürüm Kontrolü, s. 4Code review, kod değişikliklerinin birleştirilmeden önce başka geliştiricilerce incelenmesidir; hataları yakalar, kaliteyi artırır, bilgi paylaşımını sağlar.
- Test KapsamıTest ve Kalite, s. 30Test kapsamı, otomatik testler çalışırken bir programın kaynak kodunun ne kadarının yürütüldüğünü ölçen ve genellikle yüzde olarak gösterilen bir metriktir.
- CI/CDDevOps ve Bulut, s. 9CI/CD, kod değişikliklerini sık sık derleyen, test eden ve yayınlayan otomatik pratikler bütünüdür; yazılım kullanıcılara hızlı ve güvenli biçimde ulaşır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin