Gerçekçi Olmak – Getting Real Kitabından notlar

Kısa yoldan zengin olmak oldukça zordur. Kendinizi fonlarken çok fazla kaynak ayırmayın bu da sizin yaratıcılığınızı artıracaktır. Bir iki ay içerisinde birşeyi yapıp yapamadığınız biraz da olsa belli olur. Eğer projeniz düzgün gitmiyorsa tekrardan başa dönüp yeni projeye başlamanız gerekmektedir. Kullanıcıların uzun süre kullanabileceği araçlara odaklanılmalıdır

 

Zamanı ve gideri sınırlandırın ve hiçbir zaman fazlasını kullanmayın. Şöyle bir mit vardır; zamanında, istendiği gibi ve gideri tam olarak yeten bir proje. Bu hiçbir zaman olmaz olsa da kalitesi genelde iyi olmaz. Eğer tamamını gerçekleştiremiyorsanız yarım bir şey yapmayın özelliğini azaltın. Sonrasında özellik eklersiniz. Bunlar için

Önceliklendirme

  • Neyi çok önemli olduğuna karar vermelisiniz.

Gerçekçilik

  • Beklentilerin gerçekçi olması gerçekten önemlidir. Zaman ve gider sınırı dahilinde birşeyler üretebilirsiniz fakat bu gerçekten sizin istediğiniz şeyler mi bunları düşünmek lazım

Esneklik

  • Değişim önemlidir ve herşeyin sabit olduğu bir projede esneklik oldukça zordur.

 

Öneri: Yapacağınız özellikleri azaltın. Ürünün yarısını yapmak ürünü yarım yapmaktan çok daha iyidir.

 

Düşman Belirle

Projeyi yaparken başkalarının ne yaptığı ve nerelerde eksik kaldığını bilmek çok önemlidir. Düşmanınızı tanımalısınız. Basecamp örneğinden gidilecek olursa başlangıçta Microsoft çok büyük bir düşmandı ürünleri çoğu firma tarafından kullanılıyordu. Fakat ürünlerinde kullanıcı etkileşimi yapmak gibi bir özelliğe sahip değildiler. Yine bir diğer düşman beyaz tahta olayındaydı, çoğu firma oldukça karmaşık beyaztahtaya sahipti bunu en kolay şekle indirmek önemli oldu. Yine internet üzerinde olması birşeyi yanında taşıma olayına düşmandı. Bir düşman belirlediğinde bir hikaye yaratıyorsun ve kullanıcılar bu hikayeyi duymak istiyorlar. Böylece sadece ürünün daha hızlı ve iyi olması değil bunun yanında taraf tutmalarını da sağlamış oluyorsunuz. Bunun yanında çokta bu savaşın üzerinde kalmamak lazım, böyle olursa karşı taraf aşırı analiz edilir ve zaman kaybına neden olur. Bundan dolayı farklı hikayeler anlatmak gerçekten önemlidir.

Angarya olmamalı

Uygulamanızı geliştirmek angarya olmamalı, küçük küçük işlemler ile kolayca yönetilebilir yaparak bu süreçten zevk alabilirsiniz. Eğer uygulamanız sizi heyecanlandırmıyorsa yanlış yoldasınız demektir. Eğer sadece para kazanmak uğruna bunu yapıyorsanız sonucunda bunu göreceksiniz. Eğer gerçekten istekliyseniz bunun sonucunu da ürünü çıkardığınızda göreceksiniz. İnsanlar satır aralarını okuyarak sizin istekli mi isteksiz mi olduğunuzu anlayabilir.

Hafif Ol

Eğer bir kütle büyükse onun yönünü değiştirmek zordur. Bu iş dünyası için de geçerlidir. Web teknolojilerinde ise değişim ucuz ve kolay olmalıdır. Eğer hızlı bir şekilde değişemiyorsanız alanı değişen kişiye bırakırsınız.

Uzun dönemli kontratlar, çok fazla şey, değişmez kararlar, diğer toplantılar hakkında toplantılar, büyük bir işlem, yazılım donanım ve teknolojik bağlantılar, lisanslı veri formatları, uzun dönemli yol haritalar, ofis politikaları kütleyi artırır.

Gerektiği anda düşünme, takımdaki kişilerin farklı görevler üzerinde çalışması, daha az yazılım, daha az kod, daha az özellik, daha küçük takım, basit olması, açık kaynak kodlu ürünler, açık veri tipleri, hataları kabullenecek bir ofis kültürü kütleyi azaltır. Bu şekilde daha iyi fikirlere odaklanabilir, yeni teknolojilere daha çabuk entegre olabilirsiniz.

Bunları göz önüne alırsanız koca bir uçağı yönlendirmeye çalışmak yerine kibrit kutusunu yerinden oynatırsınız.

Değişimin Masrafını Azaltın

Ucuz ve hızlı değişim büyük firmalara göre küçük firmaların güçlü olduğu yerdir. Hatırlayın: para, pazarlama, tüm o çalışanlar küçük olmanın bu hızını büyük firmaya getiremez.

Üç Silahşörler

Uygulamanızı yaparken sadece 3 kişi ile başlayın. Bu size yeteri kadar kaynak sağlayacaktır. Bir tanesi geliştirici, diğeri grafiker ve sonuncusu da temizlikçi. Bu ne kadar zor gibi görünse de aslında problemleri çözmek ve başlangıçta karaları ve bunların sonuçlarını görme açısından etkilidir. Sürekli iletişim halinde olmalısınız. Eğer 3 kişi ile birinci versiyonu çıkamıyorsanız, ya versiyon özelliklerini düşürmeli ya da gruptaki kişileri tekrar gözden geçirmelisiniz. İlk versiyon projenin uçuşa geçip geçmeyeceği hakkında bilgi verir.

Sürekli Sınırlandırın

Sınırlandırmaları kabullenin. Etrafta istediğiniz kadar ne insan, ne zaman ne de para var.

Öncelikler

Büyük Fikrin Ne?

Uygulamanın ne yapıyor? Bu vizyona kesinlikle sahip olunarak geliştirilmeye başlanmalı. Eğer işler karışmaya başlamışsa “Bizim vizyonumuz neydi” sorusu sorulmalıdır.

Problem ile karşılaşınca problemdir

Var olmayan problemlerin hakkında şimdiden kaygılanma. Gerçekten bu gün 3 tane programcıya ihtiyacın varken 8 tane yazılımcıyı işe almaya gerek var mı? Eğer bir iki hafta geç kaldıysan bu dünyanın sonu değil. Müşterilerine bunun nedenini söyleyin. En önemli nokta bu kararları tam zamanında verin.

Ölçeklendirmeyi Sonra yapın

Esneklik

Uygulamanız olabildiğince esnek olmalı yaklaşımı yanlıştır. Yazılımın bir vizyonu olmalıdır. Taraf tutmalıdır. Kullanan kişiler sadece özelliklere değil bu yaklaşımlara bakmaktadır.

Özelliklerin Seçimi

Yarım, özellikleri Yarım değil

İyi fikir şu şekilde tanımlanabilir; Ürününün ne yapmasını istediğine karar ver ve özellikleri ikiye böl.

Önemli Değil

Sadece hayati öneme sahip olan işleri yapın. Sorulan her “Neden bunu yapmadın?” Sorusuna “Çünkü Önemli değildi” denebilir.

İşe Hayır ile başlayın

Yarım ama özellikleri çalışan bir uygulama “hayır” diyerek başlar. Her soruya “evet” cevabı verdiğinizde bir tane çocuk evlat edinirsiniz.

Yönetebileceğiniz Şeyi Geliştirin

Affiliate programı başlatacaksanız buradaki kullanıcıları idare edebileceğiniz, ödemelerini yapacağınız bir sisteminiz varmı? Belki bunun yerine onlara puan verip sonrasında bunu manuel olarak her ay hesaplarına yatırabilirsiniz.

1 GB bedava alan verebilecek misiniz? Yapabileceğiniz şeylerin sözünü vermelisiniz.

İnsan Çözümleri

İnsanları kendi yolunuza çevirmeye çalışmayın. Kendi sorunlarını kendi şekilleriyle çözebilecekleri kadarıyla bir uygulama yapın ve gerisini onlara bırakın.

Özellik taleplerini unutun

Kullanıcı güneşin altındaki her şeyi ister. Forumları incelediğinizde en fazla başlık girilen konu sizin özellik talebinizdir. Tabi size şu özellik ne güzel olur, bu çok da zor olmasa gerek, bunu yaparsanız gerekirse iki katı vermeye hazırım gibi talepler gelebilir. Fakat daha önce de konuştuğumuz gibi sizin ilk söylemeniz gereken şey hayırdır. Peki bu talepler ne yapılmalı, elbette okuyup silinmeli.

İnsanlara “Bir özelliği çıkaracak olsanız neyi çıkarırsınız” sorusunu sorun. Neden o özelliği kullanmadıklarını öğrenin.

Süreç

Programı ayağa kaldırmak için yarışın

Projede bir momentum sağlamak için programın ayağa kalması oldukça önemli bir noktadır. Bu önceliğiniz olmalıdır, diğer tüm detayları görmezden gelebilirsiniz. Bunu yapabilirseniz önünüzü daha iyi bir biçimde görebilirsiniz. Program çalıştığında artık afaki paragraflar dolusu metinlere gerek kalmayacaktır.

Temizle ve tekrarlar

İlk başladığınızda mükemmele ulaşamazsınız bundan dolayı sürekli değişiklik yapmanız gerekmektedir. Size gelecek geri dönüşlere göre sayfada değişiklik yaparak ürünün yaşayan bir ürün olmasını sağlayabilirsiniz.

Fikirden uygulamaya

Fikir ile gelinir. Ürünün ne yapacağına karar verilir. Kullanışlı olduğu nasıl anlaşılır?

  • Kağıt üzerine skeç yapılarak fikirler kağıda geçirilmeli. Bunların hepsi deneme amaçlıdır. Bundan dolayı yanlış cevap yoktur.
  • HTML ekranların oluşturulması ile herkes ekranların nasıl bir akışta devam edeceğini görebilmeli. Henüz bir program kodu yazmayın. Sadece test amaçlı şeyler yazabilirsiniz.
  • Kodla, fakat bunu yaparken her zaman yaptıklarınızın tekrar tekrar üzerinden geçilebileceğinizin farkında olmanız lazım. Burada eğer bir tarih vermiş bile olsanız bu tarihi önemsemeyin. Eğer beğenmediğiniz bir konu varsa başa dönün.

Ayarlardan Kaçının

Küçük detaylara karar verin. Örneğin: Her sayfada kaç tane mesaj gösterilmeli, bunun için hadi kullanıcıya bırakalım. Sağ tarafta bir combobox ile 20-50 vs. yazmak yerine kendiniz karar verin. Bu ayarlar sizi daha zorlu kararlardan korur.  Bir kullanıcı olarak sürekli küçük küçük şeyler hakkında düşünmek oldukça yorucudur. Ayrıca ayarlar daha fazla yazılıma neden olur. Bu da daha fazla kod, daha fazla test, daha fazla dizayn ve daha fazla ara yüz demektir. Bunlar da kırık ekranlara, dandik tablolara ve birçok başka bug’a neden olabilir.

Bitti

Bitti dediğinizde hedefinize eriştiniz demektir. Fakat ya bitti değil de “tamam” derseniz. Bu en nihayetinde beyin ameliyatı değil, bir telefon uygulaması veya web uygulaması tekrardan yazın.

Uygulamanızı Gerçek Ortama göre yapın

Uygulamanızın geri dönüşlerini gerçek kişilerden alın, kullanılabilirlik testi çok nadir gereklidir. Unit testler ise gerçeği yansıtmayabilir. Eğer birisinin üstünden ne yaptığına bakarsanız fikir edinebilirsiniz fakat insanlar bu durumda daha az hata yapma eğilimindedir. Halbuki siz aslında hatayı görmek istemektesiniz.

Zamanınızı Kısıtlayın

Haftalık, aylık görevler yerine daha küçük parçalar şeklinde (6-10 saat) görevlerinizi ayarlayın. Bu diğer problemlerde de aynı şekilde çalışır. Çok büyük bir probleminiz mi var, olabildiğince küçültün. Sonra teker teker yapın.

Bütünlük

Birçok firma bölümleri dağıtarak çalışanların kendi alanlarını kendi küçük dünyalarından görmelerine neden olur.  Bu şekilde yaptıkları uygulamanın tamamında ne işe yaradığını bilemezler. Fakat iletişimin daha etkin olması için bırakın metin yazarı grafiker ile birlikte çalışsın.

Sessizlik

İnsanlar bir şeyleri yaparken sessiz bir ortama ihtiyaç duyalar.

Toplantı yapmayın

Toplantılar konsept düzgün olarak anlaşılmadığında ortaya çıkar. Bunun yerine konsepti basit şekilde tutarak email veya anlık mesajlaşma ile kolayca tartışabilirsiniz. Bazı durumlarda kesinlikle toplantı yapılması gerekiyorsa 30 dakikaya alarm ayarlayın ve çaldığında toplantı bitsin.

Küçük Başarılara Erişin ve Kutlayın

Yazılım geliştirmede en önemli konu motivasyondur. Motivasyon yereldir yani kendiniz çalıştığınız şey üzerinde motive olamıyorsanız yaptıklarınız olması gerektiği gibi olmayacak hatta berbat olacaktır.

Uzun döngüler motivasyonunuzu kırabilir. Kutlamaların arasına aşırı derecede zaman girer. Diğer taraftan kısa zamanlı kutlamalar harika motivasyon yaratır. Diyelim ki aylar süren bir döngünün içerisindesiniz bir gün ayarlayın ve “4 saatte bu projeye neler yapabiliriz?” sorusunu düşünün sonra yapmaya çalışın. Bu yeni bir özellik olabilir, daha önce var olan bir özelliğin geliştirilmesi olabilir vs. Bu 4 saat sonunda bir başarı hissedeceksiniz.

Çalışanlar

Erken veya geç büyümeye gerek yoktur. Kendi alanında en iyi 100 kişiye ulaşabilseniz bile, bunların hepsini birden almak iyi bir fikir değildir. Bu kadar insanı sizin çalışma kültürünüze anında adapte etmek çok mümkün değildir. Eğitim, kişilik, iletişim gibi alanlarda çok farklı kişilikler ile karşılaşabilirsiniz. Bundan dolayı kimseyi işe almayın.

“Test sürüşü” yapın

Birisini işe almadan önce küçük bir proje ile o projeyi nasıl işlettiğine bakın eğer istediğiniz gibi değilse her iki taraf için de kazançlı olur.

Çalıştıracağınız kişinin open source’da ne kadar paylaşımda bulunduğuna bakın.

Birisinin hangi üniversite mezunu olduğu ortalamasının kaç olduğu gerçekten önemli midir? Bunun yerine open source projelerini inceleyip ne üzerinde çalıştığına bakabilirsiniz. Böylece kişileri söylediğine değil de yaptığına göre değerlendirebilirsiniz.

Uzun dönem bir teknolojide çalışmış ve onun piri olmuş kişiler yerine çabuk öğrenebilen kişileri tercih edin.

Küçük takımlarda birkaç şapkayı birden giyebilecek kişilere ihtiyaç vardır. Dizayndan anlayan programcılar, kod yazabilen grafikerlere ihtiyacınız vardır. Herkesin müşteriler ile konuşabilmesi gerekmektedir.

Bir işe şevkliymiş taklidi yapılamaz.

İşe alım safhasına geldiğinizde işin gurusunu almanıza gerek yok. Mutlu ve orta düzey bir çalışan mutsuz ve şevksiz bir şekilde çalışandan daha iyidir. Şevk ile çalışan yazılımcılar bulun, bir işi verip ayrıldığınızda o işin yapılacağına emin olun. Size çokça soru sorup sormadığına bakın, ilgili kişiler çok soru sorarlar.

Eğer iki kişi arasındaysanız iyi yazarı alın.

Bu kişinin yazılımcı mı yoksa programcı mı olduğunun önemi yoktur. Çünkü iyi bir yazar düzgün kod yazar, düzgün dizayn yapar ve düzgün e-posta atar vs.  İyi yazar aslında kelimelerden ötedir. İyi yazar nasıl iletişim kurulacağını bilir. Yaptığı işi daha kolay anlaşılır şekilde yapar. Temiz bir şekilde düşünür.

Arayüz Dizaynı

Önce Arayüzleri Dizayn Et

Program yaparken önce dizayn işleminin yapılması daha iyidir. Programda değişiklik dizayn değişikliğine göre çok daha uzun zaman alacağından önce daha kolay değiştirilenden başlamak mantıklıdır. Ayrıca dizayn aslında sizin sattığınızdır. Dizaynı öne koyarak aslında ileride soracağınız soruları öne almış olursunuz.

Önce çekirdekten başlayın

Yapacağınız projede öncelikle navigasyon, tablar ,footer, logo gibi bölümleri yapmanıza gerek yok. Merkezini yaparsanız daha iyi olur. Merkez projenizin olmazsa olmazı demektir. Kullanıcıların sizin sitenize gelme amacı burası olmalıdır. Bu işlemler bittikten sonra navigasyona, tablara vs. başlayabilirsiniz.

Sayfanın üç durumunu yapın

  • Boş

Kullanıcı sitenize ilk girdiğinde gördüğü ekran.

  • Normal

Ekranda tüm veri gelecek yerler doldurulduğunda görünen ekran.

  • Hata

Herhangi bir hata olduğunda gelecek ekran.

Defansif dizayn

İşler yanlış gittiğinde sayfanızın nasıl görüneceğinin dizaynını yapın sürekli bu aklınızda olsun. Bunu “defensive Design for the web” diye internette aratarak daha derinlemesine inceleyebilirsiniz.

İçeriği Tutarlılığa Tercih Edin

Aksiyonlar buton mu olmalı yoksa link mi? Aksiyona göre değişir. Takvim liste şeklinde mi olmalı yoksa grid şeklinde mi? Duruma göre değişir. Gördüğünüz gibi çoğu şey “duruma göre değişir” Bundan dolayı sayfa bazında farklılıklar olabilir. Her sayfa aynı şablonda olacak diye bir şey yok. Bundan dolayı aslında önemli olanı vermek asıl konu olmalıdır.

Metin Yazarlığı

Nasıl her ikon, yazı tipi, pixel önemliyse ne yazdığınız da bir o kadar önemlidir. Bundan dolayı kullanıcınız ile aynı dili konuşmalısınız.

Tek Arayüz

Admin arayüzü genelde kullanıcı arayüzünden farklı olarak görselliğe pek fazla önem verilmeden hazırlanır. Bunu engellemek için tüm sistemde kullanıcıya gösterdiğiniz ara yüzlerin aynısını dizayn edin.

Kod

Az Kod

Kodunuzu olabildiğince basit yazın karmaşıklığı azaltın. Her defasında kodu artırdığınızda yazılımın üstel bir biçimde büyür ve karmaşıklaşır.

  • Az kodun yönetimi kolaydır
  • Codebase’i küçüktür bu da daha az düzenleme gerektirir.
  • Değişikliğin masrafı daha azdır.
  • Daha az bug’a neden olur
  • Daha az destek gerektirir.

Hangi özelliğin eklenip çıkarılacağı da az kod ile ilintilidir. Çok çok çok gerekli olmadıkça bunları dışarıda bırakmanız gerekmektedir.

Programcıların geri cevap vermesine olanak verin. Mesela A’yı size şunu yapmam 12 saat sürer ama bunun yerine şu B’yi yapsam 1 saatte yapabilirim dediğinde onu dinleyin.

Mutlu Programcı

Mutlu programcı ile çalışmanın katlayan etkileri bulunmaktadır. Mutlu programcı iyi, okunabilir kod yazar. İyi yaklaşımlar yapar. Bunun için programcının 8 saat çalışabileceği bir ortam yaratmak önemlidir. İstediği dil ile yazması da buna dahildir.

Borcunuzu Ödeyin

Borç çoğu zaman para gibi görünse de aslında kod da olabilir örneğin, işi yapmak için kötü kod yazdığınızı düşünün bu bir borçtur. Bazı zamanlar bunu yapmak mantıklıdır. Olabildiğince gerçekçi olmak adına bu teknik kullanılabilir. Fakat bu bir borçtur ve bu borcun sonrasında ödenmesi gereklidir.

Kapıları Açın

Kullanıcılarınızın bilgi alabileceği tüm kapıları açın. Örneğin bilgilerine RSS ile erişebilsinler bu şekliyle uygulamanız farklı yönlere evirilebilir. RSS kullandırarak kullanıcınızın her zaman sizin sitenize girmesini engelleyebilirsiniz. API’ler yazarak da aynı şekilde programcılara uygulamanızı açarsınız ve bu bulunmaz bir kaynaktır.

Kelimeler

Fonksiyonel şartname yazmayın

  • Fonksiyonel şartname sadece fantezilerden oluşur. Gerçeği yansıtmazlar, uygulama yazılımcılar onu yazmaya başlayana kadar ve dizayncılar dizayn edene kadar gerçek değildir.
  • Herkesi mutlu hissettirebilir fakat gerçekte yardımcı değildir.
  • Sadece herkesin mutabık olduğunu düşündüğü bir düştür. Herkesin mutabık olduğu bir metin aslında bir mutabakat değildir. Herkes aynı şeyi okusa bile farklı şeyler düşünebilir. Sonrasında “Ama bir dakika ben böyle düşünmemiştim” diyebilirsiniz. “Burada anlatılmak istenen bu değildi” denebilir.
  • Daha fazla özelliğin yazılmasına neden olur. Başka bir özelliği o kağıda yazmak çok kolaydır.
  • Fonksiyonel şartname değişimi, tekrardan kontrolü engeller. Bir özellik üzerinde konuşuldu ve karara varıldıysa artık kötü bir seçim bile olsa bu seçimi yapmak zorunda olduğunuzu hissedersiniz.

Peki ne yapılmalı, Uygulamanızın bir sayfalık hikayesini yazın. Eğer bir sayfadan uzunsa çok kompleks diyebilirsiniz. Bu maksimum bir gününüzü almalı.

Sonrasında arayüze başlayın, hemen bir skeç çizin ve ardından html ile bunu kodlayın, bir çok paragraftansa bu şekilde arayüzler yapmak çok daha iyidir. Arayüzlerde mutabık kalmak akılda hiçbir soru bırakmaz. Uygulamanız ne kadar esnek olursa o kadar iyi.

Gereksiz Dokümantasyondan Kurtulun

Eğer bir doküman çok çok gerekmedikçe yazmayın. Yapın fakat yazmayın, eğer bir şeyi görsel ile gösterebiliyorsanız yazmak yerine skeç kullanın. Örneğin bir taslak çizdiniz fakat bunu dizayna geçirmediniz. Bu kağıdın durmasının gereği yoktur. Yapmayacağınız şeyler ile uğraşmayın.

Kısa hikayeler anlatın

Eğer yeni özellik hakkında illa bir şey söylemeniz gerekiyorsa bu durumda hikaye anlatın. Bunun bir makale olmasına gerek yok, kısa kısa hikayeler şeklinde anlatabilirsiniz.

Gerçek Cümleler Kullanın

Lorem Ipsum her ne kadar web designer’ların bir numarası olsa da içeriğin tam olarak nasıl duracağını bilmemek aslında bir handikap. Bundan dolayı metinleriniz gerçek olsun. Eğer siteniz gerçek veriler ile doldurulmuş olsa eksik göründüğünde yine metin ekleyebilirsiniz.

Ürünün Kişiliğini Oluşturun

Ürünü bir kişi olarak düşünün. Nasıl bir kişi? Nazik mi? Disiplinli mi? Eğlenceli mi? Buna karar verdiğinizde bu kişiliğe göre yazın ve arayüzü buna göre ekleyin. Ne zaman bir değişiklik yapacak olsanız bu kişiliğe göre ekleyin.

Ücretlendirme ve Kayıt

Bedava Deneme

Birisinin sizi fark etmesi için ona bedava bir şeyler verin. Kullanıcıları kendi ortamınıza alıştırın. Bunu deneme sürümleri ile yapabilirsiniz. Eğer alışırlar ise ürününüzü almak için oltaya gelmiş olurlar. Bu şekilde daha fazla proje ve başka özellikler sunabilirsiniz.

Hesap iptalini ve kayıt olayı kolay yapın

Kayıt olmayı ve iptalini kolay yapın. Hatta iptalinin sonucunda tüm bilgilerini içeriden alabileceği bir araç yaparsanız daha iyi olur bu size olan güveni artırır. Nasıl kayıt olurken çok fazla soru sormuyorsanız, iptal olayında da çok soru sormayın.

Kimse uzun dönemli kontratlardan, kayıt ücretlerinden vs. hoşlanmaz

Ürün aydan aya para alabilir, ayrıca kontrol yapıp iptal edildiğinde para talep etmeyin. Bunlar çok basit cingözlükler. Burada kendi başımdan geçen bir olayı anlatayım. Bir promosyon ile WSJ gazetesine abone oldum. 1$’a 3 ay internet üzerinden WSJ’yi okuyabilecektim. Gazeteye kayıt olduktan hemen sonra nasıl kaydımı iptal ettireceğimi düşündüm. Çünkü eğer 3 ayı geçerse aylık 20$ civarında para verecektim ve buna tam emin değildim. İnternet üzerinden iptal almıyorlarmış, bende telefon etmeye çalıştım Türkiye hatlarında problem var ve kimse açmadı. Bunun yerine Amerika numarasını aramamı istedi. Bende daha kolay bir yöntem olarak düşündüğüm kart numaramı değiştirme yöntemini uyguladım. Fakat kart numaramı değiştirdikten bir hafta sonra hesabım iptal oldu. WSJ meğer sürekli benim hesabımı kontrol ediyormuş. Para çekmese bile varlığını ve doğruluğunu kontrol ediyor. Bu bana oldukça anlamsız geldi. Şimdiki düşünceme göre hesabımın iptal olması daha iyi, böylece bir siteye kayıt olurken önce nasıl iptal edeceğimi araştırmayı öğrendim.

Promosyon

Teaser > Preview > Launch

  • İnsanların ne üzerinde çalıştığınıza dair bir ipucu verin. Bu logo olabilir, blog post olabilir vs.  Teaser serviyesinde yapmanız gereken Reddit, Boing Boing, SlashDot, Digg gibi sitelerede yayınlanmasını sağlayın bu size Google sıralaması kazancı olarak dönecektir.
  • Preview adımında ise ürünün temasını anlatın, bu ekran görüntüsü vs. olabilir. Özelliklerden bahsedebilirsiniz. Fikrin arkasında ne var bunlardan bahsedebilirsiniz. Ayrıca altın bilet gibi uygulamaya önce gelenlere bedava dağıtabilirsiniz.
  • Launch zamanında ise artık daha önce kayıt olmuşlara mail atın, daha önce yazdığınız blog uygulamalarını sitenize yönlendirin. Gelişim hakkında bilgi verin. Bunlar kaç kişi kayıt oldu,  ne geliştirmeler yapıldı vs. gibidir.

Promosyon Sitesi

Olması gerekenler şunlardır;

  • Uygulamanızı yapmanızın nedeni nedir?
  • Özellikler hakkında video veya fotoğraflar ile anlatım yapın.
  • Manifestosunu belirleyin
  • Gerçek hayatta ne gibi dertlere derman olduğunu örnekler ile anlatın.
  • Uygulama hakkında kullanıcılardan gelen güzel mesajları yazın.
  • Forum ile kullanıcıların birbirleri ile iletişime girebilecekleri bir platform hazırlayın.
  • Blog yazın
  • Sitenizde bulunan kullanıcı kayıt ekranına kolayca erişebilecekleri bir link koyun.

Blog yazın

İyi bir blog reklamdan daha fazla kullanıcı getirebilir.

Hemen birşeyler istemeye başlayın

Sitenin ismin aldıktan logoyu ve ipucu veren birkaç kelimeyi belirledikten sonra hemen kullanıcılardan mali istemeye başlayın. Böylece canlı ortama çıktığınızda onları bilgilendirebilirsiniz.

Özellikleri Sunun

Örneğin bir projeniz var bu projede eğer etrafa bilgilendirme yaparsanız başarılı olduğunuzda sizi takip eden sayısı artacaktır. Diyelim ki Java ile kodluyorsunuz ve bu alanda farklı bir şeyler geliştirdiniz. Tebrikler artık arkanızda Java topluluğu bulunmkatdır. Diyelim ki bloğunuzda RSS desteği var tebrikler blogcuların ilgisini çektiniz.

Logları takip edin

Loglarınıza bakıp kimin sizin hakkında konuştuğunuzu sürekli kontrol edin. Kim hakkınızda kötü konuşuyor. Hangi bloglarınız Technorati, Blogdex, Feedster gibi sitelerde yayına çıktı bunları takip edin. Sizin yaptıklarınızı yayan kişilere teşekkür edin ve onların üst bir listeye konularak yapılan değişikliklerden ilk onların haberdar olacağını haber verin. Eğer yorumlar negatif ise bunları iyi bir şekilde dinleyin ve düzgün bir şekilde “Buna şundan dolayı karar verdik” gibi mantıklı cevaplar verin.

Uygulama içerisinde yükseltme olanağı verin

Örneğin dosya yükleme için kullanıcının permium olması gerekiyorsa, free kullanıcı dosya yüklemeye çalıştığında bunu anca ücret vererek yapabileceğini söyleyin ve bunun neden iyi bir fikir olduğuna onu inandırın.

Destek

Destek ile geliştirme arasındaki farkı anlamanız lazım. Bunun için yazılımcıların doğrudan müşteriler ile iletişime geçmesi lazım. Böylece problemin doğrudan kaynağını göreceklerdir. Desteği dış firmalara vermeyin. Bunu kendiniz yapın. Gerekirse müşteri taleplerinden sıkılsanız, kızsanız bile bunu yapmanızda fayda var.

Sıfır Eğitim

Ürününüz için eğitim dokümanı yazmayın. Bunun yerine soru cevap veya gerektiği yerlerde yardım metinleri ile bu işi yapın.

Hemen Cevap verin

Müşterilere hemen cevap verdiğinizde çok mutlu oluyorlar. Tam olarak yeterli cevap veremeseniz bile hiç yazmamaktan iyidir. Çalışma saatleri içerisinde  soruların %90’ına en geç 90 dakika içerisinde cevap vermelisiniz.

Zor Aşk

Kullanıcıların her istediğini yapamazsınız. Tekrar hatırlatalım her şey en basitiyle olmalıdır. Kullanıcı her zaman haklı değildir. İstemediğiniz birkaç özelliği kullanıcı istediğinden dolayı uygulamanıza sıkıştırmayın.

Yaptığınız Yanlışları Paylaşın

Eğer yanlış yaptığınız bir konu var ise bunu insanlara söyleyin. Mesela uygulamanın down olması, bunun neden olduğunu da bildirebilirsiniz. Açık ve transparan olun bu konuda. Gizli şeyler tutmanıza gerek yok. Bilgili müşteri en iyi müşteridir. Göreceksiniz ki bu batırdığınız işler kullanıcının gözünde beklediğiniz kadar kötü de olmayabilir.

Canlı Sonrası Geliştirmeler

30 gün sonrasına major bir güncelleme ayarlayın. Bu sizin müşterileri dinlediğinizi gösterir. Başka bloglarda konuşabileceğiniz yenilikler verir.

Sürekli üretimde olduğunuzu bilsinler.

Blog yazmayı canlıya geçişten sonra bırakmayın. Bu blog sürekli güncellenmelidir. Blog’da yazabilecekleriniz; Soru cevap, nasıl yapılır, ipuçları, yeni özellikler vs. dir.

Beta sözcüğünü kullanmayın.

Bu kullanıcıların projenizin üzerinde bir bağlılığınızın olmadığı fikrine kapılmasına neden olur. Eğer ürüne yeteri kadar güvenmiyorsanız ne zaman canlıya çıkacağınızı halka arz edebilirsiniz. Ürününüzün mükemmel olmasını beklemeyin, canlıya alın ve yenisini çıkmaya çalışın.

Tüm buglar aynı seviyede değildir.

Bugları öncelik sırasına koyun. Hatta bazılarını görmezden gelin. Tüm bugları anında düzeltmek zorunda değilsiniz. “Doğru çalışmıyormuş gibi görünüyor” bugları bir süre bekleyebilir. Eğer bir bug veri tabanını etkiliyorsa sizin de tahmin edebileceğiniz gibi anında düzeltilmesi gerekmektedir. Ayrıca bug’ların etrafına çok korku duvarı oluşturmayın bunun normal olduğunu kabullenmelisiniz.

Rakiplerinizin Yeniliklerini Takip edin.

Uygulamanın şişmesine izin vermeyin

Uygulamanız web tabanlı ve aylık gelir modeline dayalı olursa uygulamanıza Microsoft gibi sürekli birşeyler eklemeye ihtiyacınız yoktur. Uygulamanın bu şekilde genişlemesinin nedeni biraz da satış ile alakalıdır. Siz bu tuzağa düşmeyin bazen insanlar isveç anahtarı gibi herşeye sahip olmak yerine sadece kaleme ihtiyaç duyarlar.

Akışa ayak uydurun

Sonuç

Artık uygulamanızı yazmaya hazırsınız.  Herkes kitap okuyabilir. Herkesin bir fikri olabilir. Herkesin kuzeni web dizayn işi yapabilir. Herkes blog yazabilir. Burada farklılık sizin bunları ne kadar iyi yaptığınız ile alakalıdır. Başarı işi ne kadar iyi yaptığınız ile alakalıdır. Yaptığınız projenin tüm dallarında bir harmoni ve balans olmalıdır. Her zaman zayıf olduğunuz bağlantıları kontrol edin ve bunları iyi seviyeye getirmeye çalışın.

Çalışanlar

Birşeyler yapmak isteyen insanlar hiç durulmazlar. Bu insanları bulduğunuzda bırakmayın sonunda bu kişiler harika bir firmaya sahip olmanızı sağlayacaklardır.

Yaptığınız işin yazılımdan fazlası olduğunu bilin.

 

Sağlıcakla kalın.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir