Programlamanın En Önemli Sırrı

Ekiple ilgili bir problemim var. Projeye ilk başladığımızda her şey çok güzel gidiyordu. İlk haftalarda herkes o kadar çok çalışıyordu ki çalışan bir prototip yapmaları bile çok kısa sürmüştü. Ama o zamandan beri işler yavaşlamış gibi. Artık kimse eskisi gibi çalışmıyor. İşler ilerlemiyor. Belki bir iki kişiyi kovarsam belki ekip eski hızına kavuşur.

Eminim sizin hayatınızdan da böyle bir patron geçmiştir. Benim geçti, bu yüzden şimdi Joel Spolsky’den öğrendiğim bir şey anlatacağım. Artık teknik bilgisi olmayan patronlarla geçinmenin yolu bulundu.

Aşağıdaki üç senaryoya bak şimdi:

  1. Bu müşteri her seferinde farklı bir şeyler istedi. İlk başta masaüstü programı istedi, sonra web sitesi, şimdi de mobil program.
  2. Her şeyi müşterinin istediği gibi yapmıştık. Sözleşmede her şey ayrılı olarak yazıyordu. Ürünü teslim ettiğimizde beğenmediler.
  3. Müşteriyle ayrıntıları belirsiz bir proje için sabit ücrete anlaşılmış. Müşteri de ürünü kabul etmedikçe ödeme yapmayacağını söylüyor.

Ortak sonuç şu ki: Müşteri ne istediğini bilmez. Müşterinin ne istediğini bildiğini varsaymaktan vazgeçin.

Bizim amacımız müşterinin problemini anlamak, bunun için araştırma yapmak ve çözümü bulmak. Müşteri sonuçta biraz şaşıracak o kadar.

Kendinizi müşteri yerine koyun. Aniden çok zengin olduğunuzu ve mutfağınızı yeniletmek istediğinizi düşünün. Bir mühendis tutarsınız. Çok büyük, çok güzel ve bir o kadar da işlevsel olmasını istiyorsunuz. Ama aslında ne istediğinizi bilmiyorsunuz. Mühendisin bir şeyler yapmasını istiyorsunuz, bu yüzden onu işe aldınız.

Nasıl ki buz dağının yüzde doksanı suyun altındaysa yazılımların görünen yüzü toplam işin sadece yüzde onu kadardır. Normal zamanda yaptığınız işlerin yarısını hata ayıklama kapsadığı için görünen yüz toplam işin yüzde 5’ini oluşturuyor. Bu çok gizli bilgi değil ama yazılımcı olmayanlar anlayamaz.

Sonuç olarak:

Önemli Bilgi 1: Program yüzde yüz çalışıyor olsa ve arayüz yüzde on bitmiş olsa müşteri için o program yüzden on bitmiştir.

Önemli Bilgi 2: Arayüz yüzde yüz bitmiş olsa müşteri işin neredeyse tamamlandığını düşünür. Geri kalanı bitirmesi ne kadar uzun sürebilir ki? Eğer geri kalan iş bir yıl sürerse müşteri sizden şüphelenmeye başlar.

Önemli Bilgi 3: Eğer teknik detaydan habersiz müşteriler ile sözleşme imzalayacaksanız onlara seçme şansı tanıyın. Bir kaç farklı tasarım sunup onların seçmesini sağlarsanız kendilerini önemli hissederler.

Önemli Bilgi 4: Sunum yaparken herkesin dikkat kesildiği tek nokta ekran görüntüsüdür. Tıpkı Apple ve Linux kullandığı gibi büyük renkli simgeler müşterilerin her zaman hoşuna gider.

Eğer buraya kadar anlaşıldıysa sorun da anlaşılmıştır. Sunumda yapılmamış bir iş gösterecekseniz kötü bir tasarım gösterin yada linkini gizleyin. Müşterilere yada patrona ayrıntılı bir iş planı hazırlayın. Haftada bir de bu plana nasıl uyduğunuzu ve yaptığınız işi anlatan bir bilgilendirme mesajı atın.