30 saniyelik özet

Business Rule, yani iş kuralı, işletmenin kararlarını ve davranışlarını yöneten bir koşulu, zorunluluğu veya sınırı tanımlar. “Müşteri uygun olmalı” belirsizdir; uygunluğun hangi bilgi ve koşullarla değerlendirileceği açıklanmalıdır. Kuralın kaynağı, sahibi, yürürlük zamanı ve istisnaları da bilinmelidir. Ekran değişse bile aynı iş kararının tutarlı uygulanması gerekir. İş analisti, kuralları görünür ve doğrulanabilir hâle getirerek kişisel yorumlara dayalı uygulamaları azaltmaya yardımcı olur.

Neden önemli?

Bir abonelik platformunda müşteri paket değiştirmek istediğinde web uygulaması talebi kabul ederken satış temsilcisi aynı değişikliğin yapılamayacağını söyleyebilir. Sorun, iki tarafın farklı bilgiye veya farklı kurala dayanması olabilir. Teknik olarak çalışan kanallar, aynı ticari kararı farklı biçimde uyguluyor olabilir.

Bu tutarsızlık müşteri deneyimini ve operasyonu etkiler. Destek ekibi hangi kararın doğru olduğunu araştırır, finans kayıtları düzeltir, ürün ekibi yeni istisnalar ekler. Kural açıkça yönetilmediğinde her düzeltme başka bir yerde farklı davranış oluşturabilir. Tek bir ekranın düzeltilmesi, işletmenin bütün kanallarında tutarlılık sağlamaz.

Junior bir iş analisti için iş kuralları, gereksinimin arkasındaki karar mantığını araştırma alanıdır. Kullanıcının ne yapmak istediğini bilmek yetmez; hangi koşulda yapabileceğini anlamak gerekir. Yönetici açısından bu çalışma, yetki ve kontrol tercihlerini görünür kılar. Ticari bir kararın yazılım içinde sessizce verilmesini engeller.

Endüstri mühendisliği açısından kurallar, sürecin hangi koşullarda hangi yola ilerlediğini belirler. Aynı işlem farklı sonuç üretiyorsa önce koşulların ve kullanılan bilginin aynı olup olmadığı araştırılır. Her fark hata değildir; farklı müşteri grubu veya sözleşme koşulu nedeniyle gerekli olabilir. Farkın gerekçesi açıklanmalıdır.

Terim nedir?

İş kuralı, işletmenin nasıl davranması gerektiğini veya hangi ilişkiyi geçerli kabul ettiğini belirleyen ifadedir. Bir politika, sözleşme, yetkili karar veya operasyon gereksiniminden doğabilir. Kuralı yazmak, analistin bu konudaki karar yetkisini üstlendiği anlamına gelmez. Kural ilgili sahibi tarafından doğrulanmalıdır.

Politika çoğu zaman genel yönü açıklar. İş kuralı bu yönün belirli bir durumda uygulanmasına yardımcı olur. İş gereksinimi değişimin neden gerekli olduğunu, fonksiyonel gereksinim ise çözümün hangi davranışı sağlayacağını anlatır. Örneğin sipariş hatalarını azaltma ihtiyacı, hangi siparişin onaylanabileceğini belirleyen kurallara ve sistemin uygulayacağı kontrollere bağlanabilir.

Kuralın süreçten ve ekrandan ayrı ifade edilmesi yararlıdır. “Kaydet düğmesine basılınca uyarı göster” bir sistem davranışıdır. Uyarıyı gerekli kılan koşul ise ayrı bir iş kuralına dayanabilir. Böylece aynı koşul başka bir kanalda da değerlendirilebilir; ekran tasarımı değiştiğinde kararın anlamı korunur.

İyi bir ifadede kullanılan kavramlar tanımlıdır. “Aktif müşteri”, “açık fatura” veya “geçerli sözleşme” farklı ekiplerde farklı anlamlar taşıyabilir. Bu kavramlar netleşmeden yazılan kural, görünürde kesin olsa da uygulamada yoruma açık kalır. Gerekli bilgi bulunmadığında nasıl davranılacağı da belirtilmelidir.

Birden fazla koşul varsa karar tablosu kullanılabilir. Karar tablosu, koşulların birleşimleriyle karşılık gelen sonuçları birlikte gösterir. Her olasılık için geçerli bir sonuç bulunup bulunmadığı ve aynı durumda çelişen kararların oluşup oluşmadığı kontrol edilir. İstisna varsa temel kuralla ilişkisi açıklanmalıdır.

Kuralın zaman boyutu da önemlidir. Yeni kuralın ne zaman yürürlüğe gireceği ve mevcut işlemlere uygulanıp uygulanmayacağı belirlenmelidir. Geçmiş bir işlemi bugünkü kuralla değerlendirmek yanlış sonuca götürebilir. Değişiklik geçmişi, kararın o tarihte neden verildiğini araştırmayı kolaylaştırır.

Gerçek vaka: Eski sistemdeki kuralları ortaya çıkarmak

AveriSource’un yayımladığı vaka, adı açıklanmayan bir ABD eyalet kamu kurumunun eski sistemini modernleştirme çalışmasını anlatıyor. İş kurallarının mevcut uygulamaya gömülü olması ve sistemi bilen uzmanlara erişimin zorlaşması, mevcut davranışın anlaşılmasını önemli hâle getirmiş.

Kaynakta, mevcut sistemin teknik analizi yapılarak iş kurallarının çıkarılması, ortak ve artık gerekli olmayan işlevlerin belirlenmesi, fonksiyonel gereksinimlerin teknik kurallarla eşleştirilmesi anlatılıyor. İş ve teknik ekiplerin ortak anlayışını desteklemek için bilgi deposu ve veri sözlüğü oluşturulduğu da belirtiliyor. Veri sözlüğü, verilerin anlamlarını ve ilgili tanımlarını bir araya getirir.

Bu vaka, yeni sistem tasarımından önce mevcut karar mantığını görünür kılmanın önemini gösteriyor. Ancak koddan çıkarılan davranışın güncel politika açısından doğru olduğu ayrıca değerlendirilmelidir. Kaynak teknoloji sağlayıcısının müşteri anlatımıdır; kuralların her birinin iş açısından doğruluğunu bağımsız olarak gösteren bir inceleme sunmuyor.

Kaynak: AveriSource, “AveriSource Accelerates Business Rules Extraction and Modernization Project Delivery For U.S. State Government Agency”.

Varsayımsal örnek: Abonelik paketini düşürmek

İşletmelere abonelikle yazılım sunan bir şirketin paket değişikliği akışını geliştirdiğini düşünelim. İlk gereksinim “müşteri paketini düşürebilsin” olsun. Analist, bu davranışın hangi koşullarda mümkün olduğunu ürün, operasyon ve finansla araştırır.

İşletmenin doğruladığı örnek bir kural şöyle olabilir: “Paket düşürme, talep onaylandıktan sonra mevcut abonelik döneminin sonunda geçerli olur.” Burada dönem sonunun hangi kayıttan belirlendiği ve onayın ne anlama geldiği ayrıca tanımlanmalıdır. Bu ifade gerçek bir şirketin politikası veya bütün abonelik işletmeleri için öneri değildir.

Bir başka koşul, yeni paketin kullanım sınırlarıyla ilgili olabilir. Müşterinin mevcut kullanımı hedef paketin sınırını aşıyorsa hangi karar verileceği belirlenir. Talep reddedilebilir, kullanım azaltıldıktan sonra yeniden değerlendirilebilir veya tanımlı bir geçiş uygulanabilir. Analist seçeneği kendiliğinden belirlemez; yetkili kararı ve gerekçesini kaydeder.

Karar tablosunda talebin uygunluğu, geçerlilik zamanı ve gereken işlem birlikte gösterilir. Sonucun hesaplanması için veri eksikse bu da ayrı bir durumdur. Eksik bilgiyi otomatik olarak uygun veya uygunsuz kabul etmek, işletmenin onaylamadığı bir karar yaratabilir.

İstisnai değişiklikler için kimin yetkili olduğu ve hangi gerekçenin kaydedileceği belirlenir. İstisna, temel kuralı belirsiz biçimde aşan bir arka kapı olmamalıdır. İstisna kararının kapsamı ve hangi işlem için geçerli olduğu izlenebilir olmalıdır.

Çözüm gereksinimleri daha sonra bu kurallara bağlanır. Müşteriye değişikliğin ne zaman uygulanacağı gösterilir, uygunluk kontrolü yapılır ve karar kaydedilir. Web, satış paneli ve diğer işlem kanallarının aynı kurala uygun davranması sınanır. Kural değiştiğinde hangi davranışların ve test senaryolarının etkilenebileceği bulunabilir.

Yaygın üç hata

  1. Kuralı belirsiz sıfatlarla yazmak. “Uygun müşteri”, “yüksek tutar” veya “gerekli onay” ifadeleri tanımsızsa uygulanamaz. Koşulları ve bilgi kaynaklarını açıklayın. Ölçülmemiş veya yetkili kişi tarafından belirlenmemiş eşikleri, belgeyi tamamlamak için uydurmayın.
  2. Mevcut kodu güncel iş politikası kabul etmek. Kod, bugün uygulanan davranışı gösterebilir; fakat eski kararları, hataları veya geçici çözümleri de içerebilir. Çıkarılan kuralı ilgili iş sahibi ve kaynaklarla karşılaştırın. Korunacak, değiştirilecek ve araştırılacak davranışları ayırın.
  3. İstisnaları ve yürürlük zamanını kaydetmemek. Temel kural doğru olsa bile farklı kanallar istisnayı farklı yorumlayabilir. Kimin yetkili olduğu, değişikliğin ne zaman başlayacağı ve mevcut işlemleri nasıl etkileyeceği belirtilmelidir. Aksi hâlde aynı müşteri için farklı tarihlerde verilen kararların gerekçesi anlaşılamaz.

Mini uygulama: İş kuralı kartı

Bir karar noktası seçin ve aşağıdaki alanları doldurun. Her kurala, takip edilebilmesi için benzersiz bir kimlik verin.

Kural kimliği ve adı
—
Kural ifadesi
Hangi koşulda hangi sonuç geçerli?
Gerekçe
Hangi işletme ihtiyacını veya kontrolü karşılıyor?
Kaynak
Hangi politika, sözleşme veya karar destekliyor?
Sahip
Kuralı kim doğruluyor ve değiştirebiliyor?
Kavramlar
Kullanılan terimler nasıl tanımlanıyor?
Gerekli veri
Karar hangi bilgiye dayanıyor?
İstisna ve yetki
Farklı davranışa kim izin verebilir?
Yürürlük
Ne zaman başlıyor, hangi işlemlere uygulanıyor?
Etkilenen alan
Hangi süreç ve kanallarda kullanılıyor?
Doğrulama
Hangi örnekler kararı sınayacak?

Kartı normal durum, sınır durumu ve eksik bilgi örneğiyle değerlendirin. Aynı koşulların farklı sonuç üretip üretmediğini araştırın. İş kuralının değeri uzun bir liste oluşturmakta değil, işletmenin karar mantığını açıklamakta ve değişiklikleri tutarlı yönetilebilir hâle getirmektedir.

İlgili terimler

Business Requirement, Domain Knowledge, Requirements Elicitation, Stakeholder Analysis, Functional Requirement, Acceptance Criteria, Data Mapping ve Data Dictionary, Process Mapping ve BPMN, Requirements Traceability Matrix, Change Request ve Impact Analysis, Use Case