bettadev

Bir uygulamanın maliyetini gerçekte ne belirler?

Tek cümlelik bir fikirden fiyat çıkmaz. Ama fiyat bir sır da değil. Maliyeti yukarı ya da aşağı çeken kararlar ve sanıldığı kadar etkisi olmayanlar.

En sık duyduğumuz soru "Bir uygulama kaça çıkar?" ve dürüst cevabı olan "Duruma göre değişir" en az sevilen cevap. O yüzden bu yazıda neye göre değiştiğini anlatıyoruz. Fiyat listesi vermiyoruz, çünkü kapsamı belli olmadan söylenen her rakam, gerçekmiş gibi sunulmuş bir tahmindir. Onun yerine, ekran görüntüsünde birbirine benzeyen iki uygulamadan birini diğerinin üç katı fiyata çıkaran kararları sıralıyoruz.

Herhangi bir stüdyoyla ilk görüşmenizden önce bunları okursanız çok daha isabetli bir teklif alırsınız ve teklifin hangi kalemlerini değiştirebileceğinizi görürsünüz.

1. Kullanıcıların hesabı olacak mı?

En büyük tek şalter bu. Hesap gerektirmeyen bir uygulama çoğu zaman her şeyi telefonda tutabilir: sunucu yok, veritabanı yok, şifre sıfırlama yok, başkasının makinesindeki veriye dair gizlilik sorusu yok. Kullanıcı giriş yaptığı anda bir sunucu tarafına, hesap kurtarma yöntemine, hesap silme özelliğine (iki mağaza da şart koşuyor) ve bunların hepsini doğru anlatan bir gizlilik metnine ihtiyaç duyarsınız.

Hesaplar çoğu zaman gerekli. Ama ilk sürüm için her zaman gerekli değil. Şaşırtıcı sayıda uygulama, verileri telefonda tutarak yayına çıkabilir ve kullanıcıların verilerini ikinci bir cihazda görmek için bir sebebi olduğunda girişi ekleyebilir.

2. Bir şey canlı olarak mı oluyor?

Sohbet, canlı çok oyunculu oyun, herkesin ekranında aynı anda güncellenen listeler, canlı konum. İki kişinin aynı şeyin değiştiğini aynı anda gördüğü her durumda, doğruyu elinde tutan ve değişiklikleri dağıtan bir sunucuya ihtiyaç vardır; üstüne bir de telefonun yarı yolda tünele girdiği anların düzgün yönetilmesi gerekir. Gayet yapılabilir bir iş. Ama veriyi çekip gösteren ekranlardan farklı bir iş kategorisi.

3. Kaç yerde çalışması gerekiyor?

Sadece iPhone mu, iPhone ve Android mi, yoksa bunlara ek olarak web mi? Ortak kod tabanı ikinci platformun maliyeti ikiye katlamasını engeller ama onu bedava yapmaz: her platformun yine kendi testi, kendi mağaza sayfası, kendi incelemesi ve kendine özgü birkaç düzeltmesi olur. Tablet, akıllı saat ve widget'lar ise her biri ayrı bir katman ekler.

4. Neyle konuşması gerekiyor?

Ödeme altyapısı, mevcut bir randevu sistemi, CRM, depo yazılımı, bir kamu servisi, Bluetooth ile bağlanan bir cihaz. Her entegrasyon, karşı tarafın dokümantasyonu ne kadar iyiyse o kadar öngörülebilir bir iş ekler ve bunu çoğu zaman biri denemeden bilemezsiniz. Teklifte bir entegrasyonun yanında büyük bir pay görüyorsanız sebebi budur. İyi belgelenmiş bir ödeme sağlayıcısı öngörülebilirdir. API dokümanı olmayan ve sadece bir kişinin anladığı bir iç sistem değildir.

5. Arka tarafı kim yönetecek?

Birinin ürün eklemesi, kullanıcı onaylaması, destek taleplerine bakması, fiyat değiştirmesi ya da içerik yayınlaması gerekecek. Bu işlerin her biri ya bir araç ya da bir yazılımcı ister. Özel bir yönetim paneli, uygulamanın kendisi kadar büyük olabilir. İlk sürüm için bir tablo, hazır bir içerik yönetim sistemi ya da veritabanının kendi paneli çoğu zaman yeterlidir. Kullanıcıların hiç fark etmeyeceği en kolay tasarruf kalemlerinden biridir.

6. Tasarım ne kadar özel?

İyi yapılmış platform bileşenleriyle kurulup markanıza göre giydirilmiş bir uygulama, her ekranında özel animasyon, illüstrasyon ve kendine has etkileşim olan bir uygulamadan çok daha ucuza çıkar. İkisi de mükemmel olabilir. İkincisi, ürünün hissinin ürünün ta kendisi olduğu yerlerde değer: oyunlar, keyif üzerinden yarışan tüketici uygulamaları, insanların ücretsiz bir alternatif yerine sizi sırf kullanması daha güzel olduğu için seçtiği her şey.

7. İş başladığında ne kadar belirsizlik kalıyor?

Gizli çarpan budur. Kapsamı net, kararları verilmiş ve prototipi test edilmiş bir proje sıkı fiyatlanabilir. Ekranlarının yarısı "sonra bakarız" olan bir proje o belirsizliği bir yerde taşımak zorundadır: ya daha yüksek bir sabit fiyatta ya da durmadan büyüyen bir saatlik faturada. Geliştirmeden önce kısa bir tasarım aşamasına para vermek, belirsizlikleri karara dönüştürmenin en ucuz yoludur.

Sanıldığı kadar etkisi olmayanlar

  • Ekran sayısı. On basit ekran, karmaşık canlı haritası olan tek bir ekrandan ucuz olabilir. Ekranları değil, davranışları sayın.
  • Framework. React Native, Flutter ya da native ile çalışan yetkin bir ekip, çoğu uygulama için benzer bir aralığa düşer. Seçim başka sebeplerle önemlidir.
  • Geliştirme sırasındaki küçük görsel değişiklikler. Bir butonu taşımak ucuzdur. Arkasındaki mantık yazıldıktan sonra o butonun ne yaptığını değiştirmek değildir.

Geliştirme fiyatına girmeyen kısım

Biten bir uygulama para harcatmaya devam eder: her yıl Apple Developer Program üyeliği, bir kerelik Google Play kaydı, kullanım arttıkça büyüyen sunucu masrafları, üçüncü taraf servisler ve yeni iOS ile Android sürümlerine ayak uydurmanın düzenli işi. Türkiye'den bakınca bir not daha: bu kalemlerin çoğu dolar üzerinden faturalanır, yani TL bütçe yaparken kuru da hesaba katmak gerekir.

Bunların hiçbiri geliştirme maliyetinin yanında büyük değildir. Ama bunları dışarıda bırakan bir plan sizi üçüncü ayda şaşırtır. Bir stüdyodan teklif isterken bu kısmı da sorun. Cevap belirsizse, uygulamaya da muhtemelen aynı belirsizlikle bakılacaktır.

Biz bunu nasıl rakama dökeriz?

İlk e-postadan fiyat vermiyoruz. Otuz dakikalık bir görüşmeden sonra, yukarıdaki yedi soruyu sizin uygulamanız için cevaplayan bir kapsam yazıyor ve üzerine tek bir sabit fiyat koyuyoruz. Açık kalan bir karar varsa kapsam bunu belirtir ve fiyatı iki ihtimal için de verir. O belge, projeyi başka biriyle yapsanız bile işinize yarar; düzgün yazılmasının amacı da zaten bu.