iodigital studio

Yazılımcınız projeyi yarım bıraktıysa: devralma rehberi

Yarım kalmış bir yazılım projesini kurtarmak için önce neleri toplamanız gerektiği, kurtarılabilir mi kararının nasıl verildiği ve tekrarlamaması için sözleşmeye yazılacaklar.

Bu, kimsenin planlamadığı ama sık yaşanan bir durum: proje yarıda kaldı. Geliştirici ortadan kayboldu, ajansla yollar ayrıldı ya da iş uzadıkça uzadı ve artık kimse ilerlemiyor. Elinizde çalışmayan bir yazılım, ödenmiş bir fatura ve "şimdi ne olacak?" sorusu var.

İyi haber: çoğu proje devralınabilir. Kötü haber: devralmanın maliyeti, elinizde ne olduğuna bağlı ve bu genellikle sandığınızdan azdır. Bu yazı hem durumu değerlendirmenize hem de ikinci kez aynı yere düşmemenize yarıyor.

Önce panik değil, envanter

Yeni birine gitmeden önce şunları toplayın. Bu liste, alacağınız teklifin gerçekçiliğini doğrudan belirler:

  1. Kaynak kodu. Kodun tamamı nerede? GitHub, GitLab gibi bir yerde mi, yoksa geliştiricinin bilgisayarında mı? Erişiminiz var mı?
  2. Alan adı. Kimin adına kayıtlı? Yönetim paneline girebiliyor musunuz?
  3. Sunucu / hosting. Site nerede yayında, hesap kimin adına, faturası kime geliyor?
  4. Veritabanı. Müşteri, sipariş ve içerik verisi nerede duruyor? Yedeği var mı?
  5. Üçüncü taraf hesaplar. Ödeme altyapısı, e-posta gönderim servisi, kargo entegrasyonu, Google hesapları.
  6. Yazışmalar ve sözleşme. Neyin teslim edileceği yazılı mı?

Bu altı maddeden kaçına "bende var" diyebiliyorsanız, durumunuz o kadar iyidir.

En kritik madde alan adıdır. Kod baştan yazılabilir, sunucu değiştirilebilir; ama alan adı başkasının üzerindeyse ve o kişiye ulaşamıyorsanız, markanızın adresi rehin demektir.

Erişiminiz yoksa ne yapılır?

Umutsuz değil ama zahmetli:

  • Alan adı: Kayıt firmasına kimlik ve şirket belgeleriyle başvurarak devir talep edilebilir. Marka tescili varsa eliniz güçlenir.
  • Sunucu: Fatura sizin adınıza kesiliyorsa hosting firması genellikle yardımcı olur.
  • Kod: Erişim yoksa ve geliştirici vermiyorsa, gerçekçi seçenek yeniden yazmaktır. Sözleşmede "kaynak kodu müşteriye aittir" maddesi varsa hukuki yol açıktır ama süreç uzundur; çoğu işletme beklemek yerine ilerlemeyi seçiyor.
  • Veri: Sitede yayında olan içerik dışarıdan toplanabilir. Müşteri ve sipariş verisi ise yalnızca veritabanından çıkar — erişim yoksa kaybolabilir. En acil takip edilmesi gereken kalem budur.

"Kurtarılabilir mi?" kararı nasıl verilir?

Devralan tarafın ilk işi kodu okumaktır. Bakılan şeyler:

  • Çalışıyor mu? Kod, yeni bir bilgisayarda makul sürede ayağa kalkıyor mu? Kalkmıyorsa bu kötü işarettir.
  • Ne kadarı bitmiş? "Yüzde 80 bitti" denen projeler genellikle yüzde 40'tadır; çünkü geriye kalan test, hata ayıklama ve yayına alma kısmı toplam işin büyük bölümüdür.
  • Yaygın araçlarla mı yazılmış? Bilinen ve güncel teknolojilerle yazılmış bir proje devralınabilir. Çok eski ya da çok niş bir yapı, sizi yine dar bir çevreye mahkûm eder.
  • Güvenlik durumu. Şifreler düzgün saklanmış mı, ödeme akışı doğru kurulmuş mu, bilinen açıklar var mı?

Bu incelemenin sonucunda üç cevaptan biri çıkar: devam edilebilir, bir kısmı kurtarılır, ya da baştan yazmak daha ucuz. Üçüncüsü kulağa acı gelir ama bazen gerçekten en ucuz yoldur — özellikle proje sandığınız kadar ilerlememişse.

Size bu incelemeyi yapmadan fiyat veren bir yere temkinli yaklaşın. Kodu görmeden verilen rakam ya sonradan büyür ya da içi boşaltılarak tutturulur.

Devralmayı kolaylaştıran üç davranış

Suçlu aramayı bırakın. Önceki ekibin neyi yanlış yaptığını konuşmak sizi ileri götürmez. Yeni ekibe "elimde şunlar var, hedefim şu" demek götürür.

Kapsamı küçültün. Yarım kalmış projeler genellikle fazla büyük tasarlandıkları için yarım kalır. Devralırken önce yayına alınabilecek en küçük sürümü hedefleyin, gerisini sonra ekleyin.

Aşamalı ilerleyin. Tüm işi tek kalemde anlaşmak yerine önce inceleme, sonra ilk aşama şeklinde ilerlemek iki tarafı da korur.

Bir daha yaşamamak için sözleşmeye yazılacaklar

Bu maddeler bir sonraki projede sizi aynı yere düşmekten korur:

  1. Kaynak kodu ve tüm hesaplar müşteriye aittir. Açık ve tartışmasız bir cümleyle.
  2. Kod, sizin erişiminiz olan bir depoda tutulur. Geliştiricinin bilgisayarı tek kopya olamaz.
  3. Alan adı, sunucu ve tüm üçüncü taraf hesaplar sizin adınıza açılır. Faturalar size gelir.
  4. Teslimat aşamalara bölünür. Her aşamada çalışan bir şey görürsünüz; ödeme de o aşamaya bağlanır.
  5. Veritabanı yedeği düzenli alınır ve bir kopyası sizde durur.

Bu maddeleri kabul etmeyen bir tedarikçi, size neye bağımlı kalacağınızı baştan söylüyor demektir.

Peki maliyet?

Devralma projelerinde fiyat, sıfırdan yapmaya göre bazen daha düşük bazen daha yüksektir. Kod temizse ve gerçekten ilerlemişse tasarruf edersiniz. Kod dağınıksa, başkasının bıraktığı yerden devam etmek sıfırdan yazmaktan pahalıya gelebilir — çünkü hem anlamak hem düzeltmek gerekir.

Bu yüzden ciddi bir incelemeden önce net rakam veren yoktur, verilmemelidir de. Başlangıç rakamlarımızı fiyat bölümünde görebilirsiniz; devralma işlerinde önce kodu inceler, sonra üç seçeneği de maliyetiyle birlikte önünüze koyarız.


Yarım kalmış bir projeniz varsa durumu birkaç cümleyle anlatın. İnceleyip dürüst bir değerlendirme yapalım: neyin kurtarılabileceğini, neyin yeniden yapılması gerektiğini açıkça söyleriz. Karar yine sizin olur.