DMN: iş kararlarını süreçten ayırıp karar tablosuyla modellemek
DMN, bir iş sürecinin içinde verilen kararları ve bu kararların dayandığı iş kurallarını, süreç şemasını karıştırmadan modelleyen bir standarttır. Karar tablolarını, BPMN ile birlikte kullanımını ve ne zaman gerektiğini anlatır.
Bir bakışta
- DMN, kararları süreçten ayırarak modeller. Süreç akışı BPMN'de, bu akışta verilen karar mantığı DMN'de tutulur.
- Standardın iki aracı vardır: bir grafik gösterim ve bir ifade dili. Gösterim kararların birbirine bağımlılığını, ifade dili karar mantığını ayrıntılandırır.
- Karar tablosu DMN'in en bilinen yapı taşıdır. Koşullar sütunlarda, sonuçlar satırların sonunda okunur; kurallar tek bakışta denetlenir.
- Kural değiştiğinde süreç şeması değişmez. Mantık ayrı tutulduğu için iş birimi karar tablosunu bağımsız güncelleyebilir.
DMN nedir?
DMN (Decision Model and Notation), iş kararlarını ve iş kurallarını kesin biçimde tanımlamak için OMG'nin yayımladığı bir modelleme dili ve gösterimidir. Standart iki araç sunar: kararlar arasındaki bağımlılıkları, kararın ihtiyaç duyduğu verileri ve iş bilgisini gösteren grafik bir notasyon, ve karar mantığını çalıştırılabilecek kadar ayrıntılı tanımlayan bir ifade dili.
DMN, BPMN ve CMMN ile birlikte çalışacak biçimde tasarlanmıştır. Süreç modelleri “ne, hangi sırayla” sorusunu yanıtlar; DMN ise sürecin içindeki “hangi koşulda hangi karar” sorusunu. Böylece onay, fiyat sınıfı, risk puanı gibi kararlar süreç şemasına kapı ve ok yığını olarak gömülmez.
BPMN akışı, DMN ise o akıştaki kararı modeller
| BPMN | DMN | |
|---|---|---|
| Yanıtladığı soru | Hangi adımlar, hangi sırayla? | Bu koşulda hangi karar verilir? |
| Ana yapı | Süreç akış diyagramı | Karar tablosu ve karar diyagramı |
| Değişim nedeni | Çalışma biçimi ya da sıra değişir | İş kuralı ya da eşik değeri değişir |
| Tipik sahibi | Süreç sahibi, analist | İş birimi, politika sahibi |
Karar tablosu nasıl okunur?
Karar tablosu, giriş koşullarını sütunlarda, sonucu ise satırın sonunda gösterir. Her satır tek bir kuraldır: bu koşullar birlikte sağlanıyorsa şu sonuç döner. Tablo bütünüyle kuralların eksiksiz ve çelişkisiz olup olmadığını denetlemeyi kolaylaştırır; iş birimi akış şemasına bakmadan kuralları okuyabilir.
Birden çok kural aynı girdiyle eşleşirse hangi sonucun döneceğini vuruş politikası (hit policy) belirler: ilk eşleşen kural mı, tüm eşleşenler mi, bir toplama mı. Bu seçim, tablonun doğru çalışması için baştan yapılmalıdır.
Kurgusal bir örnek: kredi başvurusunda ön değerlendirme
Bir banka, kredi başvurularını ön değerlendirmeden geçiriyor olsun. Girdiler başvuranın gelir düzeyi ve geçmiş ödeme durumudur. Karar tablosu şöyle okunur:
- Gelir yüksek ve ödeme geçmişi temiz: ön onay
- Gelir orta ve ödeme geçmişi temiz: ek belge istenir
- Ödeme geçmişi sorunlu: uzman değerlendirmesine yönlendirilir
BPMN sürecinde yalnız “ön değerlendirme” adında bir karar görevi bulunur; görev tabloyu çağırır ve dönen sonuca göre akış devam eder. Banka eşik değerini değiştirmek istediğinde süreç şemasına dokunmaz, yalnız tabloyu günceller. Bu ayrım, iş kurallarının sık değiştiği alanlarda DMN'in asıl faydasıdır.
Süreç modellemede DMN ne zaman gerekir?
Süreç şeması karar noktalarıyla dolup taşıyorsa, aynı kuralın birçok yerde tekrarlanıyorsa ya da iş birimi kuralları sık güncelliyorsa DMN gereklidir. Kuralın bir kez ve basit biçimde sorulduğu süreçlerde ayrı bir karar modeli gereksiz karmaşa getirebilir.
Ortak hata, karar mantığını yönetim ağ geçitlerine ve not kutularına gömmektir: şema okunmaz hale gelir, kural değişikliği süreç değişikliğine dönüşür. Başka bir hata ise karar tablosunu kapsamlı düşünmeden yazmaktır: koşul kombinasyonlarından biri atlanırsa sistem hiç cevap vermeyebilir. Tablonun tüm kombinasyonları karşılayıp karşılamadığı gözden geçirilmelidir.
Benzer kavramlardan farkı
BPMN akışı, DMN kararı modeller; ikisi aynı sürecin farklı yüzleridir. Yazılım testinde kullanılan karar tablosu tekniği ise farklı bir amaç taşır: koşul kombinasyonlarından test senaryoları üretir. Tablonun biçimi benzese de DMN'de tablo, sistemin gerçekten çalıştırdığı iş mantığının kendisidir.
Mindset programlarında bu konu nerede çalışılır?
BPM Araçları (Camunda, Bonita) Temelleri programı, süreç tasarımını platform seçimi, süreç geliştirme ve karar otomasyonu ve DMN ile birlikte ele alır. Süreç otomasyonu kuracak analist ve geliştiriciler için, iş kurallarını süreçten ayırma pratiği bu çalışmanın merkezindedir.
İlgili Mindset programı
BPM Araçları (Camunda, Bonita) Temelleri
Sık sorulan sorular
DMN ile BPMN aynı şey midir?
Aynı değildir ama birlikte kullanılır. BPMN süreç akışını, DMN ise o akıştaki kararları ve kuralları modeller. OMG'ye göre DMN, süreç ve vaka modelleriyle birlikte çalışacak biçimde tasarlanmıştır.
DMN yalnızca karar tablosu mudur?
Hayır. Karar tablosu DMN'in en bilinen yapısıdır ama standart ayrıca kararların bağımlılıklarını gösteren bir diyagram ve karar mantığını tanımlayan bir ifade dili de içerir. Tablo, bu bütünün içindeki bir araçtır.
Yazılımcı olmayan biri DMN kullanabilir mi?
Evet, amaçlardan biri budur. Karar tabloları iş birimi tarafından okunup güncellenebilecek kadar sade tasarlanır. Yine de çalıştırılabilir hale getirmek için genellikle bir BPM platformu ve teknik destek gerekir.
Karar tablosunda birden çok kural eşleşirse ne olur?
Vuruş politikası (hit policy) devreye girer. Bazı politikalar ilk eşleşen kuralın sonucunu döndürür, bazıları tüm eşleşen sonuçları listeler. Politika, tablo yazılırken seçilir ve kuralların çakışmasını yönetir.
Test tekniği olarak karar tablosu ile DMN aynı mıdır?
Hayır. Test tekniğinde tablo, senaryo üretmek içindir. DMN'de tablo, sistemin gerçekten uyguladığı karar mantığıdır. Biçim benzer, amaç farklıdır.