BES raporlamasında kimsenin olay raporuna dürüstçe yazmadığı belirli bir hata modu vardır. Pipeline çalıştı. Doğrulamalar geçti. Gönderim teknik katmanda kabul edildi. Haftalar sonra EGM veya SPK'dan bir ret ya da düzeltme talebi geliyor ve kök neden geçen çeyrekle aynı: pipeline'ın haberdar olma imkânı bulunmayan bir tarihte yürürlüğe giren bir genelge değişikliği ya da ürün onay değişikliği.
Pipeline, bildiği kurallara göre doğruydu. Zaten yürürlükte olan kurallara göre yanlıştı.
Kanal Uyumsuzluğu
Türk emeklilik mevzuatı, makine tarafından okunabilir değişiklik akışları yayımlamaz. Değişiklikler şu yollarla gelir:
- Öncelikle PDF formatında olan ve ETL işleri için değil hukukçular için yapılandırılmış Resmi Gazete yayınları
- Uyum posta kutularına dağıtılan EGM genelgeleri; bazen ekli, bazen giriş gerektiren eklere bağlantılı
- Veri ekibine değil, ürün ekibine giden SPK ürün onay yazıları
- Sözlü bir açıklığa kavuşturmanın, yazılı bir belgeye dönüşmeden bağlayıcı uygulamaya geçtiği sektör toplantıları
- Mart'ta belirsiz olan bir kuralın Haziran'da kesin bir yoruma kavuşup Mart verisine uygulandığı geriye dönük yorumlar
Bunların hiçbiri GEV, HAYMER veya EGM gönderimlerini üreten sistemlerle entegre değildir. Entegrasyon; e-posta okuyan, PDF ileten ve veri tarafında birinin hangi düzendeki hangi alanın etkilendiğini anlamasını uman bir insandır.
Gecikme Gerçekte Nasıl Görünüyor
Uygulamada, bir kural değişikliğinin yaşam döngüsü şöyledir:
-
Düzenleyici, çoğunlukla 15 ila 45 gün ileri, bazen geriye dönük bir yürürlük tarihiyle değişikliği yayımlar
-
Uyum ekibi belgeyi alır, okur, bir ticket açar ya da e-posta gönderir
-
E-posta, ürün kataloğuna karşı önceliklendirilene kadar bekler
-
Bir iş analisti, hukuki metni alan düzeyinde bir spesifikasyona çevirir
-
Veri mühendisliği tahminler, planlar, geliştirir, test eder
-
Değişiklik, genellikle yürürlük tarihi geçtikten sonra devreye alınır
-
adım ile 6. adım arasında pipeline eski kurallar altında gönderim yapmaya devam eder. Bu pencere içindeki her günlük veya haftalık döngü, işaretlenmeyi bekleyen bir ihlaldir. Düzenleyici, değişiklik yönetimi sürecinin altı hafta sürdüğünü umursamaz. Yürürlük tarihi, yürürlük tarihidir.
Somut Bir Örüntü
Bir ürün parametresi değişir; örneğin belirli bir devlet katkısı senaryosu için minimum hak kazanma süresi ya da eskiden bir kovaya giren, artık başka bir kovaya giren bir katkı türünün sınıflandırma kodu. Genelge ayın 3'ü tarihli, 15'inde yürürlüğe giriyor. Uyum ekibi 8'inde iletir. Yürürlükten bir gün önce, 14'ünde veri mühendisliğine ulaşır. Değişikliğin 15'inde production'da olma şansı yoktur. Yürürlük tarihi sonrası işlemleri içeren ilk gönderim döngüsü, eski eşleme ile çalışır. Hata iç doğrulamada görünmez çünkü iç doğrulama eski kurala göre kurulmuştur.
Ret üç hafta sonra gelir. O zamana kadar dört gönderim döngüsü yanlış sınıflandırmayı kullanmıştır. Dördü için de düzeltme dosyaları hazırlanmalıdır; bu yeniden işleme, yeniden imzalama ve yeniden gönderme gerektirir ve her birinin kendi SLA'i vardır.
Bu Neden Daha Fazla Otomasyonla Çözülemez
Refleks yanıt, Resmi Gazete'yi kazımak veya bir hukuki güncelleme servisine abone olup JIRA'ya bağlamaktır. Bu marjda yardımcı olur ama sorunu çözmez, çünkü:
- Hukuki metin bir spesifikasyon değildir. "X koşulunu karşılayan planlara işveren katkılarının sınıflandırması Y kodu altında raporlanacaktır" ifadesini bir alan eşlemesine çevirmek, bir scraper'ın sahip olmadığı bir muhakeme gerektirir
- Bir kuralın bağlayıcı sürümü çoğunlukla asla yayımlanmayan, yalnızca bir toplantıda veya telefon görüşmesinde iletilen bir açıklamadır
- Geriye dönüklük otomatikleştirilerek ortadan kaldırılamaz. Bir kural yayım tarihinde yürürlüğe girip yorum iki ay sonra oturuyorsa, hiçbir izleme sistemi ara dönemde doğru davranışı yakalayamaz
Zararı Gerçekte Ne Azaltıyor
Yıllarca GEV, HAYMER ve EGM pipeline'larının sahipliğini yaptıktan sonra, birkaç uygulama gecikmeyi tutarlı biçimde kısaltır ve düzeltme yükünü azaltır:
- Sadece kodu değil, kural setini de versiyonlayın. Her gönderim, hangi mevzuat kural seti versiyonu altında üretildiğini tanımlayan metadata taşımalıdır. Düzeltme gerektiğinde, hangi döngülerin etkilendiğini tam olarak bilirsiniz
- İlk günden itibaren düzeltme için tasarlayın. Yeniden işleme ve düzeltme gönderimleri istisnai akışlar değil, normal durumdur. Düzeltmeleri nadir bir olay olarak ele alan pipeline'lar her çeyrek bunun bedelini öder
- Uyum ekibine, veri ekibinin backlog'una doğrudan bir kanal verin. Haftada bir önceliklendirilen bir ticket kuyruğu değil. Her genelgeyi geldiği gün okuyan ve hangi pipeline'ların etkilendiğini bilen belirli bir kişi
- Yürürlük tarihleri, farkındalık tarihleri ve devreye alma tarihleri ile bir kural değişikliği kaydı tutun. Farkındalık ile devreye alma arasındaki fark, veri ekibinin kontrol ettiği tek değişkendir. Ölçün. Bir gönderim döngüsünden uzunsa, azaltılması gereken sayı odur
- Geriye dönüklüğü varsayın. Yeniden işlemeyi, herhangi bir tarihsel dönemin herhangi bir tarihsel kural seti versiyonu altında yeniden çalıştırılabileceği şekilde inşa edin. "Bugün açıklığa kavuşturulmuş kural seti altında bu ayki gönderim nasıl görünürdü?" sorusunu yanıtlayamıyorsanız, bir sonraki düzeltme talebi için hazır değilsiniz
Rahatsız Edici Kısım
Yasal yürürlük ile pipeline farkındalığı arasındaki fark asla sıfır olmayacak. Kanallar bunun için kurulmadı ve muhtemelen yakın gelecekte de kurulmayacak. Kontrol edilebilecek olan; organizasyonun bu farkı ne kadar hızlı tespit ettiği, ne kadar temiz düzelttiği ve ne kadar dürüst raporladığıdır. Kural setinin sabit olduğunu varsayan pipeline'lar her değişiklik döngüsünde cezalandırılır. Kural setini versiyonlu geçmişe sahip hareketli bir hedef olarak ele alan pipeline'lar, değişiklikleri rutin bir iş olarak soğurur.
Pipeline'ın bildiği kurallara göre doğru olması bir savunma değildir. Bir teşhistir.