Şirkette yaklaşık bir haftadır şu problemi tartışıyoruz. Makine çalıştırıldığında ekranda makine durumu olarak ‘ABORTED’ yazıyor ama hata listesi boş. Programcı arkadaşlar bunun nedenini araştırdı ve sonunda bir açıklama buldular. Teknik kısmına çok fazla girmek istemiyorum ama kısaca kullanıcı ekranda hata listesini gördüğünü onayladığında sistemde bütün hatalar giderilmediğinden makine ‘ABORTED’ durumuna geçiyor ve hemen ardından hataların kalanı da gideriliyor ama makine artık onaylama işlemini terk ettiğinden bu değişiklik göz ardı ediliyor.
Sonra problemin çözümünün ne olacağını sorduk ve programcı da kullanıcının tekrar hata onaylama düğmesine basması gerektiğini söyledi. Tabii ki kullanıcının olmayan hata listesini onaylamasını beklemek bizde bir şaşkınlığa yol açtı. Neden böyle olması gerektiğini sorduğumuzda da bize sistemin durumlarının gösterildiği bir diyagram üzerinde ‘ABORTED’ durumundan ‘STOPPED’ durumuna sadece kullanıcı onayıyla geçilebileceğini gösterdi. Bunun üzerine kendisiyle şöyle bir konuşma yaptık:
Biz: ‘ABORTED’ ne demek?
Programcı: Makinenin bir durumu.
Biz: Tamam da diğer durumlardan farkı ne? Mesela neden ‘STOPPED’ değil?
Programcı: Hata varsa ‘ABORTED’ yoksa ‘STOPPED’.
Biz: Peki bu tartıştığımız problem durumunda (hata listesi boş) sistem neden ‘ABORTED’ durumunda? Tanıma göre bu yasak olmalı.
Programcı: Ama bu diyagrama göre o duruma geçtiğimde sistemde hata vardı, sonra o durumdayken hatalar giderildi ve yine diyagrama göre bu durumdan çıkışın tek yolu kullanıcı onayı.
Biz: İyi de bu diyagram bize söylediğin sistemin durum tanımlarıyla çelişiyor. İkisinden en az biri yanlış olmalı.
Günün kalan kısmındaki tartışmalardan duyabildiğim kadarıyla programcı arkadaş bu çelişkiyi ayakta tutabilmek için öyle şeyler denemiş ki, düzeltilen her problem iki yeni probleme yol açar olmuş. Tabii ki bu o kadar şaşırtıcı olmadı. Ne de olsa bir çelişkiyi çalışabilir yapmak için daha başka hatalara ihtiyaç vardır. Sonuç olarak basit mantık hatalarına karşı direnmenin masrafı böylece yine yüksek çıktı da rahat bir nefes aldım. Yoksa mantık ne işimize yarayacak diye soranlara ne cevap vereceğimi bilemezdim.