Kural Motorlarında Kural Yazmanın 5 Altın Kuralı
BRE (Business Rule Engine) yada Kural Motoru nedir ve nasıl çalışır eğer bir örnek ile öğrenmek isterseniz yukarıdaki videoyu izleyebilirsiniz. Bu yazımızda biraz daha derine dalarak, hangi kural motoru olursa olsun, kural motorlarında kural yazmanın 5 altın kuralını sizlere anlatacağız. Bu makalede örneklerimizi, gündelik dil ile kural yazılmasına olanak sağlaması açısından, pazardaki en iyi kural motorlarından birisi olan IBM Operational Decision Manager(IBM ODM) üzerinde anlatacağız. IBM ODM’in kolay kullanılabilir olmasının yanında, gerçek değeri ise yüksek kalitede kurallar yazarken karşımızı çıkar.
“Bu güne kadar ben ve ekibim on binlerce kuralı Sigorta şirketlerinde ve Bankalarda devreye aldık ve büyük ihtimalle bu güne kadar yaptığınız en az bir işlem bizim geliştirdiğimiz kural motorlarından geçerek değerlendirildi.”
1- Kurallar ne kadar kolay yazılıyor?
Kural yazarlarının Decision Center üzerindeki iş sözlüğünden, seçerek oluşturdukları yapılara iş kuralı ya da kural yazımı denir. Unutulmamalıdır ki; kaliteli kural yazmanın ilk ve en önemli şartı, kuralın kolay yazılabilir olmasıdır.
Doğru dizayn edilmiş ODM kural uygulamaları, kural yazarlarına rehber olur ve yazmak istedikleri kural seçeneklerini onlar için hazırlar. Bu sayede; kelime havuzundaki bütün kelimeler değil, bağlantılı kelimeler kural yazarlarının karşısına çıkar, olası bir kafa karışıklığının önüne geçilmiş olur ve süreç yönetsel olarak daha da kolaylaşır.
Bu süreç esnasında; IT tarafında kullanılan terimlerin, kural yazarları tarafından görülmemesi gerektiği de unutulmamalıdır.
Sadeleştirme ve hız konularında doğru kelimeleri göstermek, süreç verimliliği açısından önemlidir. Bu konuda, ODM aşağıdaki özellikleri, bizlere sunmaktadır:
· Kategoriler: Kategoriler; kullanılan iş sözlüklerinde alt kümeler oluşturur ve bu alt kümelerin, kullanan kural öğelerinde görülmesine izin verir.
Kullanıcıya alakasız kelimeleri değil; o kural özelinde seçilen kelimelerin, seçenek olarak sunulmasını sağlar.
· Kümeler ve değer düzenleme: Kural yazarlarının, kümeler üzerinde seçimler yapmasına olanak tanır. Örnek vermek gerekirse; yazarlar, şehir ile ilgili kural yazmak istediklerinde, önlerine bütün şehir listesinin çıkmasını sağlar.
Böylece; kural yazarının yapacağı hatalar minimize edilmiş olup, listeler üzerinden seçimler yaparak ilerlemeleri sağlanır.
· Diğer tipler: ODM, kural yazarlarının daha okunabilir bir formatta kural yazmaları için; para birimi, yüzde, ağırlık vb. birimleri ve bu birimler üzerindeki işlem seçeneklerini, ön tanımlı olarak kullanıcıya sunar.
2. Kural anlaşılabilir mi?
Kaliteli bir kural anlaşılabilirdir, açıklamaya veya ek notlara ihtiyaç duymaz. Kural, kullanıcılar ya da iş sahipleri tarafından okunduğu zaman anlaşılabilir olmalıdır.
Doğru kelime seçimleri bu konuda önemlidir. Kurallar lokal tanımlardan, karışık iş mantıklarından ve çoklu döngülerden uzak durularak yazılmalıdır. Unutulmamalıdır ki; bu kavramlar IT dışındaki kullanıcılar için anlaşılması ve uygulanması zor kavramlardır. Bu sebeple; açık ve net bir şekilde, günlük dil ile yazılmalıdır.
Karar tablolarının, kolon açıklamaları net olmalıdır. Ayrıca, tablonun içinde çok fazla boş hücre olmamalıdır. Böyle bir tabloyu, mantıksal bir şekilde, birden fazla tabloya bölmek daha anlaşılır olacaktır.
3. Kural analizi yapılıyor mu?
Projeler büyüdükçe, yazılan kuralların takibi de zor olmaktadır. Etki analizleri, kural bütünlüğü, birbirini tekrarlayan kurallar, kurallarda bırakılan açıklıklar ve birbirini ezen kuralların incelenmesi gerekmektedir.
Her kural yazımının, öncesinde ve sonrasında bu analizlerin yapılması gerekmektedir. ODM, analizler için bize bazı araçlar sağlamaktadır.
4. Kural kolay bulunabiliyor mu?
Kuralların birbirine girdiği bir proje, doğru çalışsa bile kolay yönetilemez ve projenin kalitesi istenilen seviyenin altında kalır. Bir kural projesinde, iş mantıkları birbirinden düzgün bir şekilde ayrılmalıdır. Benzer işleri yapan kuralları ise ODM Decision Center Konsolu’nda, klasörler oluşturarak gruplamak önemlidir. Bu klasörlerin ve kuralların isimlerinin de açıklayıcı olması gerekir. Kullanıcı, bağımsız bir şekilde, ne aradığını bilen birisi ise kolaylıkla, aradığı ilgili kurala ulaşabilmelidir.
Bu gruplamalar, temel olarak projedeki karmaşıklığı azaltacak ve daha yönetilebilir bir kural projesi sunacaktır.
5. Kural yönetiliyor mu ?
Kural yönetimi; kural içeriklerinin oluşturulması, değişmesi ve silinmesi süreçlerinde bazı soruları sormak kuralın kalitesini artıracaktır. Bunlar:
· Kuralda kimler değişiklik yapabilir?
· Kural hangi sürüme dahil olacak?
· Son kural değişikliğini kim yaptı?
· Kuralın etkin olacağı tarihler hangileridir?
· Değişiklik ve yeni talep yönetimi var mı?
· Defect yönetimi uygulanıyor mu?
ODM, operasyonlarını Relaese Management Framework ile yürütmektedir. Tercihe bağlı olarak; bu özellik kullanılmaya başlanıldığında, yukarıdaki soruların cevapları kendiliğinden yani kural projesi tarafından verilmeye başlanacaktır.
Kural kalitesi; kalabalık gruplarla beraber çalışmak ve çevikliğini artırmak için olmazsa olmaz bir maddedir. Proje kapsamında yukarıdaki kalite adımlarını da izleyerek projeler daha yönetilebilir hâle getirilebilir.