Prototip (ilkörnek) Yazılım Geliştirme
Yazılım geliştirmek artık sadece kod yazmaktan ibaret değil. Gün geçtikçe tasarımcılar mühendislik, mühendisler de tasarım bilgi ve becerilerini artırıyorlar.
Ticari bir yazılım projesinde prototip kullanılması işleri kolaylaştıracaktır. Hem profesyonelce sunumlar yapabilmek hem de ürünün karşı tarafa daha iyi ifade edilebilmesi açısından çeşitli katkıları olacak, iletişimi artıracaktır.
Bu konuda Hal Helms tarafından yazılmış bir yazıyı sizlerle paylaşmak istedim, orijinali (ingilizce) burada.
Emotional Design: Why We Love (Or Hate) Everyday Things (Donald Norman) sadece kullanışlılığın tek başına yeterli olmadığını savunuyor. Norman, nesneleri değerlendirişimizde üç etken olduğunu belirtiyor: sezgi, etkileşim ve yansıma. Sezgisel çekim, bir Ferrari ya da iPod’a karşı hissettiklerinizle açıklanabilir. Güzel görünüşlü, içinde oturmak (Ferrari) ya da ona dokunmak (iPod) istiyorsunuz. Etkileşim çekimi, çok iyi çalışan bir nesnenin takdir edilegelmesidir diyebiliriz. Yansıma ise, anlamlandırma ve kendini bulma gibi açıklanabilir.
Norman, iyi tasarımın bu üç öğeyi de içerdiğini, aynı zamanda bu nesnelerin insanların daha iyi çalışmalarını sağladığını iddia ediyor. Düşünce bana haklarında bir çok kez konuştuğum prototipleri (ilkörnek) çağrıştırdı.
Tasarım dünyasında, prototip bir zorunluluktur diyebiliriz. Palm Pilot’un tasarımcısı bu cihazı tasarlarken cebinde bir tahta parçası ile dolaşıyordu. Bu nesne rahat kullanılabilecek bir şey mi? Hangi ebat çok büyük olarak algılanırdı? Ya da çok küçük? Düğmeler doğru tasarlandı mı?
Nedense, bir çok geliştirici (developer) tasarımın ancak grafik sanatçılarına bırakılması durumunda iyi sonuçlar elde edilebileceği kanaatindedir. Prototip gereksiniminden bahsederken altını çizmek istiyorum, olası beklentilerimizin açığa çıkartabilmesi, görünüşünden ve hissedilişinden (look & feel) ziyade, tasarlama süreci içerisinde çalıştırılması, kullanılması ile sağlanabilir. iPod’un çevirmeli arayüzünü görene kadar, onu isteyip istemeyeceğimi bilemezdim.
İş yazılımı geliştirme aşamalarında prototiplerle çalışmanın, hem geliştiren hem de işverenin sırtından bir takım riskleri aldığını düşünüyorum. Şartname dokümanları avukatlar için kullanışlı olabilir, bizler için değil. Prototipler, yeni fikirleri denememize ve kullanıcı reaksiyonlarını gözlememize imkan sağlar. Bu sayede tasarlanan nesnenin sezgisel ve etkileşime dayalı etkilerini, hatta belki yansımalarını görebiliriz.
Uzun bir süredir prototipler kullanıyorum. İlk denemelerim sadece etkileşim amaçları üzerine keşifler yapmak ile sınırlıydı. “Görünüşe takılmayın” derdim sunum yaparken. Deneyimle sabitlendi ki neredeyse her işveren, görünüşe takıldı. Sonunda anladım ki, onların bu ihtiyacını karşılamadan – her ne kadar bana ikincil bir ihtiyaçmış gibi gelirse gelsin - benim için daha önemli olabilecek aşamalara geçmek zorlaşıyordu, örneğin yazılımın işleyişine.
Abraham Maslow “İhtiyaçlar Hiyerarşisi Teorisi“nde tipik gereksinimlerimizi şöyle sıralar:
- Fizyolojik gereksinimler : su, yiyecek, uyuma, barınma
- Güvenlik gereksinimi : fiziksel, ekonomik, konfor
- Ait olma gereksinimi : kabul görme, aidiyet
- Sevgi, sevecenlik gereksinimi : sevgi, tutku
- Saygınlık gereksinimi : ustalığın saygınlığı, prestij, statü
- Kendini geliştirme gereksinimi : yenilikçilik, yaratıcılık, derin öğrenme
Maslow, “Belirli bir kategorideki gereksinimler tam olarak karşılanmadan kişi bir üst düzeydeki kategorinin gereksinimlerini algılamaz, böyle gereksinimleri yoktur” demektedir. Şartnameler veya ihtiyaçlar dokümanları ile çalışmaya başlamak konusunda sorun, UML diyagramlarının ve benzerlerinin aslında işverenin temel kaygılarına hitap etmeyecek olmasıdır: nasıl görünecek ve hissedilecek? Onunla çalışmak nasıl olacak?
Prototipler tüm bu sorulara cevap verir, fikirlerimizi sergileyebilmemiz ve işverenin konu hakkındaki düşüncelerini anlayabilmemiz için en uygun araçtır. Bu sayede, sözcüklerin ötesinde bir iletişim kurabiliriz. İyi uygulamaların da - iyi tasarımların olduğu gibi - sezgisel, etkileşim tabanlı ve yansıma albenilerine sahip olması gerektiğine inanıyorum. İşe başlamak için doğrudan kapsamlı bir prototip (ilkörnek) hazırlamaktan daha iyi bir yol düşünemiyorum.
Düğümküme'yi zamanında takip edebilmek için öncelikle RSS'den abone olun. Ayrıca bkz RSS nedir, nasıl kullanabilirim?

