Ana içeriğe atla

Yazılım Projesine Başlarken Altın Kurallar: Satış, Odak ve İnat

Ekip olarak şu anda yeni bir yazılım projesine başladık. Uzun zamandır geliştirmek istediğimiz hem bizim hem de başkalarının ihtiyacını çözecek bu proje için kolları sıvadık. Proje için fikirler havada uçuşurken acaba hangi prensiplere uysak da ilerleyen zamanlarda kafamızı duvarlara vurmasak diye düşünürken bu yazı serisi ortaya çıktı.

Yeni bir yazılım projesine başlarken uyulması gereken birçok altın kural var, ben sadece birkaç tanesine değineceğim. O da var bu da var demeyin, bu yazının devamı gelecek inşallah.
Bazen tek atımlık kurşununuz vardır (Photo by Erik Mclean from Pexels)

Satış: Evet, bildiğimiz anlamda. Hayır, kodlamayı falan düşünmeyin. Bu yazılım ürünü satılır mı, bize gelir sağlar mı, bu ürünü kimlere satabiliriz, kim bu ürüne neden para verir/ne kadar para verir, bu ürüne benzer ürünler piyasada var mı, bu ürünün diğerlerinden farkı ne olacak … 

Yazılımcıların evine ekmek götürmesi, sunucu ve lisans masrafları ile operasyonel maliyetlerin karşılanması için para gerekli. Benim amacım para kazanmak değil insanlığa hizmet etmek istiyorum diyorsanız, o sizin bileceğiniz iş ama yıllarca sürecek bir projede motivasyonunuzu nasıl sağlayacağınızı iyi düşünün. 

Projenizde özgürce karar vermenin ve çalışmanın yolu gelir elde etmekten geçiyor.

Yazılım ürünün satış yönünü düşünürken kullanıcının ihtiyacını belirleme yolunda ilerleyeceksiniz. Çünkü kullanıcının bu ürüne para verip vermeyeceği gerçekten de bir ihtiyacın olup olmadığını ortaya çıkaracaktır. İhtiyacın zaten piyasada mevcut ürünler ile karşılanması bu projenin mevcut ürünlerden hangi yönlerde farklı olacağını ortaya çıkaracaktır.

Satış yönünü düşünmek yazılım mimarisi açısından da bazı soruların cevaplarını bulmanızda yardımcı olacaktır. Örneğin sadece Türkiye pazarına hitap edecek bir ürün için bulut teknolojileri kullanmamayı tercih edebilirsiniz, kullanıcının kendi kaynaklarında (on prem) çalışacak bir yazılım için veya kalabalık bir yazılım ekibini maddi açıdan karşılayamayacak bir yazılım ürünü için tercih edeceğiniz yazılım teknolojileri farklı olabilir.

Ayrıca satış yönünü düşünürken yazılım ürününüz ile birlikte kullanacağınız ek bir donanım mevcut ise bu donanımı piyasadan nasıl elde edeceğinizi ya da nasıl ürettireceğinizi araştırmış olacaksınız.

Odak: Özetle MVP’ye (Minimum Viable Product) odaklanın. Çalışan basit bir sürüm ortaya çıkarın. Erkenden. Olabildiğince erken. Evet, ilerleyen zamanlarda utanın yazılımın bu halinden. Evet, bu hali sizin ve ekibin teknik yeteneklerini göstermiyor. Evet, belki de o havalı yeni teknolojiyi kullanmadan…

Kendinizi durdurun. Önce MVP ortaya çıkacak!

Kullanıcılarınız ile mümkünse yüz yüze görüşün, telefonla görüşün, e-posta ile görüşün. Yeter ki elinizi kana bulamadan ihtiyacı netleştirin. Hangi özelliklerin olmazsa olmaz olduğunu belirleyin. Beyin fırtınası yapıp şöyle bir özellik daha ekleyelim, böyle bir özelliği şuraya sıkıştıralım demeyin. Bunları not alın ilerleyen zamanlarda yaparsınız. 

Yazılımı geliştirmeye başlamadan önce kullanıcılardan geri bildirim almanın bir diğer yolu ise sanki o yazılım hazırmış gibi bir websitesi yapmaktır. Bu websitesinin ne kadar ziyaret edildiği, A/B testleri ile farklı ücretlere ne kadar tıklama alındığı, websitesi sayesinde ne kadar telefon ve e-posta aldığınız size ihtiyaç konusunda bir şeyler söyleyecektir.

Kolları sıvadınız yazılımı geliştirmeye başlayacaksınız. Hemen bir yapılacaklar listesi oluşturun ve bu liste dışında iş yapmayın. Aklınıza gelen fikirleri sadece “ben doğru yolda mıyım” diye değerlendirin. Ek özellikleri ve kullanımı kolaylaştıracak muhteşem senaryoları sadece not alın. Önce MVP ortaya çıkacak ve kullanıcıdan geri bildirimler alınacak. 

İnat: Geliştirme, istediğiniz hızda ve kalitede ilerlemiyor mu? Basit diye başladığınız bir özellik beklediğinizden zor mu çıktı? Veri tabanının tasarımını defalarca değiştirdiniz mi? Yapılacaklar listesinde üstü çizilecekler öylece duruyor mu? Yeni bir teknoloji mi çıktı? Denemek istediğiniz bir şeyler mi var? MVP’yi ortaya çıkarmaya odaklanın ve inatlaşın! 

Tahminleriniz sizi yamultmasın. Büyük ihtimalle geliştirme süresi tahmininizden uzun sürecektir. Hatta bazı araştırmalara göre tahmin sürenizi pi sayısı ile çarptığınızda gerçekçi bir geliştirme süresi elde edebilirsiniz.

Varsayımlarınız sizi yıkmasın. Kullanıcının kendi sektörü hakkındaki bilgisi, kullanıcının bilgisayar kullanma alışkanlıkları, kullanıcının bu yazılıma ayıracağı süre (para değil, süre) gibi konularda farkında olmasanız da aslında birçok varsayıma sahipsiniz. Özellikle kalabalık bir yazılım ekibi ile geliştirilecek bir yazılım projeniz varsa bu varsayımlar ekibin içinde de değiştiğinden tehlike büyük oluyor. Proje ile ilgili maddeleri özellikle kullanıcı ile ilgili olanları yazılı hale getirin ve herkesin bu maddeleri okuduğunda aynı şeyi anladığından emin olun.

İletişim kazaları, tahminler ve varsayımlara karşı mücadeleyi bırakmayın.

Yazının ikinci serisinde “ekip” kavramına değinmeye çalışacağım.

Yorumlar

Bu blogdaki popüler yayınlar

Bir Uluslararası Yazılım Şirketinin Batış Hikayesi

 Güzel başlamıştı hikaye. Yazılımcılar mutlu, kullanıcılar memnundu. Sonra pandemi başladı. Sorun para değildi. Olmayan şey huzurdu… Durdurun hype trenini, inecek var kırık kalpler durağında  — Photo by Kelly Sikkema on  Unsplash Gerçek olamayacak kadar güzeldi çalışma ortamı. Yazılımcılara istedikleri eğitim ve donanım alınıyordu, personel arası hiyerarşik bir yapı yoktu, sorumluluğun yanında yetki de veriliyordu, esnek çalışma saatleri yazılımcılara göre esnekti, izin isteyen hiç kimse geri çevrilmiyordu, pandemiden önce bile uzaktan çalışma vardı. Ne oldu bu şirkete? Nazar mı değdi? Şirketin yazılım ürünü Türkiye’de doğmuştu. Ürün birçok ülkede hem kamu tarafından hem de özel sektör tarafından kullanılıyordu. Yazılım geliştirme ekipleri hem Türkiye’de hem de diğer ülkelerde bulunuyordu. Yazılımın argesi için gelen geri bildirimlerin çoğu Türkiye’den geliyordu. Yazılımın kalbi Türkiye’de atıyordu.  Koronavirüs pandemisi nedeniyle Türkiye’de kamu kuruluşları hizmet alımı ile aldıklar

Türkiye'de Yazılım Şirketi Açmak ve Çıldırmamak

Aklında bir fikir vardı. Piyasada bunu karşılayan yazılımlar vardı ama hepsi eksikti. Hayalindeki yazılım ürününe hiçbiri yaklaşamıyordu. Gördüğü kadarıyla piyasanın böyle bir ürüne ihtiyacı vardı. Kullanıcılar mevcut ürünlerden şikayetçiydi. Kendi ekibini toplayıp hayalindeki şirketi kurmaya niyetlendi. Rüzgarlara dikkat!- Francesco Ungaro -  Pexels İşinden istifa etmeden önce piyasa araştırmasını yaptı, rakip ürünleri inceledi. En önemlisi ekibini kurdu. Ürününün MVP hali için çalışmaları başlattı. Girişim kurmak ile ilgili birçok kitap ve blog okudu, podcastler dinledi. Girişimci birkaç kişinin çayını kahvesini içti. Öngörebildiği her şey için önlemini aldı ve istifa edip kendi yazılım şirketini kurdu. Şirket kurmak için gerekli süreçler düşündüğünden daha kolay geçti. Şirketin adı ve logosu zaten hazırdı. Şirket teknoparkta yerini almıştı. Kendisi etiketlere çok önem vermiyordu ama yine de LinkedIn’deki profiline “Founder of the …” ibaresini ekledi. MVP’nin ortaya çıkması hedefini

Yazılımcılar İçin Yan Proje Oluşturma Rehberi

İster hobi amaçlı olsun ister maddi amaçlı her yazılımcının bir yan projesi olmalıdır. Peki yan proje oluştururken nelere dikkat edilmelidir, nasıl bir yan projemiz olmalıdır? Organize olalım beyler Yan proje (side project) için öncelikle bir fikir bulmak gerekli. Bu projenin amacı ne olacak? Hangi ihtiyacı çözecek? Yeni bir fikir mi olacak yoksa mevcut bir fikrin daha iyi uygulanmış bir hali mi olacak? Sadece yeni bir teknolojiyi öğrenmek için mi? Deneysel mi olacak ya da eğlenceli mi? Yoksa maddi bir getirisi olacak mı? Bu proje ürün olursa kimler kullanacak? Ürünü kullanacak kişilere erişip geri bildirim alabilecek miyim? . . . Bu soruların doğru bir cevabı yok, cevaplar size bağlı. Ama proje bir amaca hizmet edip bir ihtiyacı çözecekse, hele birde maddi getirisi olacaksa motivasyonunuz yükselecektir. Bunun yanında sadece eğlence amaçlı olan deneysel bir proje yapmak stressiz bir öğrenme ortamı sağlayacaktır. Gün içinde proje için aklınıza gelen her şeyi not alın. Not almazsan