In-House Çözüm mü, Üçüncü Parti Çözüm mü? İkilemine Dair Bir Vaka Çalışması
Her müşterinin yazılım geliştirme iterasyonları sırasında, bir noktada ekip olarak büyük bir kararla karşı karşıya kalırız: Kendi çözümümüzü mü geliştirmeliyiz, yoksa üçüncü parti bir yazılım/hizmet mi kullanmalıyız? Her durum için geçerli tek bir “sihirli formül” yoktur. Tüm ürünlerin kendine özgü alanları (domain), kısıtları ve teknoloji yığınları (tech stack) vardır. Buna ek olarak startup’ların/girişimcilerin zaman, bütçe ve gizlilik (privacy) gibi farklı öncelikleri olabilir. Teknik bir karar gibi görünse de, bu kararı etkileyen girdilerin büyük kısmı aslında teknik olmayan faktörlerdir.

Öncelikle iki seçeneğin tanımını yapalım.
In-house çözüm, çözümün temel fonksiyonelliğinin ekip tarafından geliştirilmesi, yönetilmesi ve bakımının yapılmasıdır. Açık kaynak bir yazılım/paket/kütüphane/framework/araç/sunucu kullansanız bile bu hâlâ bir in-house çözümdür.
Third-party çözüm ise, çözümün temel fonksiyonelliğinin bir sağlayıcıdan servis olarak alınmasıdır. Bu ücretsiz ya da ücretli (premium) bir servis olabilir. Ekibiniz, sağlayıcının sunduğu API ya da diğer entegrasyon yöntemleri üzerinden bu servisi sisteminize entegre eder.
Doğru kararı verebilmek için seçeneklerin aşağıdaki değişkenler üzerinden değerlendirilmesi gerekir:
- Zaman/Efor: Seçeneğin hayata geçirilmesi için harcanacak toplam zaman ve efor.
- Yetkinlik Seti (Skillset): Seçeneği anlamak ve uygulamak için gerekli beceri ve yetkinlikler.
- Bütçe: Harcanan efor ve kullanılan servis maliyetleri üzerinden hesaplanabilen başlangıç maliyetleri.
Bu yazıda seçenekleri detaylı şekilde karşılaştırmayacağız; çünkü bu tartışma tamamen proje takvimine ve bütçeye, geliştirme ekibinin yetkinliklerine, üçüncü parti sağlayıcının sunduğu destek ve özellik setine bağlıdır. Genel bir kural olarak şunu söyleyebiliriz: Eğer MVP’nizi oluşturma sürecindeki eforu azaltmak istiyorsanız, üçüncü parti bir servis kullanmak genellikle daha hızlı bir yoldur.
Vaka Analizi
Widio, teknik partner olarak iş birliği yaptığımız startup ürünlerinden biridir. Widio, mülkünüz için video çekmenize ve gayrimenkul ile araç ilanlarını tüm detaylarıyla anlatmanıza olanak tanır.
MVP öncesindeki erken iterasyonlarda, mobil ve web uygulamalara bir arama (search) fonksiyonu eklememiz gerekiyordu. Bu arama fonksiyonu aynı zamanda mekânsal aramayı (spatial search) desteklemeli ve en yakın ilanları gösterebilmeliydi. Özellik kapsamı şu gereksinimleri içeriyordu:
- Yayınlanan her ilanın mümkün olan en kısa sürede arama indeksine eklenmesi
- Kullanıcı trafiğinin büyük kısmının arama fonksiyonu üzerinden gerçekleşecek olması nedeniyle çözümün ölçeklenebilir (scalable) olması
- İlan verilerindeki her alanın sorgulanabilir (queryable) olması
- İlan konum verisinin, kullanıcıya olan mesafeye göre sıralama yapmak için kullanılması
Geliştirme ekibi içinde ve müşteriyle yaptığımız toplantı ve değerlendirmeler sonucunda, üçüncü parti bir servis olan Algolia kullanma kararı aldık. Her iki çözüm için efor tahminlerini, maliyetleri ve zaman çizelgesini karşılaştırdık. Algolia’nın sunduğu özellikler ihtiyaç kapsamımızı karşılıyordu ve hem frontend hem backend tarafında kullandığımız teknolojiler için stabil client kütüphanelerine sahipti. Dokümantasyonu da entegrasyonun kurulumu ve uygulanması açısından oldukça destekleyiciydi. Algolia. We compared the effort estimation, costs and the timeline on both solutions. Features of Algolia also met our scope and It has stable client libraries for the technologies we used on frontend and backend. The document base was also very helpful to set up and implement the integration.
Çözümü başarıyla hayata geçirdik ve müşteri, arama analitiklerini Algolia paneli üzerinden takip etmeye devam ediyor. Aramayla ilgili yeni bir özellik ya da değişiklik talep edildiğinde ise, bu değişikliğin alınan kararı etkileyip etkilemeyeceğini değerlendirerek çözümü yeniden gözden geçiriyoruz.
Kendi çözümünüzü geliştirmek mi yoksa üçüncü parti bir çözüm kullanmak mı sorusu her zaman çok sayıda faktörü içerir. Projeye özel endişeleriniz de olabilir. Müşteriyi sürecin içine dahil ettiğinizde, doğru kararı vermek her zaman mümkün olur.






