Yazılımcınızla Yollar Ayrıldığında Neden Planlı Bir Süreç Gereklidir
Bir yazılım projesi sürüyor, çalışan harika bir mühendisle uyumsuzluk yaşanıyor, bütçe tükeniyor veya proje başka bir yöne gidiyor. Bu noktada, yazılımcınızla yollar ayrıldığında ne yapacağınızı bilmek kritik önem taşıyor. İşletme sahipleri sıklıkla bu konuyu hafife alıp, "Yazılım bitti, para ödedik, tamam" diyerek geçer. Oysa projenin kodu, sunucuları, lisansları ve veri erişimi sizin kontrol etmediğiniz sürece, ileride ciddi sorunlarla karşılaşabilirsiniz.
25 yıllık yazılım geliştirme pratiğimde, bu tür geçiş dönemlerini düzensiz yöneten birçok işletmeye yardımcı oldum. Önceden planlanan bir devir süreci, hem tarafı da korur, hem hukuki riskleri azaltır, hem de yeni yazılımcıya projeyi sorunsuz teslim etmeyi sağlar.
İlk Adım: Kod Sahipliğini Yazılı Olarak Teslim Alın
Kod, yazılım projesinin kalbidir. Yazılımcıyla anlaşma bittiğinde, proje kodunun tamamı size ait olmalıdır. Bunu yazılı bir belge ile teyit edin. Eğer kod henüz vermilmemişse veya "şifreleme var", "uzaktan sunucuda tutuluyor" gibi gerekçeler arka planda kalırsa, projeye sahip olmadığınız demektir.
- Kaynak kodunun (source code) tamamı: İşletme yazılımı, mobil uygulama, web sitesi—hepsi tam olarak size verilmeli.
- Versiyon kontrol sistemi (Git, SVN vb.): Eğer kod bir depo (repository) içerisinde tutuluyorsa, erişim ve mülkiyet kontrolü size geçmelidir.
- Dokümantasyon ve yorum satırları: Kodu kimin yazacağı açık olmalı. Yazılımcı gittikten sonra başka mühendis projeyi sürdürürken, kod içi açıklamalar değerli olacaktır.
- Imza ve tarih: "X projesi kodunun tamamı Y tarihinde Z kişiye devredilmiştir" şeklinde imzalı bir belge tutun.
Kodun size ait olduğundan emin olduktan sonra, bunu güvenli bir yere (bulut depolama, yerel sunucu) kaydedin. Başka yazılımcının projeyi devralması durumunda, bu dosyalar referans olacaktır.
İkinci Adım: Sunucu, Veritabanı ve Barındırma Erişimini Kendi Adınıza Geçirin
Yazılım çalışıyor ama sunucusu, veritabanı yönetimi veya barındırma hizmetleri eski yazılımcının adında kalırsa, o kişi istediği an projeyi dışarıya açabilir, silebilir veya bloke edebilir. Bu riski ortadan kaldırmanız gerekir.
- Barındırma sağlayıcısı hesabı: Sunucu (AWS, Linode, Cloudways, Digital Ocean vb.) kendi adınıza olmalı ve sadece siz erişebilmelisiniz. Yazılımcının erişimi iptal edin.
- Veritabanı yöneticiliği: MySQL, PostgreSQL, MongoDB gibi veritabanların yönetici parolasını değiştirin. Yazılımcı eski parolayla erişemesin.
- DNS ve domain kontrol: Alan adınız (domain) kendi adınıza veya en azından sizin kontrol ettiğiniz kayıt şirketinde olmalıdır. Yazılımcıdan DNS erişimini geri alın.
- SSL sertifikası: HTTPS sertifikasının yenilenmesi sizin sorumluluğunuza geçmelidir. Eski yazılımcının eposta adresi üzerinden sertifika talebini alamayacak hale getirecek adımları atın.
- Yedekleme stratejisi: Projeyi her gün veya hafta yedekleyen bir sistem kurduğunuzdan emin olun. Yazılımcı gittikten sonra bu iş, sizin veya yeni mühendisten birinin sorumluluğu olacaktır.
Bu adımlara karşın yazılımcı "Benim sorumluluğum değil" derse, bunun anlaşmada açık biçimde yazıldığından emin olmalısınız. Yazılım hizmeti alırken bilinmesi gerekenler hakkında daha fazla bilgi için söz konusu rehberi inceleyebilirsiniz.
Üçüncü Adım: Lisans, API Anahtarları ve Üçüncü Taraf Entegrasyonları
Çoğu yazılım projesi, dış hizmetlerle bağlı çalışır: ödeme geçitleri (Stripe, PayPal), SMS gönderimi (Twilio), harita (Google Maps), yapay zeka araçları vb. Bu hizmetlerin API anahtarları ve erişim kontrolleri kimin adında tutulduğunu kontrol edin.
- Üçüncü taraf hizmet hesapları: Ödeme geçidi, SMS servisi, email kampanya platformu—her biri kendi adınıza veya şirkete ait bir eposta adı ile kaydedilmiş olmalı.
- API anahtarları ve sırlar: Yazılımcının kişisel hesaplarında tutulan API anahtarlarını, projenin kendi hesabına taşıyın. Yazılımcı gittiğinde bu anahtarlar geçersiz kalmayacak şekilde yenileyin.
- Yazılım lisansları: Kullanılan kütüphaneler, çerçeveler ve ticari araçlar açık lisanslı mı (MIT, Apache gibi) yoksa ticari mi? Lisans hükümlerini okuyun ve kullanım koşullarına uyduğunuzdan emin olun.
- SSL sertifikası, CDN, firewalllar: Tüm güvenlik araçlarının kimlere ait olduğunu yazılı olarak kaydedin.
Dördüncü Adım: Teslim Dokümantasyonu ve Proje Rehberi Alın
Kod kadar, proje rehberi ve teknik dokümantasyon da önemlidir. Yeni yazılımcının projeyi anlayabilmesi için, sistem mimarisi, veritabanı yapısı, bağımlılıklar ve kurulum adımları yazılı olmalıdır.
- README dosyası: Projeyi çalıştırmak için gerekli adımlar, kütüphaneler ve ortam ayarları.
- Veritabanı şeması: Tablo yapısı, ilişkiler, indeksler ve varsayılan veriler.
- API dokümantasyonu: Eğer proje bir API ise, uç noktaları (endpoints), parametreleri ve yanıt örnekleri.
- Dış entegrasyonlar: Hangi üçüncü taraf hizmetler bağlanmış, nasıl ayarlanmış, test kredileri nelerdir.
- Bilinen sorunlar ve geliştirme planı: Hangi kısımlar tamamlanmamış, hangi özellikler gelecekte planlanmış?
Yazılımcı "Dokümantasyon yazmam" derse, bunu kontrata eklemeyen sizsiniz demektir. Bir sonraki proje için, dokümantasyon gerekliliğini net biçimde yazılı hale getirin.
Beşinci Adım: Hukuki ve Mali Uzlaşmayı Sonlandırın
Yazılım teslimi, hukuki teslimi de beraberinde getirmeli. Projeyi devralırken şunları yapın:
- Son ödemenin koşullarını belirleyin: "Kod ve dokümantasyon teslim aldıktan sonra son ödeme yapılacak" koşulunu yazılı hale getirin.
- Teslim belgesi imzalayın: "Proje X tarihi saat Y'de teslim alınmış, bundan sonra yazılımcı sorumlu değildir" şeklinde iki taraf imzalı bir belge.
- Fikri mülkiyet hakları açık olsun: Yazılımcının sonraki müşterileri için aynı kodu yeniden kullanamayacağını (veya kullanabileceğini) belirleyin.
- Garanti süresi tanımlayın: "30 gün boyunca kritik hatalar için destek verilecek, sonrasında yapı artırma ücretlidir" gibi koşullar.
Altıncı Adım: Proje Devri ve Yeni Yazılımcıya Geçiş
Eğer başka bir yazılımcıya veya ajansa proje verecekseniz, bu geçişi planlamasız yapmayın.
- Kod incelemesi (code review): Yeni mühendis, eski kodu analiz edip olası sorunları tespit etmelidir.
- Test ortamında çalıştırma: Canlı ortamda değil, test sunucusunda projeyi ayağa kaldırıp sorun yaşanıp yaşanmadığını kontrol edin.
- Eski ve yeni mühendis arasında bilgi aktarımı: Zaman ayırıp eski yazılımcı, yeni yazılımcıya sistem hakkında bilgi vermelidir. Bu saat ücretli olabilir ama değerlidir.
- Canlı ortama alışık hale getirme: Yeni mühendis, sunucu loglarını okuma, performans izleme ve basit bakım işlerini yapabilmelidir.
Alanya Bilişim Hizmetleri olarak, devralan projelerin sorunsuz geçişi konusunda deneyim sahibiyim. Proje sahipliğinizi tam olarak elinize almak, ileriki işletmeler için de kritiktir.
Yedinci Adım: Uzun Vadeli Bakım Sorumluluğunu Tanımlayın
Yazılımcı gittikten sonra, projenin bakım ve güncellenmesi kimin sorumluluğu? Bunu önceden belirleyin:
- Siber güvenlik güncellemeleri: İşletim sistemi, veritabanı, kütüphaneler düzenli güncellenmelidir.
- Performans izleme: Sunucu kaynakları izlenmeli, sorunlar erkenden tespit edilmelidir.
- Yedekleme ve felaket geri kurtarma: Veri kaybı durumunda kurtarma planı olmalıdır.
- Küçük bugfix ve özellik talepleri: Bunlar yeni yazılımcıya mı, orijinal yazılımcıya mı gidecek? Ücret ne olacak?
Bakım ve destek hizmetleri hakkında daha detaylı bilgi için aylık bakım ücreti rehberini inceleyebilirsiniz.
Sonuç: Projeyi Kontrolünüze Alarak Ileriye Bakın
Yazılımcınızla yollar ayrıldığında, yukarıdaki yedi adımı izlemek, projenizi korur ve gelecekteki sorunları engeller. En çok yapılan hata, bu geçişi hafife alıp yazılımcı gittikten sonra "Kodu nerede, erişim parolası ne?" diye sormaktır. Bu noktada çok geç olur ve müzakere gücünüz kalmaz.
Benim tavsiyem: Yazılım hizmeti alırken bile bu koşulları kontrata ekleyin. Projeyi başlarken mutlaka konuşun. "Proje bittiğinde kod, sunucu ve lisanslar tamamen bana ait olacak" diyerek açık olun. Yazılımcı buna karşı çıkarsa, işbirliği yapmakta ikinci düşünün.
Alanya, Antalya ve Akdeniz Bölgesi'ndeki işletmeler, bu tür sorunları çözmek için sık sık benimle iletişime geçiyor. Eğer şu anda devralan bir proje ile ilgili soru işaretleriniz varsa, Instagram sayfamızdan veya doğrudan ajansa ulaşabilirsiniz. Yazılım mirasını düzenlemeye asla geç değildir.
Projeni konuşalım
Fikrini yaz, birkaç saat içinde dönüş yapayım.