Yazılım geliştirme genellikle spesifikasyonları uygulamayla hizalamayı hedefler.
Bu nedenle, yazılımı spesifikasyonları karşılayacak şekilde tasarlarız ve ardından bu tasarıma göre uygularız. Daha sonra, uygulamanın spesifikasyonları yerine getirdiğini doğrulamak için testler kullanırız; tutarsızlıklar varsa uygulamayı düzeltir veya belirsizlikler varsa spesifikasyonları açıklığa kavuştururuz.
Buna spesifikasyon-ve-uygulama tabanlı mühendislik denebilir.
Buna karşılık, günümüzde yazılımı tartışırken kullanıcı deneyimi giderek daha önemli hale gelmektedir.
Dahası, kullanıcı deneyimini gerçekten şekillendiren, yazılımın uygulaması değil, davranışıdır.
Bu nedenle, spesifikasyonlar ve uygulama çerçevesinin dışında, deneyim ve davranış mevcuttur.
Sonuç olarak, deneyim ve davranışa dayanan Deneyim ve Davranış Mühendisliği kavramını keşfetmeye değer olduğuna inanıyorum.
Likit Yazılım (Liquidware)
Deneyim ve Davranış Mühendisliği, geleneksel yazılım geliştirme yöntemleriyle gerçekçi olmayan bir yaklaşımdır.
Bunun nedeni, kullanıcı deneyimini, spesifikasyonlarda katı sınırlar veya işlevsel ayrımlar olmaksızın iyileştirmeyi gerektirmesidir. Kullanıcının deneyimini iyileştirmeye yönelik sıradan bir istek, daha önce geliştirilen tüm yazılımların hurdaya çıkarılmasını bile gerektirebilir.
Öte yandan, üretken yapay zeka kullanarak ajan tabanlı yazılım geliştirme otomasyonunun yaygınlaştığı bir zaman gelirse, tüm yazılım sistemlerinin yeniden inşası kabul edilebilir olacaktır.
Ayrıca, böyle bir çağda, piyasaya sürülen yazılımları bir yapay zeka mühendisi sohbet botu ile donatarak, kullanıcı arayüzünün her kullanıcının tercihlerine göre değiştirilebildiği "likit yazılım" çağına gireceğimiz düşünülebilir.
Likit yazılım, geleneksel yazılımdan daha esnek, her bir kullanıcıya mükemmel şekilde uyan bir şeyi ifade eder.
Otomatik geliştirme ve likit yazılım çağı geldiğinde, spesifikasyonlar ve uygulama mühendislik paradigması eskimiş olacaktır.
Bunun yerine, Deneyim ve Davranış Mühendisliği paradigmasına geçiş yapacağız.
Davranış Nedir?
Basitçe ifade etmek gerekirse, davranış zamanla değişen bir durumdur.
Ve davranışı test etmek, bu zamanla değişen durumu test etmekten başka bir şey değildir.
Ayrıca, davranışı test etmek, durumların nasıl geçiş yaptığını tanımlayan bir spesifikasyonla uyumu doğrulamakla ilgili değildir. Bunun yerine, davranış, kullanıcının deneyiminin kalitesine göre test edilir.
Elbette, sistemin kullanıcı veya geliştirici tarafından istenmeyen işlemler yapmasına neden olan hatalar varsa, bunlar da kullanıcı deneyimini önemli ölçüde bozar. Bu nedenle, davranış testi, işlevsel uygunluğun ve işlevsel geçerliliğin doğrulanmasını içerir.
Bu temel işlevsel gereksinimler karşılandıktan sonra, odak noktası, kullanıcı deneyimi perspektifinden yüksek kaliteli davranış için test yapmaya kayar.
Nihai Deneyim
İnsanlar için nihai kullanıcı deneyimi, sağlıklı durumdayken kendi vücudunu kontrol etmektir.
Şunu düşünün: Her gün, onlarca kilogram ağırlığındaki karmaşık, ancak oldukça kısıtlı ve sınırlı bir bedeni, amaca yönelik faaliyetler için kullanarak kontrol ediyoruz.
Böylesine ağır, karmaşık ve oldukça kısıtlı bir sistemi istenen faaliyetleri gerçekleştirmek üzere kontrol etmeye çalışılsa, deneyim genellikle oldukça kötü olurdu.
Ancak, kendimizi kötü hissetmediğimiz sürece, bu ağır, karmaşık ve oldukça kısıtlı bedeni sanki ağırlıksızmış gibi hareket ettirir, basit bir mekanizma kadar zahmetsizce manipüle eder ve sınırlamaları ile kısıtlamalarını hiç yokmuş gibi önemsemeyiz.
İşte bu, nihai deneyimdir.
Yüksek kaliteli davranışları takip ederek, kişinin kendi vücudunu kontrol etmeyle eşdeğer bir deneyim sağlamak mümkün hale gelebilir.
Başka bir deyişle, bir sistemin işleme hızı yavaş, işlevselliği karmaşık ve birçok sınırlama ve kısıtlaması olsa bile, tamamen stressiz bir likit yazılım deneyimi gerçekleştirilebilir.
Sonuç olarak
Nihai likit yazılım, kendi vücudumuzunkine benzer bir deneyim sunacaktır.
Böyle bir likit yazılım, bizim için bir vücut gibi olacaktır.
Nihai likit yazılım her yayıldığında veya işlevleri her geliştirildiğinde, kendi vücudumuzun genişlediğini hissedeceğiz.