Yarım kalan uygulamayı başka bir ekip devralabilir mi?
Geliştiricinize ulaşamıyor ya da işi yarım kaldıysa uygulamanızı kurtarmanın yolları olabilir. Önce elinizde ne olduğunu saymayı, yeni ekibin neye bakacağını ve üç yolu anlatıyoruz.
Yarım kalan bir yazılım projesini başka bir ekip devralabilir mi? Çoğu zaman evet; ama önce elinizde ne olduğunu bilmek gerekir. Kaynak koda erişiminiz varsa yeni bir ekip koda bakıp yol önerebilir. Erişiminiz yoksa işin ilk adımı onu bulmaktır. Bu yazı, önceki geliştiricisiyle yolu ayrılmış ya da ona ulaşamayan kişiler için bir yol haritası.
Kısa cevap: çoğu zaman evet, ama önce elinizdekini bilin
Devralma, koda ve hesaplara erişimle başlar. Kod elinizdeyse devralmak genellikle mümkündür. Kodun kalitesi, işin devam edip etmeyeceğini belirler. Kod yoksa durum zorlaşır, ama her kapı kapanmış değildir.
Bu yazıda bir kişiyi suçlamayacağız. Geliştirici işi bırakabilir, şehir değiştirebilir, ulaşılamaz olabilir. Önemli olan bundan sonra ne yapacağınız.
Elinizdekini sayın
Yeni bir ekiple konuşmadan önce şu envanteri çıkarın. Bir satır bile boş kalsa not edin:
| Ne? | Sorulacak soru | Elimde mi? |
|---|---|---|
| Kaynak kod | Dosyalar bir yerde duruyor mu? | |
| Depo erişimi | Kod deposu kimin hesabında? Giriş yapabiliyor musunuz? | |
| Sunucu ya da bulut | Uygulama nerede çalışıyor? Hesap kimin adına? | |
| Alan adı | Web adresinin sahibi kim görünüyor? | |
| Mağaza hesabı | App Store ve Google Play'deki hesap kimde? | |
| Belgeler | Kurulum notları, tasarım dosyaları, gereksinim belgesi var mı? | |
| Gizli bilgiler | Parolalar, anahtarlar ve ayarlar nerede? |
Bu tablo, yeni ekibin ilk görüşmede sorduğu şeyle aynıdır. Doldurulmuş bir tablo, görüşmeyi çok kısaltır.
Kaynak kod yoksa
En zor durum bu: uygulama çalışıyor ama kaynak kod elinizde değil. Bir geliştirici forumunda tam bu durumu yaşayan bir şirket sahibi şunu sormuştu: "The person we hired moved out of town. [...] we need the app's source code" (Apple Developer Forums, Nisan 2018). Oradaki cevapların ortak noktası şuydu: kod, programcının çalıştığı proje dosyalarında durur ve ondan istenmelidir.
Genel bilgi olarak şunu bilin: yayındaki uygulamadan kaynak kodu geri almak çoğu zaman mümkün değildir. Kullanıcıya gelen paket, derlenmiş hâldir.
Bu durumda sırayla şunlara bakın:
- Geliştiriciyle yazılı iletişim kurun. Kodu ve erişimleri açıkça, yazılı isteyin. Üslubunuz sakin olsun.
- Sözleşmeyi ve teklifi bulun. Kodun kime ait olacağı yazılı mı? Teslim kalemleri neydi?
- Depo ve sunucu hesaplarını kontrol edin. Fatura ya da e-postalarda bu hesapların izi olabilir.
- Gerekirse bir avukata danışın. Hak ve devir meselesi hukuki bir konudur; bu yazı hukuki görüş değildir.
Hiçbir yol açılmazsa, uygulamanın ne yaptığı ve akışları yeni bir geliştirme için kapsam olarak yazılabilir. Bu da bir başlangıçtır. Eski tasarım ve metinleri yeniden kullanmadan önce avukatınıza sorun.
İnceleme: yeni ekip önce neye bakar?
Kod elinizdeyse, yeni ekip hemen yazmaya başlamaz. Önce inceler. İncelemede bakılanlar:
- Kodun durumu: Okunabilir mi, düzenli mi, başka biri anlayabilir mi?
- Testler: Var mı? Çalışıyor mu? Testsiz kodda her değişiklik risklidir.
- Bağımlılıklar: Kullanılan kütüphaneler güncel mi, lisansları belli mi?
- Gizli bilgilerin yeri: Parola ve anahtarlar kodun içinde mi duruyor, ayrı mı tutuluyor?
- Kurulum: Uygulama sıfırdan kurulup çalıştırılabiliyor mu?
- Belgeler: Kodun ne yaptığını anlatan bir şey var mı?
İncelemenin çıktısı yazılı bir durum raporu olmalıdır. Sözlü "iyi görünüyor" yetmez. Rapor, bir sonraki kararın dayanağıdır.
Üç yol: devam etmek, düzeltip devam etmek, baştan yazmak
İnceleme sonunda genellikle üç yoldan biri öne çıkar:
- Olduğu gibi devam etmek. Kod düzenli, testler var, kurulum çalışıyor. Yeni özellikler üstüne eklenir.
- Düzeltip devam etmek. Temel sağlam, ama eksikler var: test yok, gizli bilgiler dağınık, belge eksik. Önce bunlar düzeltilir, sonra yeni iş yapılır.
- Baştan yazmak. Kod anlaşılmıyor, kurulamıyor ya da temeli kırılgan. Bunun üzerine eklemek, borcu büyütür.
Karar ölçütleri rakamsız ve yalındır:
- Başka biri bu kodu okuyup değiştirebiliyor mu?
- Değişiklik yapınca bir şey bozulduğunu fark edebiliyor muyuz?
- Uygulamanın temel yapısı, istediğiniz yeni işleri taşıyabilir mi?
Baştan yazmaya karar verirseniz, eski uygulama değerli bir kaynaktır; ne istediğinizi gösterir. Bu noktada yeni kapsamı yazmak gerekir. Kapsam Sihirbazı 7 adımda fikrinizi anlatıp kapsam belgesini PDF olarak indirmenizi sağlar. Kapsamı beş soruyla nasıl netleştireceğiniz fikri kapsama dönüştürmek yazısında var.
Bir daha yaşamamak için
Bu işi yaşadıysanız, bir sonraki seferde şunları baştan isteyin:
- Hesaplar sizin adınıza açılsın. Depo, sunucu, alan adı ve mağaza hesabı. Geliştiriciye yetki verilir, hesabı o açmaz.
- Sahiplik teklifte yazılı olsun. Kodun ve belgelerin kime ait olacağı açıkça belirtilsin.
- Her aşamada yazılı belge gelsin. Kurulum adımları, karar kayıtları, bileşen listesi.
- Teslimde deneme kurulumu yapılsın. Başka biri uygulamayı sıfırdan çalıştırabilsin.
Tek kişiye bağlı kalmak, ayrılık anında kilit yaratır. Belge ve erişimin sizde olması bu riski küçültür.
Bizde nasıl?
Var olan koda ekleme isteyenler bize de yazıyor. Uygulama geliştirme sayfamızdaki cevap şöyle: "Önce kodu inceler, ne durumda olduğunu yazılı paylaşırız. Sonra ekleme için teklif veririz."
Yani sıra bellidir: önce inceleme, sonra yazılı durum, sonra teklif. Her aşamanın sonunda ne yapıldığını ve neyin onay beklediğini yazılı paylaşırız. İşi rolü belli yapay zekâ ekibi yürütür; ana sürüme alma, yayın ve teslim yalnızca kurucu Fatih Özpolat'ın onayıyla olur. Ayrıntılar nasıl çalışıyoruz sayfasında. Başvuru, mağaza tarafında sizin geliştirici hesabınızla yapılır. Hizmetin kapsamı uygulama geliştirme sayfasında.
İnceleme süresi ya da ücreti bu sitede yayımlanmaz. Her kod farklıdır; teklif, durumu gördükten sonra yazılı verilir.
Özet
- Yarım kalan uygulama çoğu zaman devralınabilir; önce elinizdekini sayın.
- Envanter: kaynak kod, depo, sunucu, alan adı, mağaza hesabı, belgeler, gizli bilgilerin yeri.
- Yayındaki uygulamadan kaynak kodu geri almak çoğu zaman mümkün olmaz; kodu geliştiriciden yazılı isteyin.
- Yeni ekip önce inceler ve durumu yazılı verir. Sonra üç yoldan biri seçilir: devam, düzeltip devam, baştan yazmak.
- Bir daha yaşamamak için hesaplar sizin adınıza ve sahiplik yazılı olsun.
Elinizdeki kodu incelettirmek ve durumu yazılı görmek istiyorsanız, durumunuzu anlatıp teklif alabilirsiniz.