Algılar ve emin olmak

Dün sabah, daha doğrusu perşembe akşamı servis elemanımız şöyle bir mesaj göndermiş.

“Son yaptığımız güncellemenin hatayı düzelttiğinden emin olabilir miyiz?”

Sorunun biraz anlaşılır olabilmesi hikayenin biraz daha başına gideyim.

Çarşamba günü müşteride bir sorun çıktı diye beni aradılar. Müşterideki makineye bağlandım ve servis elemanının yardımıyla sorunu incelemeye başladım. Sistem ürünlerle eğitildikten sonra eğitimde kullanılan ürünler beklenen sonuçları vermiyordu. Görüntü işlemeci arkadaş da ürünler için yanlış parametrelerin kullanıldığını, eğitim sonrası parametrelerin bunlar olmadığını söylemişti. Makineye bağlandıktan sonra üretim hızının yüksek olduğunu gördüm ve sistem üzerindeki yükğ azaltmak için bir iki parametreyi değiştirdim. Bu değişikliklerden sonra ürün görüntülerinin kaybolduğunu gördük. Kayıtlara bakınca görüntü işleme programıyla haberleşmede bir sorun olduğunu gördüm. Haberleşme fiziksel olarak doğru çalışıyordu ama sunucu programındaki bir hata verilerin programa gelişini engelliyordu. Bunun üzerine bu versiyondan sonra bu yönde bir hata ayıklaması yapılmış mı diye kontrol ettim ve bu modüllerde bazı iyileştirmelerin yapılmış olduğunu gördüm. Servis elemanına güncelleme yapıp tekrar test etmeyi teklif ettim ve bunu ekiple de konuşacağımı söyledim. O akşam güncellemeden önce yaptığımız ilk testler üretim hızında olmadığından bize pek doğru bilgiler vermedi ne yazık ki.

Ertesi gün ekiple yaptığım görüşmeden sonra güncellemeye karar verdik. Perşembe öğleden sonra güncelleme yapıldı ve tekrar sisteme erişip durumu kontrol ettim. İlk başta görüntü yine yoktu ama bu sefer bir uyarı mesajı sayesinde sorunun bu sefer çok yavaş üretim nedeniyle parametrelerin uyumsuzluğunda yattığını buldum. Parametreleri düzelttikten sonra görüntüler geri geldi ve bir gün önceki sorunlar da artık gözlenmiyordu. Şimdilik.

İşte yukarıdaki mesaj bu olaylar yaşandıktan sonra gönderilmişti. Mesajın devamında ise şöyle şeyler de vardı.

“Makine operatörleri buna benzer sorunların daha önce de yaşandığını söylemişti ama ben o kadar zaman oradaydık ve hiç böyle bir şey gözlemlemedim. Ta ki parametreler değiştirilene kadar. Ayrıca bence yaptığımız tek şey de hatayı bulmadan güncelleme yükleyip işi şansa bırakmak oldu.”

Oturup cevap yazmaya başladım. Öncelikle hatanın giderildiğinden emin olmak kısmına değindim. Sistemlerde hatanın tanımı kişiden kişiye değişir. Kullanıcı için ürün görüntüsünün bir kere gelmemesi bir hatadır ama programcı için bu aslında bir hata kümesidir. Yani buna yol açabilecek bir sürü senaryo vardır ama o an yaşanmış olan bu senaryoların sadece birisidir. Dolayısı ile güncelleme büyük ihtimalle bu tek senaryoyu düzeltmiştir ama kullanıcının algıladığı bütün hata senaryolarını düzeltmemiştir. Bu nedenle o hata (aslında aynı şekilde görünen başka bir hata) tekrarlandığında kullanıcı hatanın giderilmediğini, programcı ise başka bir senaryonun daha tespit edildiğini düşünecektir. Bu anlaşma sorunu ne yazık ki tamamen giderilemez, çünkü iki taraf da aynı şeyi farklı teorilerle yorumlar. Bu da normaldir. Böyle durumlarda kullanıcılarla konuşurken bunların aynı görünümde farklı senaryolar olduğunu kısaca anlatmaya çalışırım hep, ama çok da uzatmamak lazım. Bütün teoriyi açıklamak çok karmaşık olabilir.

Peki aynı görünümdeki hataların aslında farklı hatalar olduğu konusunda hemfikir olmadığımızı varsayarsak, bu hatanın giderilip giderilmediğinden nasıl emin olacağız? Yaptığımız oldukça karmaşık sistemlerde olası bütün yolları test etme şansımız olmadığından (Şans yok çünkü olası yolların sayısı çoğunlukla evrendeki tanecik sayısından fazla oluyor) olası yöntemlerin biri bir araç kullanarak mantıksal olarak bu hatanın ortaya çıkamayacağını ispatlamak olabilir. Burada sorun yine oldukça fazla yolun ispatlanması oluyor ve bunu yapacak programın da çok uzun süre çalışması gerekecektir. Bunun yerine programcı bunun bir kısmını otomatik araçlarla geri kalanını da kafasında kabaca yapma yolunu seçmekte. Tabii bu da bütün olasılıkları kontrol etmiyor ama başarı oranını yine de genelde yeterince yüksek tutuyor. Yeterince yüksek dediğim bu olasılık belli bir karmaşıklığı aşan sistemlerde asla yüzde yüz olmuyor ama. Yani emin olma şansımız yok.

Servis elemanımıza bu şekilde bir cevap yazdım. Yazdığım cevapta algı sorunlarına hiç değinmedim ama. Bir şey kötü gittiğinde beynimiz tabii ki daha farklı çalışıyor. Parametreler değiştiğinde ortaya çıkan hatanın nedenini parametre değişimi olarak algılarken, aynı parametrelerle güncelleme yapıldığında ortaya çıkmayan hatanın nedenini bir tesadüf olarak görebiliyor. Sonuçta iki olay da sadece bir kere ortaya çıktığından kendi tecrübelerinin istatistiki değerlendirmesi için aslında yeterince veri yok ama algılarda bu tür farkla da oldukça normaldir.

Teknik olarak bütün bu senaryo elemanın mesajında belirttiği gibi bir tesadüf ürünü olabilir. Yani sistemdeki çok başka bir hatanın bütün bunların nedeni olma ihtimali var. Güncelleme istememin nedeni bir bakıma bu ihtimale karşı düşünülmüş bir hareketti. Bu durumda bu hatayı tahminen daha az hataya sahip yeni versiyonda daha kolay bulup sadece tek bir versiyonda düzeltme yoluna gidecektim. Bu hata hala ortaya çıkmadığından planım şimdilik iyi işlemiş gibi görünüyor.

Ordan burdan

Şirkette işlerin yine çok yoğun olduğu bir dönem. Özel müşterilerin acayip projelerini yetiştirmeye çalışıyoruz. Aslında yetişme şansı yok ama klasik yöntemlerle yetişmiş gibi göstereceğiz ve müşteri de bu oyunu oynayacak. Sonrasında bütün inisiyatif müşteride olacak ama. Neyse işte. Her günün dörtte biri şirket içi toplantılarla geçiyor. Bizim şef de işin yetişmeyeceğinin farkında olduğu için minimum iş yükü almak için uğraşıyor. Aynı zamanda bu projede beraber çalıştığımız diğer bölümü de çaktırmadan zor durumda bırakıyor. Nedense diğer bölümün ekibi de bu oyunu hala oynuyor. İki şefin de yazılım projesi yönetme metodlarını sevmiyorum nasıl olsa. Ne halimiz varsa görelim.

Bahçede artık tohum toplama dönemi başladı. Açmış çiçeklerin tohumlarını epey topladım. Açacak gibi duran bir iki çiçek daha var gibi ama ne olur bilinmez. Asıl dikkatle takip ettiğim şey ise bir karalahana üzerindeki iki adet lahana kelebeği tırtılı. Ani bir yağmur ya da kedi, kuş saldırısına uğramasınlar diye lahanayı mini bir serayla kapattım ve o bölgeyi doğal park ilan ettim. Umarım en az bir koza oluşur orada.

Bundan başka evde resim çalışmaları yavaş ama düzenli bir şekilde devam ediyor. Sonunda resim teknikleri için güzel kağıtlar bulabildiğimi sanıyorum. Sulu boya çalışmalarım için Hahnemühle Cornwall kullanmaya karar verdim. Boyayı güzel emiyor, ufak hataları düzeltmeye imkan veriyor ve de ucuz sayılır. Pastel boyalar için de biraz daha pahalı olan Pastel Mat kağıtlarını kullanmaya karar verdim. Özellikle soft pastel konusunda harika bir kağıt. Hataları bir fırça yardımıyla düzeltmeye imkan veren bir kağıt. Kesinlikle parasını hakediyor.

Şu sıralar yolunda gitmeyen tek şey kilo almam ve bir de hiç değişmeyen Serkan’ın tembelliği meselesi var. Serkan konusunda pes etmiş durumdayım. Mutlak bir pes etme değil ama kabullenmişlik diyeyim en iyisi. Bakalım bir çaba göstermeyi düşünecek mi?