Yazılımda kimera modeli

Uzun zamandır beraber çalıştığımız bir müşterinin makineleri için değişiklikler içeren bir proje yapmaya başladık. Aslında makineyi biz üretiyoruz, kullanıcı arabirimini de. Müşterimiz bu makinelere kendi mekanik sistemlerini ekleyerek başkalarına satıyor. Şimdi başladığımız projenin bir ayağı da müşterimizin kendi kullanıcı arabirimini geliştirmesini içeriyor ve bunun için de makinemizin ürettiği verilere, ölçümlere erişmesi ve bazı komutlar verebilmesi gerekiyor.

Önceki versiyonlarda bu haberleşme müşterinin sistemi ve bizim makinenin kontrol birimi arasındaydı. Yeni projede müşteri kendi arabirimi için bu sefer dışarıdan bir programcı tuttu. Haberleşmenin bizim makine ucunu da ben programlıyorum.

İlk iş olarak eski sistemde yapılabilen işleri yeni sisteme geçirdik. Tam işler bitti diyordum ki diğer programcıdan bir mesaj geldi. Eski sistemde verilerin silinmesi ile ilgili bir komut varmış. Ben daha önceki yazışmalarda da bu silme işleminin zaten makinede otomatik olarak yapıldığını ve belki de gerek olmadığını bildirmiştim ama anlaşılan müşterimiz bu fonksiyonda ısrarcıydı. Eski versiyonda bunu programlayan arkadaşa bu fonksiyonun verileri silmekten başka bir iş yapıp yapmadığını sordum. Bana verdiği cevap şu oldu: “Yok, sadece veriler siliniyor ve bir de üretim bantlarını hareket ettiriyoruz”. Ben de “o zaman silme işini ben yaparım ama hareket işi için sana bir komut gönderirim” dedim ama bu hareket işi de aklıma takıldı. “Neden bantları hareket ettiriyoruz ki?” diye sordum ve beklemediğim cevabı aldım. Sistem kullanıcıları veri silme komutunun sonucunun olumlu olup olmadığını bu şekilde anlıyormuş. “Nasıl yani? Kontrol birimi zaten olumlu ya da olumsuz cevap göndermiyor mu?” diye sordum. Öğrendim ki cevabı zaten gönderiyormuşuz ama müşterinin eski programcıları aldıkları bu cevap yerine görsel bir uyarı sistemini kullanmaya karar vermişler. Yani, kullanıcı, arabirimde veri silme komutunu veriyor. Sonra makineye koşuyor. Bantların hareket ettiğini görüyor. Ardından koşarak arabirimde bir sonraki komutu veriyor. Kullanıcılara spor yaptırmaktan başka ne işe yaradığını anlamadığım bu özelliği yeni versiyonda kullanmamayı önerdim ve programcı arkadaş bunu şimdilik kabul etti. Müşteri ısrar ederse yine yapılacaktır heralde, müşteri kraldır ne de olsa. Yine de bugüne kadar gördüğüm en ilginç insan makine entegrasyonu buydu.

Bir yanıt yazın