Konu Başlıkları
Yükleniyor...

Karmaşık Projelerde Neyi Prototiplemeli, Neyi Prototiplememeli

Prototipleme: Doğru Soruyu Seçmek ve Süre Tahmininin Sınırı

Prototip, ürünün ucuz ve atılabilir bir taslağıdır. Amacı çalışan bir sistem üretmek değil, kod yazmadan önce tek bir soruya cevap almaktır. Karmaşık projelerde asıl mesele prototip yapmak değil, hangi parçayı prototipleyeceğine karar vermektir; her şeyi prototiplemeye kalkarsan projeyi iki kez yapmış olursun.

Prototip Neyi Cevaplar

Bir prototipin tek bir sorusu olur. "Kullanıcı sepete ekledikten sonra ne yapacağını anlıyor mu?" bir sorudur; "arayüz güzel mi?" değildir. Soruyu yazmadan başlarsan ortaya ekibin beğendiği, ama kimsenin bir şey öğrenmediği bir maket çıkar.

Soruya göre prototipin biçimi de değişir. Akışın mantığını sınıyorsan kağıda çizilmiş beş ekran yeter. Kullanıcının nereye tıklayacağını sınıyorsan tıklanabilir bir maket gerekir. Sistemin gerçekten kurulabilir olup olmadığını sınıyorsan, arayüzden veritabanına inen dar ama uçtan uca çalışan bir dilim yaparsın, gerisini sahte veriyle beslersin.

Neyi Prototiplemeye Değmez

Prototipleme yazılarının çoğu iki tavsiyeyi yan yana verir: önce prototiple, bir de hazır modülleri yeniden kullan. İkisini birlikte okuyunca aslında tek bir kural çıkıyor ortaya. Yeniden kullanabildiğin her parça zaten cevaplanmış bir sorudur, dolayısıyla prototip kapsamı tam olarak yeniden kullanamadığın kısımdır.

Kullanıcı girişi, parola sıfırlama, sipariş listesi, fatura dökümü. Bunların nasıl davranması gerektiğini sen de biliyorsun, kullanıcı da biliyor. Bu ekranların maketini yapmak plana hafta ekler, belirsizliği bir gram azaltmaz. Belirsizlik nerede toplanıyorsa prototip oraya gider: alışılmadık bir fiyatlandırma kuralı, dışarıdaki bir servise bağlı senkronizasyon, ya da kimsenin daha önce böyle sıralamadığı bir liste.

Prototipi Kime Gösterirsin

Ekip içinde gösterilen prototip nezaket toplar. Prototipin işini yapması için ürünü ilk kez gören birinin karşısına konması ve o kişiye ne yapacağının söylenmemesi gerekir. Görev verirsin ("şu ürünü iade et"), sonra susarsın.

Bir e-ticaret projesinde ödeme akışını kağıda çizip üç kişiye ayrı ayrı verdim; üçü de aynı adımda durup bana baktı, o adımı tek satır kod yazmadan değiştirdik.

Erken göstermenin bedeli düşüktür, geç göstermenin bedeli yeniden yazmaktır. Prototip ne kadar bitmiş görünürse insanlar o kadar az itiraz eder, bu yüzden kaba çizim çoğu zaman cilalı maketten daha iyi iş görür.

Prototipten Süre Tahmini Çıkmaz

Prototiple yapılabilirliği ölçüp bütçeyi ona dayandırma tavsiyesi yaygındır ve yarısı doğrudur. Prototip "bu iş yapılabilir mi" sorusuna cevap verir. "Ne kadar sürer" sorusuna vermez, çünkü prototipte olmayan her şey üretimde vardır: yetkilendirme, hata durumları, eşzamanlı erişim, veri göçü, geri alma, kayıt tutma. İki saatte çizdiğin ekran üretimde iki günlük iştir ve bu oran ekranın karmaşıklığıyla değil, arkasındaki veri modelinin karmaşıklığıyla büyür.

Prototipten çıkan tek güvenilir tahmin karşılaştırmalıdır: A akışı B akışından belirgin biçimde daha çetrefilliyse, üretimde de öyle olacaktır. Mutlak gün sayısını prototipten değil, aynı ekibin daha önce bitirdiği benzer işlerden çıkarırsın. Kaynak yetmiyorsa doğru hamle prototipi hızlandırmak değil, kapsamı bölmek ve belirsizliği en yüksek parçayı öne almaktır.

Kaynaklar