
Ticari Sözleşmelerde Yazılım Ekibi Hakları ve Kurumsal Şartnameler
Diyarbakır Yazılım
16.08.2026
#Yazılım#Teknoloji#Topluluk
Yazılım projelerinde sorunların önemli bir bölümü kod yazılırken değil, daha ilk imza atılırken başlar. “Sistem yapılacak”, “gerekli entegrasyonlar sağlanacak” veya “müşteri taleplerine göre revizyon yapılacak” gibi açık sınırı olmayan ifadeler aylar sonra ciddi süre, ücret ve fikri mülkiyet tartışmalarına dönüşebilir. On yıllık yazılım, proje ve teknoloji ekibi deneyimimde en sağlıklı projelerin ortak özelliğinin yalnız iyi teknik ekip değil, iyi tanımlanmış kapsam ve karar mekanizması olduğunu gördüm. Ticari Sözleşmelerde Yazılım Ekibi Hakları ve Kurumsal Şartnameler konusu bu nedenle hukuk biriminin tek başına çözeceği bir belge işi değil, ürün, teknik ekip, satın alma, bilgi güvenliği ve yönetimin birlikte tasarlaması gereken bir proje yönetimi alanıdır. Bu rehberde yazılım geliştirme sözleşmesinde yazılımcı hakları nasıl korunur, yazılım sözleşmelerinde fikri mülkiyet ve kaynak kod hakları nasıl belirlenir, kurumsal yazılım projelerinde teknik şartname nasıl hazırlanır ve yazılım sözleşmesinde teslim kabul kriterleri ve değişiklik yönetimi nasıl kurulmalıdır sorularını uygulamaya dönük biçimde ele alacağız.
Bu içerik genel bilgilendirme ve sözleşme tasarımı konusunda çalışma çerçevesi sunar. Somut bir sözleşmenin hukuki sonucu tarafların statüsüne, projenin niteliğine, kullanılan lisanslara, veri akışına ve sözleşmenin tamamına göre değişebilir. Bilgisayar programları Türkiye'de Fikir ve Sanat Eserleri Kanunu kapsamında korunan eser türleri arasında yer alır ve eser sahipliği ile mali hakların kullanılması aynı konu değildir. Kişisel veri işleyen projelerde veri sorumlusu ile veri işleyenin rolü de tarafların sözleşmede kendilerine verdiği isimden ziyade gerçek veri işleme faaliyetine göre değerlendirilmelidir. Bu nedenle yüksek bütçeli, kişisel veri yoğun veya fikri mülkiyet değeri yüksek projelerde sözleşme metni hukuk, teknik ve bilgi güvenliği uzmanları tarafından birlikte incelenmelidir. :contentReference[oaicite:2]{index=2}
Ticari Sözleşmelerde Yazılım Ekibi Hakları Neden Açıkça Düzenlenmelidir?
Yazılım ekibinin görevleri açık biçimde yazılmadığında müşterinin beklentisi ile ekibin teslim edeceğini düşündüğü ürün hızla birbirinden ayrılabilir. Bir taraf “bu zaten sistemin doğal parçası” derken diğer taraf bunu yeni özellik olarak görebilir. Bu uyuşmazlık yalnız ticari ilişkiyi değil sprint planını, kod kalitesini ve ekip motivasyonunu da etkiler. Sözleşme yazılım ekibini müşteriye karşı koruyan tek taraflı kalkan olarak değil, iki tarafın beklentisini aynı çizgiye getiren çalışma protokolü olarak görülmelidir. İyi sözleşme projenin önünü kapatmaz, aksine teknik ekibin belirsizlik yerine ürüne odaklanmasını kolaylaştırır.
Yazılım Projelerinin Klasik Hizmet Alımlarından Farkı
Yazılım projesinde sonuç çoğu zaman başlangıçta bütün ayrıntılarıyla görülemez. Kullanıcı testi, entegrasyon problemi veya teknik keşif yeni gereksinimler ortaya çıkarabilir. Bu nedenle yazılım geliştirme, miktarı ve niteliği önceden tamamen belli standart mal veya hizmet alımından farklı yönetilmelidir. Sözleşme hem başlangıç kapsamını net tutmalı hem kontrollü değişiklik mekanizmasına izin vermelidir. Aksi halde esnek olması gereken ürün geliştirme süreci ticari anlaşmazlık alanına dönüşebilir.
Müşteri, Yazılım Şirketi ve Geliştirme Ekibi Arasındaki Hak Dengesi
Müşteri ödediği bedelin karşılığında tanımlanan ürünü, kalite seviyesini ve gerekli kullanım haklarını almak ister. Yazılım şirketi ise kapsamı belli, ödemeleri düzenli ve teknik sorumluluk sınırları açık bir proje yürütmek ister. Geliştirme ekibinin de sürekli değişen talepler karşısında gerçekçi süre ve teknik karar alanına ihtiyacı vardır. Bu üç çıkar birbirine karşıt olmak zorunda değildir. Açık kapsam, kabul kriteri, değişiklik yönetimi ve fikri mülkiyet hükümleri dengeyi kurabilir.
Sözleşme Belirsizliğinin Projeye Etkileri
Belirsiz bir madde çoğu zaman sprint planında görünmeyen iş yükü oluşturur. Ekip başlangıç fiyatına dahil olmayan geliştirmeleri yapmak zorunda kaldığını düşünebilir. Müşteri ise zaten ödediği bir iş için tekrar ücret istendiğini hissedebilir. Bu gerilim teslim tarihini ve iletişim kalitesini bozar. En iyi çözüm, özellikleri ve kabul koşullarını mümkün olduğunca ölçülebilir biçimde başlangıçta yazmaktır.
Teknik Kararlar ile Ticari Kararların Ayrılması
Programlama dili, veritabanı tasarımı veya deployment yaklaşımı teknik karardır. Bütçe, kapsam, lisans, teslim tarihi veya kullanıcı sayısı ise ticari sonucu etkileyen kararlardır. Bazı kararlar iki alanın kesişimindedir ve ortak değerlendirme gerektirir. Müşterinin her teknik detayı yönetmesi kadar yazılım ekibinin ticari sonucu etkileyen kararları tek başına alması da risklidir. Sözleşme ve proje yönetişimi bu karar sınırını görünür hale getirmelidir.
Yazılım Sözleşmesinin Hukuki ve Teknik Omurgası
Kurumsal yazılım sözleşmesinin yalnız ücret, süre ve taraf isimlerinden oluşması yeterli değildir. Ana sözleşmeyle birlikte teknik şartname, Statement of Work, SLA, güvenlik eki ve proje takvimi gibi belgeler kullanılabilir. Hangi belgenin hangi konuda öncelikli olduğu ayrıca yazılmalıdır. Bir belgede “üç ay”, diğer belgede “dört ay” yazıyorsa hangi hükmün uygulanacağı belirsizlik yaratabilir. Bu nedenle sözleşme seti tek bir bütün olarak tasarlanmalıdır.
Yazılım Geliştirme, Lisans, SaaS ve Bakım Sözleşmeleri Arasındaki Farklar
Yazılım geliştirme sözleşmesi yeni veya özelleştirilmiş bir ürünün oluşturulmasına odaklanır. Lisans sözleşmesi mevcut yazılımın hangi koşullarla kullanılacağını belirler. SaaS modelinde müşteri çoğu zaman yazılımın kaynak kodunu değil hizmete erişim hakkını satın alır. Bakım sözleşmesi ise mevcut sistemin hata düzeltme, destek ve güncelleme koşullarını düzenler. Tek projede bu ilişkilerin birkaçı birlikte bulunabileceği için hukuki nitelik ve hak kapsamı ayrıca yazılmalıdır.
Paket Yazılım ile Müşteriye Özel Yazılım Arasındaki Fark
Paket yazılım birçok müşteriye aynı veya yakın yapıda sunulan üründür. Müşteriye özel yazılım ise belirli iş ihtiyaçlarına göre geliştirilen özgün bileşenler içerebilir. Paket üründe kaynak kod devri çoğu iş modelinde beklenmezken özel geliştirmede tarafların farklı beklentileri olabilir. Müşteriye özel geliştirme yapılması bütün framework ve genel modüllerin otomatik olarak müşteriye ait olduğu anlamına gelmez. Sözleşme bu ayrımı açıkça kurmalıdır.
Ana Sözleşme ile Ek Belgelerin İlişkisi
Ana sözleşme tarafların temel ticari ve hukuki ilişkisini düzenler. Teknik ayrıntılar ek belgelerde daha rahat yönetilebilir. Ancak eklerin sözleşmenin ayrılmaz parçası olduğu açıkça yazılmalıdır. Belgeler arasında çelişki halinde uygulanacak öncelik sırası belirlenebilir. Böylece teknik şartname güncellendiğinde ana ticari yapının nasıl etkileneceği daha rahat yönetilir.
Teknik Şartname
Teknik şartname ürünün fonksiyonel ve fonksiyonel olmayan beklentilerini tanımlar. Kullanıcı rolleri, entegrasyonlar, performans ve güvenlik şartları burada yer alabilir. Şartname kodun nasıl yazılacağını mikro seviyede tarif etmek zorunda değildir. Ölçülebilir sonuç ve sınırlar daha önemlidir. Kurumsal yazılım projelerinde teknik şartname nasıl hazırlanır sorusunun temel cevabı, belirsiz talebi test edilebilir gereksinime dönüştürmektir.
İş Tanımı / Statement of Work
Statement of Work hangi işlerin hangi dönem ve bütçeyle yapılacağını açıklar. Proje fazları ve teslimatlar burada listelenebilir. Sorumlu taraflar ve bağımlılıklar belirtilmelidir. Kapsam dışında kalan işler de aynı belgede yazılabilir. Bu belge ticari sözleşme ile günlük proje yönetimi arasındaki köprüdür.
SLA
SLA hizmet seviyesini ölçülebilir hedeflerle tanımlar. Destek saatleri, müdahale süresi ve çözüm hedefleri örnek maddelerdir. Her sorun için aynı SLA uygulanması gerekli değildir. Kritik ve düşük öncelikli olaylar farklı sınıflandırılabilir. SLA yalnız ceza mekanizması değil hizmet beklentisini ortaklaştıran araç olmalıdır.
Güvenlik ve Veri İşleme Ekleri
Kişisel veri ve hassas kurumsal bilgi işlenen projelerde ayrı veri işleme ve güvenlik ekleri yararlıdır. Erişim, loglama, alt işleyen ve veri silme koşulları tanımlanabilir. Bulut sağlayıcıları ayrıca listelenebilir. Teknik tedbirler risk seviyesine göre düzenlenmelidir. Bu ekler ana sözleşmedeki genel gizlilik maddesinden çok daha somut güvenlik çerçevesi sağlar.
Fiyatlandırma ve Proje Takvimi
Fiyat ve takvim kapsamla birlikte değerlendirilmelidir. Sabit fiyatlı projede özellik kapsamı daha ayrıntılı tanımlanmalıdır. Adam/gün modelinde kapasite ve öncelik yönetimi öne çıkar. Milestone ödemelerinde kabul kriterleri ödeme mekanizmasıyla eşleşmelidir. Takvim müşteri kaynaklı veri ve onay gecikmelerini de hesaba katmalıdır.
Türkiye'de Yazılım Sözleşmelerinin Hukuki Çerçevesi
Türkiye'de yazılım sözleşmeleri tek bir özel “yazılım sözleşmeleri kanunu” altında düzenlenmez. Projenin niteliğine göre Fikir ve Sanat Eserleri Kanunu, Türk Borçlar Kanunu, Türk Ticaret Kanunu, KVKK ve başka mevzuat hükümleri birlikte gündeme gelebilir. Bilgisayar programlarının FSEK kapsamında korunması özellikle fikri mülkiyet hükümlerini önemli hale getirir. Kişisel veri işlenen projelerde KVKK kapsamında rol ve güvenlik sorumlulukları ayrıca değerlendirilmelidir. Bu nedenle sözleşmenin hukuki niteliği hazır şablon seçerek değil gerçek ticari ilişki incelenerek belirlenmelidir. :contentReference[oaicite:3]{index=3}
Fikir ve Sanat Eserleri Kanunu Açısından Bilgisayar Programları
5846 sayılı Fikir ve Sanat Eserleri Kanunu bilgisayar programlarını ilim ve edebiyat eserleri kapsamında korur. Programın herhangi bir unsuruna temel oluşturan fikir ve ilkeler ise sırf bu nedenle eser korumasına dahil olmaz. Bu ayrım kaynak kodun korunmasıyla genel iş fikrinin korunmasının aynı şey olmadığını gösterir. Ticari sözleşmede kullanılacak, devredilecek veya lisanslanacak hakların açık biçimde belirtilmesi bu nedenle önemlidir. Özellikle özel yazılım geliştirmede “tüm haklar müşterinindir” gibi tek cümlelik hükümler somut hak kapsamını açıklamakta yetersiz kalabilir. :contentReference[oaicite:4]{index=4}
Eser Sahipliği ile Mali Hakların Kullanımının Ayrılması
Eser sahibi kavramı ile eserden doğan mali hakları kullanma yetkisi aynı konu değildir. Çalışan, işveren, geliştirici şirket ve müşteri arasında farklı hukuki ilişkiler bulunabilir. Ticari sözleşme hangi mali hakların hangi kapsamda kullanılacağını açık biçimde düzenlemelidir. Süre, bölge ve kullanım biçimi gibi unsurlar önem kazanabilir. Somut projede hak zincirinin hukuk uzmanı tarafından kontrol edilmesi özellikle yatırım veya devir aşamasında değerlidir.
Mali Hakların Devri ve Lisanslanması
Bir hak tamamen devredilebilir veya belirli kullanım kapsamında lisanslanabilir. Lisans münhasır veya münhasır olmayan biçimde tasarlanabilir. Müşteri için gerçekten gerekli olanın hangisi olduğu iş modeline göre değişir. SaaS projesinde kullanım lisansı yeterli olabilirken özel ürün satın alımında daha geniş hak beklentisi bulunabilir. Sözleşme ekonomik ihtiyacı karşılayacak kapsamı net biçimde yazmalıdır.
Kaynak Kod Üzerindeki Hakların Açıkça Tanımlanması
Kaynak kodun müşteriye teslim edilmesi ile bütün fikri mülkiyet haklarının müşteriye geçmesi aynı şey değildir. Müşteriye repository erişimi verilebilir fakat kullanım veya dağıtım hakkı sınırlı olabilir. Tersi durumda kod fiziksel olarak teslim edilmese bile geniş lisans hakkı tanınabilir. Bu nedenle “kaynak kod müşteriye aittir” ifadesi tek başına yetersiz kalabilir. Teslim, kullanım, değiştirme, üçüncü kişiye verme ve yeniden lisanslama koşulları ayrı düşünülmelidir.
Türk Borçlar Kanunu ve Ticari Sözleşme İlişkisi
Türk Borçlar Kanunu sözleşmeden doğan borç ilişkileri için temel hükümler içerir. Yazılım geliştirme ilişkisinin niteliğine göre eser sözleşmesi hükümleri veya karma sözleşme yapısı gündeme gelebilir. TBK'da eser sözleşmesi yüklenicinin bir eser meydana getirmesi ve iş sahibinin bedel ödemesi üzerine kuruludur. Ancak her yazılım hizmeti otomatik olarak aynı kategoride değerlendirilmemelidir. SaaS, bakım, danışmanlık ve sürekli ekip hizmetleri farklı sözleşmesel bileşenler taşıyabilir. :contentReference[oaicite:5]{index=5}
Türk Ticaret Kanunu Açısından Ticari İlişki
Tarafların tacir olması ve ilişkinin ticari işletmeleriyle bağlantılı yürütülmesi halinde Türk Ticaret Kanununun ticari iş ve tacir ilişkilerine dair hükümleri önem kazanabilir. Bildirim, fatura, temerrüt ve ticari kayıt gibi konular proje sözleşmesinin uygulamasını etkileyebilir. Yazılım ekibi çoğu zaman teknik konuşmaya odaklandığı için bu ticari süreçler arka planda kalabilir. Oysa ödeme ve ihtar prosedürü proje takvimi kadar önemlidir. Kurumsal projede hukuk ve finans ekiplerinin teknik proje yöneticisiyle aynı sözleşme takvimini takip etmesi faydalıdır.
KVKK'nın Yazılım Projelerine Etkisi
Kişisel veri işleyen yazılım projelerinde KVKK proje tasarımının doğrudan parçasıdır. Veri sorumlusu ve veri işleyen rolleri gerçek veri işleme faaliyetine göre belirlenmelidir. Güvenlik yükümlülükleri yalnız sözleşmeye “KVKK'ya uyulur” yazmakla tamamlanmaz. Teknik ve idari tedbirlerin proje özelliklerine göre belirlenmesi gerekir. Yurt dışındaki cloud veya AI hizmetlerinin kullanılması durumunda yurt dışına veri aktarımı hükümleri de ayrıca değerlendirilmelidir. :contentReference[oaicite:6]{index=6}
Veri Sorumlusu
Veri sorumlusu kişisel verilerin işleme amaç ve vasıtalarını belirleyen taraf olarak değerlendirilir. Kurumsal müşteri birçok projede bu rolü üstlenebilir. Ancak her ilişkide otomatik varsayım yapılmamalıdır. Yazılım şirketinin kendi amaçları için veri işlediği faaliyetler farklı sonuç doğurabilir. Veri akış haritası rol analizini kolaylaştırır.
Veri İşleyen
Veri işleyen, veri sorumlusunun verdiği yetkiye dayanarak onun adına kişisel veri işleyen taraftır. Hosting, bakım veya destek sağlayıcısı bazı işlerde bu rolü taşıyabilir. Veri işleyenin talimat kapsamı sözleşmede belirlenmelidir. Verilerin başka amaçla kullanılması engellenmelidir. Güvenlik ve alt işleyen koşulları ayrıca yazılmalıdır. :contentReference[oaicite:7]{index=7}
Alt Veri İşleyenler
Yazılım şirketi cloud, e-posta, analytics veya destek hizmetleri kullanabilir. Bu hizmetlerin bazıları veri akışında alt veri işleyen niteliğinde olabilir. Müşterinin hangi üçüncü tarafların kullanıldığını bilmesi gerekebilir. Yeni sağlayıcı ekleme prosedürü sözleşmede belirlenebilir. Yurt dışındaki alt sağlayıcılar bakımından aktarım kuralları ayrıca kontrol edilmelidir.
Teknik ve İdari Tedbirler
KVKK güvenlik yükümlülükleri uygun teknik ve idari tedbirlerin alınmasını gerektirir. MFA, erişim kontrolü, loglama, backup ve güvenlik eğitimi örnek tedbirler olabilir. Her projeye aynı kontrol listesi uygulanmak zorunda değildir. İşlenen verinin niteliği ve risk seviyesi dikkate alınmalıdır. Sözleşme hangi tarafın hangi tedbirden sorumlu olduğunu olabildiğince açık göstermelidir. :contentReference[oaicite:8]{index=8}
Kurumsal Yazılım Teknik Şartnamesi Nasıl Hazırlanır?
Teknik şartname projenin beklentilerini geliştirici tarafından uygulanabilir, müşteri tarafından da test edilebilir hale getirmelidir. “Modern”, “hızlı” veya “kullanıcı dostu” gibi ölçülemeyen ifadeler yalnız başına yeterli gereksinim değildir. Fonksiyonlar, kullanıcı rolleri, entegrasyonlar ve kalite beklentileri ayrı başlıklarda yazılmalıdır. Kapsam dışı alanlar da en az kapsam içi özellikler kadar önemlidir. İyi şartname geliştirme ekibini kilitlemez, karar sınırlarını netleştirir.
Projenin Amacı ve İş Problemi
Teknik şartname doğrudan ekran listesiyle başlamamalıdır. Önce hangi iş probleminin çözüldüğü yazılmalıdır. Kullanıcı, mevcut süreç ve beklenen sonuç tanımlanabilir. Bu bilgi ileride çıkan feature taleplerinin amaca uygunluğunu değerlendirmeyi kolaylaştırır. Teknik ekip de yalnız fonksiyon değil iş sonucunu anlayarak daha doğru çözüm üretebilir.
Kapsam Dahilindeki Fonksiyonlar
Fonksiyonlar modül veya kullanıcı akışı bazında listelenebilir. Her fonksiyonun kısa davranış tanımı bulunmalıdır. Giriş, çıktı ve yetki koşulları belirtilmelidir. Çok ayrıntılı ekran pikseli yerine test edilebilir davranışa odaklanmak daha sağlıklıdır. Tasarım ayrıca wireframe veya prototip ekiyle desteklenebilir.
Kapsam Dışındaki İşlerin Açıkça Belirlenmesi
Out-of-scope listesi sözleşme uyuşmazlığını ciddi biçimde azaltabilir. Mobil uygulama, veri migrasyonu veya üçüncü taraf lisanslarının dahil olmadığı açıkça yazılabilir. Kullanıcı bu sınırlamayı sözleşme imzalanmadan bilmelidir. Daha sonra ihtiyaç oluşursa change request uygulanabilir. Kapsam dışı liste “yapmayacağız” belgesi değil fiyat ve süre varsayımını açıklayan araçtır.
Kullanıcı Rolleri ve Yetkilendirme Matrisi
Admin, standart kullanıcı ve yönetici gibi roller tanımlanmalıdır. Her rolün görebileceği ve değiştirebileceği veriler yazılabilir. Yetkilendirme güvenlik açısından kritik gereksinimdir. Rol sayısının sonradan sürekli artması kapsam değişikliğine dönüşebilir. Basit yetki matrisi hem geliştirme hem test sürecini kolaylaştırır.
Entegrasyon Gereksinimleri
ERP, ödeme, CRM veya kamu API'leri gibi entegrasyonlar ayrı listelenmelidir. API dokümanını kimin sağlayacağı belirtilmelidir. Üçüncü taraf test ortamı ve erişim bilgileri proje bağımlılığıdır. API değişikliklerinden kimin sorumlu olduğu yazılabilir. Entegrasyon erişiminin gecikmesi proje takvimini etkileyebileceği için sözleşmeye yansıtılmalıdır.
Veri Gereksinimleri
Hangi verilerin sisteme alınacağı ve saklanacağı tanımlanmalıdır. Veri migrasyonu varsa kaynak format ve temizlik sorumluluğu belirtilmelidir. Veri saklama süreleri iş ve mevzuat gereksinimine göre değerlendirilmelidir. Kişisel veri alanları ayrıca sınıflandırılabilir. Veri modeli değişikliği büyük geliştirme etkisi yaratabileceği için erken aşamada çalışılmalıdır.
Fonksiyonel Olmayan Gereksinimler
Fonksiyonel olmayan gereksinimler sistemin ne yaptığı kadar nasıl çalışması gerektiğini tanımlar. Performans, güvenlik, erişilebilirlik ve iş sürekliliği bu gruptadır. Çoğu proje yalnız özellik listesine odaklandığı için bu bölüm sonradan sorun çıkarır. Ölçülebilir hedefler belirlenmelidir. Ancak gereksiz yüksek standartlar da maliyeti artırabileceği için gerçek kullanım ihtiyacı esas alınmalıdır.
Performans
“Sistem hızlı olacaktır” ölçülebilir gereksinim değildir. Belirli kullanıcı yükünde cevap süresi hedefi yazılabilir. Kritik ekranlar ayrı değerlendirilebilir. Test ortamı ve veri büyüklüğü belirtilmelidir. Performans hedefi bütçe ve altyapı kararıyla birlikte ele alınmalıdır.
Güvenlik
Authentication, authorization ve hassas veri koruması temel gereksinimlerdir. MFA ihtiyacı rol bazında belirlenebilir. Güvenlik testi ve vulnerability scanning süreçleri eklenebilir. İlgili sektörün özel düzenlemeleri varsa ayrıca incelenmelidir. Güvenlik teslimden sonra eklenecek opsiyon olarak görülmemelidir.
Ölçeklenebilirlik
Sistem beklenen kullanıcı ve veri artışını karşılayabilmelidir. Ancak milyon kullanıcı ihtimali olmayan projede gereksiz yüksek ölçek şartı maliyet yaratabilir. Bir ve üç yıllık gerçekçi kapasite tahmini kullanılabilir. Scale-up ve scale-out yaklaşımı teknik ekibe bırakılabilir. Şartname sonuç hedefini tanımlamalıdır.
Erişilebilirlik
Kurumsal ve kamuya açık uygulamalarda erişilebilirlik önemli kalite gereksinimidir. Hedeflenen standart veya kontrol listesi belirtilebilir. Klavye kullanımı ve ekran okuyucu uyumu test edilebilir. Renk kontrastı ve form etiketleri gibi konular tasarım aşamasında ele alınmalıdır. Erişilebilirlik son hafta yapılan kozmetik değişiklik değildir.
Yedekleme ve İş Sürekliliği
Backup sıklığı ve saklama yöntemi belirlenmelidir. Geri yükleme testi yapılmadan yedekleme sistemi güvence sağlamaz. RPO ve RTO gibi hedefler kritik sistemlerde kullanılabilir. Felaket senaryoları gerçek iş önemine göre seçilmelidir. Sorumluluk cloud sağlayıcı, müşteri ve yazılım ekibi arasında açıkça dağıtılmalıdır.
Teknik Şartnamede Belirsiz İfadelerden Kaçınma
“Gerekli tüm entegrasyonlar” veya “sınırsız kullanıcı desteği” gibi ifadeler ciddi kapsam riski yaratır. Her gereksinim mümkün olduğunca test edilebilir hale getirilmelidir. Belirsizlik tamamen sıfırlanamaz fakat karar mekanizması tanımlanabilir. Sorunun cevabı bulunmadığında kimin karar vereceği belirtilmelidir. İyi şartname teknik ekiple müşteri temsilcisinin aynı cümleden aynı sonucu çıkarmasını hedefler.
En İyi Programlama Dili mi, Projeye En Uygun Teknoloji mi?
Kurumsal şartnamelerde sık karşılaştığım sorunlardan biri teknoloji adının iş ihtiyacından önce belirlenmesidir. Belirli bir dil veya framework gerçekten kurumsal standart olabilir, fakat bunun gerekçesi bilinmelidir. Teknoloji seçimi projenin performansı, ekip kapasitesi, bakım ve lisans maliyetiyle birlikte değerlendirilmelidir. “En iyi programlama dili” yerine “bu proje için sürdürülebilir teknoloji seçimi” sorusu daha doğru sonuç verir. Sözleşme de teknik ekibe makul karar alanı bırakmalıdır.
Programlama Dili Seçimini Kim Yapmalı?
Müşteri iş ve kurumsal mimari kısıtlarını belirtmelidir. Yazılım ekibi teknik seçenekleri ve riskleri değerlendirmelidir. Kurumsal IT ekibi operasyon ve güvenlik açısından görüş sağlayabilir. Son karar proje yönetişim modeline göre ortak alınabilir. Bir tarafın uzmanlık alanı diğer tarafın ticari ihtiyacını tamamen dışlamamalıdır.
Kurumsal Şartnamede Teknoloji Dayatmanın Riskleri
Eski kurum standardı sırf alışkanlık nedeniyle yeni projeye taşınabilir. Belirlenen teknolojide yeterli ekip bulunmayabilir. Lisans maliyeti başlangıç tahmininden yüksek çıkabilir. Ürün ihtiyacı değiştiğinde teknoloji gereksiz sınırlama oluşturabilir. Teknoloji şartı varsa gerekçesi ve değişiklik prosedürü yazılmalıdır.
Teknoloji Seçim Kriterleri
Teknoloji seçimi puanlama matrisiyle yapılabilir. İşlevsel ihtiyaç, performans, ekip ve bakım kriterleri birlikte değerlendirilir. Lisans ve toplam sahip olma maliyeti unutulmamalıdır. Açık kaynak ekosistemi ve security update durumu ayrıca önemlidir. Karar kısa Architecture Decision Record ile dokümante edilebilir.
Projenin İşlevsel İhtiyaçları
Gerçek zamanlı sistem ile basit iç operasyon uygulaması aynı teknoloji gereksinimine sahip değildir. Entegrasyon ve veri yapısı seçimleri etkiler. Mobil veya web kanalının önceliği önemlidir. Önce gereksinim yazılmalıdır. Teknoloji ihtiyacın ardından seçilmelidir.
Performans ve Ölçek
Beklenen trafik ve işlem yoğunluğu ölçülmelidir. Performans kritik algoritmalar için benchmark yapılabilir. Dil adı tek başına sistem hızını belirlemez. Architecture ve veri tasarımı büyük rol oynar. Ölçek hedefi gerçekçi olmalıdır.
Ekip Yetkinliği
Ekibin bildiği teknoloji teslim hızını ve hata çözümünü etkiler. Yeni teknoloji öğrenmek bazı projelerde faydalı olabilir. Ancak kritik teslimde öğrenme maliyeti hesaba katılmalıdır. Tek kişiye bağımlı stack proje riski yaratır. Yedek yetkinlik veya işe alım kapasitesi değerlendirilmelidir.
Uzun Vadeli Bakım
Yazılım teslimden sonra yıllarca yaşayabilir. Topluluk ve vendor desteği uzun vadeli bakım için önemlidir. Çok niş teknoloji yeni geliştirici bulmayı zorlaştırabilir. Versiyon yükseltme yolu incelenmelidir. Bakım maliyeti başlangıç geliştirme maliyeti kadar önem taşıyabilir.
Lisans ve Toplam Sahip Olma Maliyeti
Ücretsiz görünen teknoloji operasyon maliyeti doğurabilir. Ticari lisans da belirli projelerde daha ekonomik olabilir. Cloud, database ve monitoring maliyetleri hesaba katılmalıdır. Üçüncü taraf lisanslarının kullanıcı veya işlem hacmine bağlı maliyeti olabilir. Toplam sahip olma maliyeti birkaç yıllık perspektifle hesaplanmalıdır.
Teknoloji Stack'i Değişirse Sözleşme Nasıl Yönetilmeli?
Stack değişikliği süre, lisans veya altyapı maliyetini etkileyebilir. Bu nedenle büyük teknoloji değişiklikleri change request veya teknik karar prosedüründen geçmelidir. Etki yoksa ağır ticari onay gerekmeyebilir. Önemli değişiklikte müşteri bilgilendirilmelidir. Sözleşme “hiç değişemez” ile “ekip istediğini yapar” arasında makul kontrol sağlamalıdır.
Vendor Lock-in Riskini Azaltan Mimari Kararlar
Standart veri formatları ve açık API'ler geçişi kolaylaştırır. Altyapı kodu dokümante edilmelidir. Cloud'a özgü servislerin kullanımı bilinçli yapılmalıdır. Kullanılan managed service'in geçiş maliyeti değerlendirilmelidir. Vendor lock-in her zaman kötü değildir, önemli olan faydanın bağımlılık maliyetini karşılamasıdır.
Yazılım Ekibinin Ticari Sözleşmedeki Temel Hakları
Yazılım ekibinin “hakları” yalnız hukuk metnindeki soyut korumalardan ibaret değildir. Açık kapsam, gerekli sistemlere erişim, zamanında ödeme ve gerçekçi onay süreleri ekibin işi yapabilmesi için temel çalışma şartlarıdır. Sözleşme müşterinin talep hakkını korurken ekibi sınırsız sorumluluk altında bırakmamalıdır. Yazılım geliştirme sözleşmesinde yazılımcı hakları nasıl korunur sorusunun pratik cevabı, ekipten beklenen yükümlülük kadar müşterinin sağlaması gereken girdileri de yazmaktır. Karşılıklı yükümlülük dengesi proje performansını doğrudan etkiler.
Açık ve Ölçülebilir İş Tanımı Talep Etme Hakkı
Geliştirme ekibi ne yapacağını anlayabileceği bir kapsam talep edebilmelidir. Eksik gereksinim sürekli yeniden iş üretir. İş tanımı kullanıcı hikâyesi veya şartname ile desteklenebilir. Belirsiz konular discovery aşamasında ele alınabilir. Bu talep projeyi yavaşlatmak değil yanlış geliştirme riskini azaltmak içindir.
Kapsam Dışı Talepler İçin Ek Süre ve Ücret Talep Etme Hakkı
Yeni fonksiyon mevcut sözleşmenin dışındaysa proje etkisi değerlendirilmelidir. Ekip bu işi ücretsiz ve aynı tarihte yetiştirmek zorunda bırakılmamalıdır. Süre ve ücret etkisi yazılı biçimde sunulabilir. Müşteri talebi kabul veya erteleme seçeneğine sahip olmalıdır. Change request mekanizması bu dengeyi kurar.
Teknik Riskleri Yazılı Olarak Bildirme Hakkı
Geliştirici teknik risk gördüğünde bunu proje yönetimine bildirebilmelidir. Örneğin eski API veya güvenlik açığı teslimatı etkileyebilir. Risk kaydı ileride sorumluluk tartışmasını azaltır. Müşteri riskli seçeneği yine tercih edebilir. Bu durumda karar ve kabul edilen risk yazılı tutulmalıdır.
Müşteri Kaynaklı Gecikmelerde Takvim Revizyonu
API erişimi, test verisi veya yönetim onayı gecikirse ekip çalışmaya devam edemeyebilir. Bu gecikme otomatik olarak geliştirici kusuru sayılmamalıdır. Bağımlılıklar proje planında belirtilmelidir. Müşteri gecikmesi takvim etkisine göre revizyon doğurabilir. Bu madde gerçek proje yönetiminde oldukça önemlidir.
Gerekli Sistem, API ve Verilere Erişim Hakkı
Ekip geliştirme için gereken sistemlere zamanında erişebilmelidir. Yetkiler güvenlik prensiplerine göre sınırlı verilebilir. Test hesabı ve API credential'ları proje başında planlanmalıdır. Geciken erişim teslim süresini doğrudan etkiler. Müşteri ve ekip onboarding checklist kullanabilir.
Teknik Kararlarda Uzmanlık Alanının Korunması
Müşteri iş hedefini ve kurumsal kısıtları belirler. Teknik ekip bu sınırlar içinde çözüm tasarlamalıdır. Her method, class veya database index müşterinin onayına bağlanmamalıdır. Bu yaklaşım geliştirmeyi gereksiz yavaşlatır. Kritik mimari kararlar ise ortak review'a açılabilir.
Hakediş ve Ödemelerin Zamanında Yapılması
Yazılım ekibinin finansal sürdürülebilirliği ödeme takvimine bağlıdır. Hakediş koşulları ölçülebilir ve açık olmalıdır. Kabul sürecinin sınırsız beklemesi ödeme gecikmesine dönüşmemelidir. Geciken ödeme halinde proje durdurma veya takvim kaydırma koşulları yazılabilir. Bu hüküm iki tarafın da nakit akışını öngörülebilir hale getirir.
Onay ve Geri Bildirim Sürelerinin Sınırlandırılması
Müşterinin bir ekranı aylar sonra değerlendirmesi proje akışını bozar. Her teslim için makul review süresi belirlenebilir. Süre içinde geri bildirim verilmezse uygulanacak yöntem ayrıca yazılabilir. Otomatik kabul gibi sonuçların hukuki uygunluğu somut sözleşmede uzmanla değerlendirilmelidir. Temel hedef kararların belirsiz biçimde beklemesini önlemektir.
Sürekli ve Sınırsız Revizyon Taleplerinin Önlenmesi
Tasarım veya feature revizyonlarının sınırı belirlenmelidir. Hata düzeltmesi ile yeni tercih değişikliği ayrılmalıdır. Belirli sayıda tasarım revizyonu dahil edilebilir. Sonraki revizyonlar change request kapsamına alınabilir. Böylece proje sürekli başa dönmez.
Fikri Mülkiyet ve Önceden Var Olan Kodların Korunması
Yazılım şirketi yıllar içinde genel kütüphane ve modüller geliştirmiş olabilir. Bunların her müşteri projesinde devredilmesi iş modelini sürdürülemez hale getirebilir. Background IP sözleşmede ayrı tanımlanmalıdır. Müşteri kendi projesini kullanmak için gerekli lisansı alabilir. Müşteriye özel geliştirilen kod için farklı hak modeli uygulanabilir.
Müşterinin ve Kurumun Sözleşmedeki Temel Hakları
Dengeli sözleşme yalnız geliştirici ekibi korumaz. Müşteri de ödediği bedelin karşılığında şartnameye uygun, test edilebilir ve kullanılabilir ürün bekleme hakkına sahip olmalıdır. Proje ilerlemesi görünür olmalı ve kritik hatalar belirli süreç içinde ele alınmalıdır. Veri güvenliği ve dokümantasyon kurumsal müşteri açısından uzun vadeli öneme sahiptir. Kaynak kod veya lisans teslimi sözleşmede kararlaştırıldığı kapsamda eksiksiz yapılmalıdır.
Şartnameye Uygun Yazılım Talep Etme
Müşteri sözleşmede tanımlanan fonksiyonların çalışmasını bekleyebilir. Ekip keyfî biçimde kapsamı daraltmamalıdır. Kabul kriterleri bu hakkın nasıl test edileceğini açıklar. Gereksinim değişirse değişiklik prosedürü uygulanır. Şartname iki tarafın ortak referans noktasıdır.
Proje Durumunu İzleme ve Raporlama
Müşteri proje ilerlemesini makul sıklıkta görebilmelidir. Sprint demo veya aylık durum raporu kullanılabilir. Riskler gizlenmemelidir. Raporlamanın geliştiriciyi sürekli mikro yönetim altında bırakmaması gerekir. Basit dashboard çoğu projede yeterli görünürlük sağlar.
Kabul Testi Gerçekleştirme
Müşteri teslim edilen fonksiyonları belirlenen kriterlere göre test edebilir. UAT senaryoları önceden hazırlanmalıdır. Test sırasında yeni özellik talepleri hata olarak yazılmamalıdır. Sonuç kayıtlı biçimde ekibe iletilmelidir. Kabul süresi projenin ödeme ve kapanış mekanizmasıyla bağlantılıdır.
Kritik Hataların Düzeltilmesini Talep Etme
Kritik hata sistemin temel kullanımını engelleyebilir. Bu sorunların öncelikli ele alınması gerekir. SLA veya garanti hükümleri müdahale hedefi belirleyebilir. Her hata kritik olarak etiketlenmemelidir. Sınıflandırma kriteri baştan tanımlanmalıdır.
Dokümantasyon ve Bilgi Transferi
Kurumsal müşteri sistemi uzun vadede yönetebilmek için dokümantasyona ihtiyaç duyar. API, deployment ve sistem mimarisi bilgileri proje kapsamına göre teslim edilebilir. Dokümantasyon seviyesi sözleşmede belirlenmelidir. Kod yorumlarının tamamı teknik doküman yerine geçmez. Proje sonunda knowledge transfer oturumu yapılabilir.
Veri Güvenliği ve Gizlilik
Müşterinin gizli verileri yalnız proje amacıyla kullanılmalıdır. Geliştirici erişimleri rol bazlı olmalıdır. Üçüncü taraflarla paylaşım kontrol edilmelidir. Proje sonunda gereksiz kopyalar silinmelidir. Güvenlik şartları denetlenebilir kontrol listesine dönüştürülebilir.
Sözleşmeye Uygun Kaynak Kod veya Lisans Haklarını Teslim Alma
Müşteri hangi hakları satın aldığını açıkça bilmelidir. Kaynak kod teslimi kararlaştırıldıysa repository veya paket formatı belirlenebilir. Lisans verilmişse süre ve kullanım alanı açık olmalıdır. Üçüncü taraf bileşenler ayrıca listelenebilir. Teslim belgeleri proje kapanış kontrol listesinde bulunmalıdır.
Scope Creep ve Değişiklik Talebi Yönetimi
Scope creep yazılım projelerinin bütçe ve süre açısından en sık karşılaştığı risklerden biridir. Küçük görünen her ek talep birikerek ilk planı ciddi biçimde değiştirebilir. Bu nedenle yazılım sözleşmesinde teslim kabul kriterleri ve değişiklik yönetimi birlikte tasarlanmalıdır. Yeni özellik, hata ve iyileştirme talebi birbirinden ayrılmalıdır. Change request mekanizması müşteri esnekliğini korurken ekibin sınırsız iş yüküne girmesini önler.
Scope Creep Nedir?
Scope creep başlangıç kapsamının kontrollü karar olmadan giderek genişlemesidir. Genellikle küçük ek isteklerle başlar. Her değişiklik ayrı bakıldığında önemsiz görünebilir. Birlikte değerlendirildiğinde haftalarca ek iş yaratabilir. Düzenli backlog ve change tracking bunu görünür hale getirir.
Yeni Özellik ile Hata Düzeltmesinin Ayrılması
Hata, tanımlanan kabul kriterinin karşılanmamasıdır. Yeni özellik ise daha önce tanımlanmamış davranış ekler. Kullanıcı fikrini değiştirdiğinde bu her zaman bug değildir. Ayrım örneklerle sözleşmede açıklanabilir. Tartışmalı durumlarda ürün sahibi ve teknik lider birlikte değerlendirebilir.
Change Request Süreci
Change request yeni talebin kontrollü değerlendirilmesini sağlar. Talep yazılı kayda alınır. Teknik, süre ve maliyet etkisi analiz edilir. Taraflar sonucu görerek kabul veya erteleme kararı verir. Böylece sprint içine gizli kapsam eklenmez.
Talebin Yazılı Kaydı
Talep kısa açıklamayla ticket veya form üzerinden açılmalıdır. Talebin sahibi belirtilmelidir. Beklenen iş sonucu yazılmalıdır. Sözlü toplantı notu tek başına yeterli olmayabilir. Kayıt daha sonra karar geçmişini gösterir.
Teknik Etki Analizi
Yeni özelliğin mevcut architecture'a etkisi değerlendirilir. Database veya API değişikliği gerekebilir. Güvenlik ve test maliyeti hesaba katılır. Teknik ekip alternatif çözüm önerebilir. Analiz yalnız development saatinden ibaret değildir.
Süre Etkisi
Yeni talep mevcut roadmap'i kaydırabilir. Başka feature'ın ertelenmesi seçenek olabilir. Paralel ekip kapasitesi varsa etki azalabilir. Yeni teslim tarihi belirtilmelidir. Müşteri bu bilgiyi görerek öncelik kararı verir.
Maliyet Etkisi
Ek çalışma insan ve altyapı maliyeti yaratabilir. Lisans veya üçüncü taraf bedeli ortaya çıkabilir. Sabit fiyat projede ek teklif hazırlanabilir. Dedicated ekip modelinde kapasite etkisi farklı hesaplanır. Maliyet açık biçimde paylaşılmalıdır.
Taraf Onayı
Değişiklik etkisi görülmeden geliştirme başlamamalıdır. Yetkili temsilcinin onayı alınmalıdır. Onayın e-posta veya proje sistemi üzerinden geçerli olup olmadığı sözleşmede belirlenebilir. Kritik ticari değişiklik ek protokol gerektirebilir. Yetki matrisi yanlış kişinin büyük kapsam değişikliği onaylamasını önler.
Backlog Değişikliklerinin Sözleşmeye Etkisi
Agile backlog dinamik olabilir. Ancak ticari kapsamın tamamen sınırsız olduğu anlamına gelmez. Aynı efor içindeki feature değişimi daha kolay yönetilebilir. Büyük kapsam artışı sözleşme etkisi doğurabilir. Product backlog ile contractual scope ayrı fakat bağlantılı tutulmalıdır.
Acil Değişiklik Talepleri Nasıl Yönetilmeli?
Güvenlik veya mevzuat değişikliği acil çalışma gerektirebilir. Acil prosedür normal change request'ten kısa olabilir. Yine de talep ve etki mümkün olduğunca kaydedilmelidir. Onay yetkilileri önceden belirlenmelidir. Acil durum sürekli kullanılan kestirme yol haline gelmemelidir.
Teslim, Test ve Kabul Kriterleri
Projenin teslim edilmiş sayılması için yalnız kodun repository'ye gönderilmesi yeterli olmayabilir. Deployment, dokümantasyon, test ve gerekli erişimler teslimin parçası olabilir. Kabul kriteri anlaşılır değilse proje kapanışı sürekli uzar. Müşteri neye göre kabul edeceğini, ekip de ne zaman yükümlülüğünü tamamlamış sayılacağını bilmelidir. Bu nedenle acceptance süreci fiyatlandırma kadar ayrıntılı düşünülmelidir.
Proje Ne Zaman Teslim Edilmiş Sayılır?
Teslim koşulu sözleşmede açık tanımlanmalıdır. Test ortamına deployment bazı projelerde teslim sayılabilir. Başka projede canlı sistem ve dokümantasyon gerekebilir. Kaynak kod ve credential teslimi ayrıca kontrol edilebilir. Teslim ile kabul aynı tarih olmak zorunda değildir.
Acceptance Criteria Nasıl Yazılır?
Kriter gözlemlenebilir davranışa dayanmalıdır. Örneğin “kullanıcı aktif siparişleri filtreleyebilir” test edilebilir ifadedir. “Ekran kaliteli olmalıdır” ise yorum farkı yaratır. Kritik kalite hedefleri de ölçülebilir hale getirilebilir. Her kullanıcı hikâyesi için ayrı criteria hazırlanabilir.
Kullanıcı Kabul Testi (UAT)
UAT müşterinin gerçek iş senaryolarını test etmesini sağlar. Test kullanıcıları ve veri seti önceden hazırlanmalıdır. UAT süresi proje takvimine dahil edilmelidir. Yeni feature talepleri ayrı kaydedilmelidir. Test sonucunda kabul, şartlı kabul veya düzeltme kararı verilebilir.
Kabul ve Ret Süreleri
Müşteri teslimi sonsuza kadar değerlendirme halinde tutmamalıdır. Makul kontrol süresi sözleşmede yazılabilir. Ret gerekçesi acceptance criteria ile bağlantılı olmalıdır. Düzeltme sonrası tekrar test süreci belirtilmelidir. Sürelerin hukuki sonucu somut sözleşme tasarımında hukuk uzmanıyla değerlendirilmelidir.
Hata Sınıflandırması
Her bug aynı operasyonel etkiye sahip değildir. Severity sınıflandırması ekip önceliğini belirler. Kriterler mümkün olduğunca objektif olmalıdır. Müşteri tek taraflı olarak bütün sorunları kritik olarak sınıflandırmamalıdır. Teknik ve iş etkisi birlikte değerlendirilmelidir.
Kritik Hata
Kritik hata temel sistem kullanımını veya önemli iş operasyonunu durdurur. Veri kaybı veya ciddi güvenlik problemi bu sınıfa girebilir. Workaround bulunmaması önemlidir. Müdahale süresi en kısa kategoride olabilir. Kesin tanım proje bağlamına göre yazılmalıdır.
Yüksek Öncelikli Hata
Yüksek hata önemli fonksiyonun ciddi biçimde bozulmasıdır. Sistem tamamen kapalı olmayabilir. Geçici workaround bulunabilir. Çözüm süresi kritik sınıftan daha uzun olabilir. İş etkisi esas alınmalıdır.
Normal Hata
Normal hata kullanımın belirli bölümünü etkiler. İş sürekliliğini tamamen durdurmaz. Planlı sprint içinde düzeltilebilir. Kullanıcı deneyimini veya küçük fonksiyonu etkileyebilir. Sınıflandırma müşteri ve teknik ekipçe anlaşılmalıdır.
İyileştirme Talebi
İyileştirme talebi mevcut gereksinimin hata vermesi değildir. Kullanıcı daha iyi deneyim veya yeni davranış ister. Backlog'a eklenebilir. Ticari kapsam etkisi değerlendirilmelidir. Bu ayrım ücretsiz bug fix tartışmasını azaltır.
Kısmi Kabul ve Aşamalı Teslim
Büyük projeyi tek seferde kabul etmek risklidir. Modül veya milestone bazlı kabul yapılabilir. Her aşamanın kendi kriterleri belirlenmelidir. Kabul edilen bölüm için hakediş oluşabilir. Aşamalı model problemleri daha erken görünür hale getirir.
Canlıya Geçiş Kriterleri
Canlıya geçiş yalnız “kod hazır” kararı değildir. Kritik testlerin geçmesi gerekir. Backup, monitoring ve erişim kontrolleri tamamlanmalıdır. Kullanıcı eğitimleri gerekebilir. Go-live checklist iki tarafça birlikte takip edilebilir.
Ücretlendirme, Hakediş ve Ödeme Modeli
Yazılım projesinde fiyat modeli kapsamın belirsizlik seviyesine göre seçilmelidir. Çok belirsiz projeye sabit fiyat vermek iki taraf için de risk yaratabilir. Dedicated ekip modeli esneklik sağlar fakat bütçe kontrol yöntemi gerektirir. Milestone ödeme teslim ve kabul kriterleriyle uyumlu olmalıdır. Ödeme gecikmeleri proje kapasitesi ve takvim üzerinde açık etkiye sahip olabileceği için sözleşmede düzenlenmelidir.
Sabit Fiyat Modeli
Sabit fiyat kapsamı iyi tanımlanmış projelerde uygundur. Yüklenici maliyet riskinin önemli bölümünü taşır. Müşteri bütçeyi başlangıçta daha kolay öngörür. Kapsam değişikliği change request gerektirir. Belirsiz ürün keşfi için ayrı discovery fazı kullanılabilir.
Adam/Gün ve Adam/Saat Modeli
Bu model kullanılan kapasite üzerinden fiyatlama yapar. Değişen backlog daha kolay yönetilebilir. Müşteri kullanılan zamanı takip etmek isteyebilir. İş sonucu ve verimlilik yine değerlendirilmelidir. Saat kaydı tek kalite göstergesi değildir.
Dedicated Yazılım Ekibi Modeli
Müşteri belirli ekip kapasitesini aylık olarak kullanır. Ürün roadmap'i esnek değişebilir. Ekip üyelerinin rollerinin tanımlanması önemlidir. Tatil, hastalık ve personel değişimi koşulları yazılmalıdır. Başarı yalnız saat değil ürün çıktısı ve ekip sürekliliğiyle ölçülmelidir.
Milestone Bazlı Ödeme
Ödeme belirli teslim aşamalarına bağlanır. Her milestone'un kapsamı ve acceptance criteria bulunmalıdır. Büyük son ödeme nakit akışı riski yaratabilir. Daha küçük aşamalar daha dengeli olabilir. Müşteri kabul süresinin uzaması ödeme sürecini kilitlememelidir.
Avans ve Ara Ödemeler
Avans proje başlangıç maliyetini karşılar. Özellikle ekip rezervasyonu ve lisans alımında anlamlı olabilir. Ara ödemeler tamamlanan aşamalara bağlanabilir. İade ve fesih koşulları yazılmalıdır. Ödeme planı iki tarafın nakit akışına uygun olmalıdır.
Change Request Ücretlendirmesi
Ek talebin fiyat yöntemi başlangıçta belirlenebilir. Sabit teklif veya adam/gün uygulanabilir. Acil değişiklik için farklı fiyat modeli kullanılabilir. Lisans ve altyapı bedeli ayrıca hesaplanabilir. Müşteri maliyeti kabul etmeden geliştirme başlamamalıdır.
Geciken Ödemelerin Proje Takvimine Etkisi
Geciken ödeme ekip tahsisini etkileyebilir. Belirli süre sonrası işin askıya alınması düzenlenebilir. Askı süresinde teslim tarihi de kayabilir. Bu sonuç açıkça yazılmalıdır. Taraflar gecikmeyi kriz olmadan önce finans ve proje ekipleri arasında takip etmelidir.
Vergi, Lisans ve Üçüncü Taraf Masrafları
Teklifin vergi dahil olup olmadığı açık olmalıdır. Cloud, SMS, harita veya ödeme hizmeti ayrı maliyet yaratabilir. Dövizle lisanslanan ürünlerde kur riski bulunabilir. Bu masrafların hangi tarafa ait olduğu yazılmalıdır. Sözleşme sonrası sürpriz maliyetlerin önemli bölümü bu başlıkta ortaya çıkar.
Kaynak Kod ve Fikri Mülkiyet Hakları
Yazılım sözleşmelerinde fikri mülkiyet ve kaynak kod hakları en çok pazarlık edilen alanlardan biridir. Müşteri yaptığı ödeme nedeniyle bütün kodun kendisine ait olduğunu düşünebilir. Yazılım şirketi ise daha önce geliştirdiği altyapı ve genel amaçlı modülleri korumak isteyebilir. Her iki beklenti de belirli projelerde makul olabilir. Sağlıklı yaklaşım background IP, müşteriye özel kod ve üçüncü taraf bileşenleri birbirinden ayırmaktır.
Kaynak Kod Kime Ait Olmalı?
Bu sorunun her proje için aynı cevabı yoktur. SaaS ürününde kaynak kod genellikle sağlayıcının temel ticari varlığıdır. Tamamen müşteri finansmanıyla geliştirilen özel uygulamada daha geniş müşteri hakkı kararlaştırılabilir. Ortak ürün geliştirmede farklı model gerekir. Sözleşme iş modeline göre hak yapısını açıklamalıdır.
Eser Sahipliği, Lisans ve Mali Hak Devri Arasındaki Fark
Eser sahipliği hukuki başlangıç ilişkisini ifade eder. Lisans belirli kullanım yetkisi sağlar. Mali hak devri daha geniş ekonomik hak değişikliği doğurabilir. Bu kavramlar aynı cümlede birbirinin yerine kullanılmamalıdır. Somut devir veya lisans hükmü FSEK bakımından uzman tarafından kontrol edilmelidir.
Background IP ve Project IP Ayrımı
Background IP proje öncesinde mevcut olan teknoloji varlıklarını ifade eder. Project IP ise proje kapsamında üretilen yeni çıktıları tanımlamak için kullanılabilir. Bu terimler sözleşmede açıkça tanımlanmalıdır. Önceden var olan kod müşteri projesinde kullanılabilir. Müşterinin bu kodu kullanma hakkı lisansla sağlanabilir.
Önceden Geliştirilmiş Kütüphaneler
Yazılım şirketinin authentication veya logging kütüphanesi önceden mevcut olabilir. Bu bileşenin müşteriye tamamen devredilmesi gerekmeyebilir. Proje içinde kullanım hakkı verilebilir. Şirket başka projelerde kullanmaya devam edebilir. Bu durum sözleşmede açıkça yazılmalıdır.
Genel Amaçlı Modüller
Dosya yükleme veya bildirim modülü birçok projede tekrar kullanılabilir. Genel modül ile müşteriye özel iş mantığı ayrılmalıdır. Müşteri kendi ürününü sınırsız kullanabilmelidir. Şirket de genel know-how'ını koruyabilmelidir. Bu ayrım iki taraf için ticari denge sağlar.
Müşteriye Özel Kod
Müşterinin özgün süreçlerini uygulayan kod ayrı kategori olabilir. Bu kodun hak kapsamı pazarlıkla belirlenir. Yeniden kullanımın rekabet riski yaratıp yaratmadığı değerlendirilmelidir. Gizli iş bilgileri korunmalıdır. Müşteri özel kodu değiştirme ve bakım yaptırma hakkı isteyebilir.
Yazılım Şirketinin Genel Çözümlerini Yeniden Kullanma Hakkı
Yazılım şirketi genel algoritma ve teknik yöntemlerini farklı projelerde kullanabilir. Ancak müşteri gizli bilgisi veya özel iş mantığı yeniden kullanılmamalıdır. Sözleşmede genel know-how istisnası tanımlanabilir. Müşteri verisi her durumda ayrı korunmalıdır. Yeniden kullanım maddesi çok geniş yazılırsa müşteri IP'sini zayıflatabilir.
Kaynak Kodun Teslim Şekli
Kaynak kod Git repository erişimiyle teslim edilebilir. Release tag ve build instructions bulunmalıdır. Bağımlılık listesi eklenebilir. Secret ve kişisel credential'lar kodun içinde olmamalıdır. Teslimin hangi branch ve sürümü kapsadığı kaydedilmelidir.
Repository Sahipliği ve Erişim Yetkileri
Repository müşteri veya yazılım şirketi organization hesabında tutulabilir. Sahiplik modeli sözleşmeye göre belirlenmelidir. Müşteriye read veya admin erişimi verilebilir. Ekip üyelerinin kişisel hesaplarına bağımlılık azaltılmalıdır. Proje sonunda erişim devir planı uygulanmalıdır.
Kaynak Kod Escrow Nedir?
Escrow belirli koşullarda kaynak kodun güvenilir üçüncü tarafta tutulmasını sağlayan modeldir. SaaS veya kapalı kaynak ürünlerde müşteri iş sürekliliği için kullanılabilir. Sağlayıcının faaliyetini durdurması gibi tetikleyici şartlar belirlenir. Escrow kopyasının güncel olması ayrıca kontrol edilmelidir. Her proje için gerekli değildir.
Teknik Dokümantasyonun Fikri Mülkiyet Boyutu
Mimari doküman ve teknik tasarım da değerli bilgi içerir. Müşteri proje kullanımı için bu dokümanlara ihtiyaç duyabilir. Genel şirket metodolojisi ile müşteriye özel doküman ayrılabilir. Gizlilik devam etmelidir. Dokümantasyon kullanım hakkı da sözleşmede açıklanabilir.
Open Source ve İşbirliği Kuralları
Açık kaynak yazılımlar ticari projelerin önemli bölümünde kullanılır. Bu kullanım geliştirme hızını ve kaliteyi artırabilir. Ancak lisans yükümlülükleri incelenmeden dependency eklemek ticari risk yaratabilir. Şirketlerin açık kaynak contribution politikası da çalışanların hangi projelere nasıl katkı vereceğini belirlemelidir. Kurumsal proje ile topluluk katkısı arasında açık sınır kurulması hem şirketi hem geliştiriciyi korur.
Açık Kaynak Yazılım Kullanımı Sözleşmede Neden Düzenlenmeli?
Müşteri yazılımın tamamen sıfırdan yazıldığını varsayabilir. Gerçekte modern yazılım çok sayıda açık kaynak bileşen kullanır. Sözleşme bu kullanıma izin verebilir ve önemli lisansların bildirilmesini isteyebilir. Yasak liste veya onay gerektiren lisanslar belirlenebilir. Bu yaklaşım sonradan çıkan lisans tartışmasını azaltır.
Açık Kaynak Lisans Türlerinin Projeye Etkisi
Açık kaynak lisansları aynı yükümlülükleri içermez. Permissive ve copyleft modeller farklı sonuç doğurabilir. Dağıtım biçimi ve entegrasyon yöntemi önemlidir. Lisans metni doğrudan incelenmelidir. Kritik ticari üründe hukuk review faydalıdır.
Permissive Lisanslar
MIT ve BSD benzeri lisanslar geniş kullanım esnekliği sağlayabilir. Genellikle belirli copyright ve lisans bildirimleri korunmalıdır. Apache 2.0 gibi lisanslarda patent hükümleri de bulunur. Her permissive lisans tamamen aynı değildir. Sözleşme envanter ve uyumluluk sürecini tanımlamalıdır.
Copyleft Lisanslar
Copyleft lisansları belirli dağıtım koşullarında kaynak kod paylaşımı gibi yükümlülükler doğurabilir. Kullanım yöntemi önemlidir. Bileşenin sadece server tarafında bulunması ile dağıtılması farklı analiz gerektirebilir. Lisans uzmanı görüşü kritik ürünlerde faydalıdır. Copyleft otomatik olarak “ticari kullanım yasak” anlamına gelmez.
Dual Licensing
Bazı projeler aynı yazılımı birden fazla lisans altında sunar. Açık kaynak ve ticari lisans seçenekleri bulunabilir. Şirket kendi kullanım senaryosuna uygun lisansı seçebilir. Ticari lisans belirli copyleft yükümlülüklerinden farklı haklar sağlayabilir. Maliyet ve kullanım kapsamı birlikte değerlendirilmelidir.
Üçüncü Taraf Paket ve Kütüphanelerin Envanteri
Dependency envanteri güvenlik ve lisans yönetimi için önemlidir. Paket adı, sürüm ve lisans kaydedilebilir. Otomatik scanner kullanılabilir. Kritik dependency'ler ayrıca takip edilmelidir. Proje tesliminde liste müşteriye sağlanabilir.
Software Bill of Materials (SBOM)
SBOM yazılım bileşenlerinin yapılandırılmış envanterini sağlar. Güvenlik açığı çıktığında etkilenen projeleri bulmayı kolaylaştırır. Kurumsal ve kritik sistemlerde değerli olabilir. Format standardı projeye göre seçilebilir. SBOM üretimi CI/CD pipeline'a eklenebilir.
Lisans Uyumluluğu Sorumluluğu
Lisans kontrolünün hangi tarafa ait olduğu yazılmalıdır. Geliştirme ekibi dependency seçimini yönetebilir. Müşteri zorunlu tuttuğu bileşenin lisansından ayrıca sorumluluk taşıyabilir. Hukuki değerlendirme gerektiğinde eskalasyon yapılmalıdır. Otomatik araçlar hukuk yorumunun tamamen yerine geçmez.
Çalışanların Açık Kaynak Projelere Katkısı
Geliştiriciler iş dışında veya iş sırasında open source katkısı yapabilir. Şirket kodunun izinsiz paylaşılmaması gerekir. Katkının çalışma süresi ve ekipmanıyla ilişkisi açık politika gerektirebilir. Çalışanın kişisel projesi ile işveren projesi birbirinden ayrılmalıdır. Şeffaf contribution policy gereksiz çatışmayı azaltır.
Kurumsal Open Source Contribution Policy
Politika çalışanların hangi projelere hangi onayla katkı verebileceğini açıklar. Küçük documentation katkısı için ağır prosedür gerekmeyebilir. Şirket IP'si veya patent riski varsa ek review yapılabilir. Kullanılacak hesap ve e-posta politikası belirlenebilir. Amaç contribution'ı yasaklamak değil güvenli hale getirmektir.
Müşteri Kodunun Yanlışlıkla Açık Kaynaklaştırılmasının Önlenmesi
Repository visibility yanlış ayarlanabilir. Geliştirici kod snippet'ini public issue'ya koyabilir. CI logları secret açığa çıkarabilir. Eğitim ve teknik kontrol birlikte kullanılmalıdır. Private repository ve DLP politikaları riski azaltabilir.
Topluluk Katkısı ile Kurumsal Fikri Mülkiyet Arasındaki Denge
Topluluk katkısı geliştiricinin becerisini ve şirket görünürlüğünü artırabilir. Kurumsal IP ise ticari değerin korunmasını gerektirir. Açık kaynak yapılabilecek ortak araçlar ayrı seçilebilir. Müşteriye özel kod kapalı tutulabilir. Dengeli politika hem üretim kültürünü hem ticari çıkarı korur.
Veri Güvenliği, KVKK ve Siber Güvenlik Şartları
Kişisel veri işleyen projelerde veri güvenliği sözleşmenin ek maddesi değil ana tasarım konularından biridir. Veri sorumlusu ve veri işleyen rolleri gerçek faaliyete göre belirlenmelidir. KVKK'nın veri güvenliği hükümleri uygun teknik ve idari tedbirleri gerektirir. Yurt dışındaki servislerin kullanıldığı projelerde 1 Haziran 2024'te yürürlüğe giren yeni yurt dışına aktarım sistemi ayrıca dikkate alınmalıdır. Standart sözleşmeler ve diğer uygun güvence yöntemleri somut veri akışına göre değerlendirilebilir. :contentReference[oaicite:9]{index=9}
Yazılım Ekibinin Erişebileceği Veri Türlerinin Belirlenmesi
Geliştirici her production verisine erişmek zorunda değildir. Veri kategorileri sınıflandırılmalıdır. Kişisel ve özel nitelikli veriler için daha dar erişim uygulanabilir. Test için anonim veya sentetik veri tercih edilebilir. Erişim ihtiyacı proje rolüne göre belirlenmelidir.
Veri Sorumlusu ve Veri İşleyen Rollerinin Netleştirilmesi
Tarafların rolleri sözleşmede yazılmalıdır. Ancak gerçek faaliyetle uyumlu olması gerekir. Veri sorumlusu amaç ve temel yöntemleri belirler. Veri işleyen onun talimatı doğrultusunda işlem yapar. Karma roller varsa faaliyet bazlı tablo hazırlanabilir. :contentReference[oaicite:10]{index=10}
Yetkilendirme ve Least Privilege İlkesi
Kullanıcı yalnız işi için gerekli yetkiye sahip olmalıdır. Admin erişimleri sınırlı tutulmalıdır. Privileged account'lar ayrıca izlenebilir. Personel ayrıldığında yetki hemen kaldırılmalıdır. Düzenli access review yapılabilir.
Loglama ve İzlenebilirlik
Kritik işlemlerin kim tarafından yapıldığı kaydedilmelidir. Loglar kişisel veri içerebilir. Saklama süresi ihtiyaca göre belirlenmelidir. Log bütünlüğü korunmalıdır. Yetkisiz erişim olayında inceleme kolaylaşır.
Test Ortamında Gerçek Veri Kullanımı
Production verisini test ortamına kopyalamak risklidir. Mümkünse anonimleştirme veya sentetik veri kullanılmalıdır. Gerçek veri gerekiyorsa erişim ve güvenlik kontrolleri production seviyesine yaklaşmalıdır. Test ortamı internete açık bırakılmamalıdır. Veri silme süreci belirlenmelidir.
Güvenlik Açığı ve Yama Yönetimi
Vulnerability tespit edildiğinde kimin sorumlu olduğu belirlenmelidir. Severity sınıflandırması kullanılabilir. Dependency update ve application fix ayrılabilir. Müşteri onayı gereken değişiklikler önceden tanımlanmalıdır. Güvenlik güncellemeleri bakım sözleşmesine bağlanabilir.
Kritik Açıkların Müdahale Süresi
Kritik güvenlik açığı hızlı inceleme gerektirir. Müdahale ile kalıcı çözüm süresi ayrı olabilir. Workaround ilk koruma sağlayabilir. Risk kabul kararı müşteriyle paylaşılmalıdır. SLA gerçek ekip kapasitesine uygun olmalıdır.
Güvenlik Güncellemeleri
Framework ve işletim sistemi güncellemeleri düzenli izlenmelidir. Her update anında production'a alınmamalıdır. Test süreci uygulanmalıdır. Destek süresi biten bileşenler planlı olarak yükseltilmelidir. Bakım bütçesi bu işi kapsamalıdır.
Penetrasyon Testleri
Penetrasyon testi proje riskine göre uygulanabilir. Test kapsamı ve yöntemi belirlenmelidir. Dış uzman kullanılabilir. Bulunan açıkların kapanış testi yapılmalıdır. Pentest güvenli yazılım geliştirme sürecinin yerine geçmez.
Veri İhlali Bildirim Süreci
Olay tespit edildiğinde kimin kimi bilgilendireceği önceden bilinmelidir. Teknik ekip hızlı veri sağlamalıdır. Veri sorumlusunun KVKK yükümlülükleri ayrıca değerlendirilir. KVKK veri sorumlusunun kanuni olmayan erişimi en kısa sürede ilgili kişiye ve Kurula bildirmesine ilişkin yükümlülük içerir. Sözleşme teknik sağlayıcının bildirim süresini daha kısa belirleyebilir. :contentReference[oaicite:11]{index=11}
Bulut ve Alt Hizmet Sağlayıcıları
Cloud provider veri akışının önemli parçasıdır. Hosting bölgesi ve alt işlemciler bilinmelidir. Güvenlik sertifikaları yardımcı veri olabilir. Sözleşme yalnız sertifikaya dayanarak riskin ortadan kalktığını varsaymamalıdır. Müşteri için kritik sağlayıcı değişiklikleri bildirim gerektirebilir.
Yurt Dışı Veri Aktarımı
Yurt dışındaki cloud, analytics veya AI hizmetleri kişisel veri aktarımı doğurabilir. 2024'te KVKK'nın 9. maddesi kapsamında aktarım sistemi değişmiştir. Yeterlilik kararı, uygun güvenceler ve belirli arızi haller yeni yapıda ayrı yollar olarak düzenlenmiştir. Standart sözleşmeler uygun güvence yöntemlerinden biri olarak kullanılabilir. Somut aktarım başlamadan veri akışı ve seçilen hukuki mekanizma kontrol edilmelidir. :contentReference[oaicite:12]{index=12}
Sözleşme Sonunda Verilerin Silinmesi veya İadesi
Proje bitince veri kopyalarının ne olacağı yazılmalıdır. Müşteriye iade gereken veri teslim edilebilir. Yasal saklama gereği olmayan kopyalar silinebilir. Backup retention ayrıca dikkate alınmalıdır. Silme veya iade tutanağı oluşturulabilir.
Yazılım Ekibi, Freelancer ve Alt Yüklenici Yönetimi
Kurumsal projede kodu yazan herkes doğrudan ana yüklenicinin çalışanı olmayabilir. Freelancer veya alt yüklenici kullanılması hak zinciri ve güvenlik açısından ek kontrol gerektirir. Müşteri hangi görevlerin dışarı verildiğini bilmek isteyebilir. Ana yüklenici alt ekip nedeniyle temel sözleşme yükümlülüklerinden kaçınmamalıdır. IP, gizlilik ve veri güvenliği yükümlülükleri bütün zincire uygulanmalıdır.
Çalışan Geliştirici ile Bağımsız Yüklenici Arasındaki Fark
Çalışan ve bağımsız hizmet sağlayıcı farklı hukuki ilişkilerdir. İş görme biçimi, kontrol ve sözleşme yapısı farklı olabilir. IP hükümleri de aynı şekilde varsayılmamalıdır. Şirket freelancer'dan gerekli hakları yazılı biçimde edinmelidir. Çalışma ilişkisinin gerçek niteliği yalnız sözleşme başlığına bağlı değildir.
Freelancer Kodlarında Hak Zincirinin Korunması
Freelancer projeye özgün kod veya üçüncü taraf bileşen ekleyebilir. Hak devri veya lisans koşulları açık olmalıdır. Başkasına ait kodun izinsiz kullanılması engellenmelidir. Open source dependency listesi istenebilir. Ana yüklenici müşteriye vereceği haklara gerçekten sahip olduğunu doğrulamalıdır.
Alt Yüklenici Kullanma Yetkisi
Sözleşme alt yüklenici kullanımını serbest veya onaya tabi tutabilir. Kritik veri erişimi varsa müşteri bildirimi önemli olabilir. Alt yüklenici seçimi ana sağlayıcının sorumluluğunu ortadan kaldırmamalıdır. Güvenlik şartları zincirleme uygulanmalıdır. Yurt dışındaki alt yüklenici veri aktarımı açısından ayrıca incelenmelidir.
Key-Person Maddesi
Bazı projeler belirli senior veya architect'e yüksek ölçüde bağımlı olabilir. Müşteri bu kişinin projede kalmasını isteyebilir. Ancak kişi değişikliğinin tamamen yasaklanması gerçekçi olmayabilir. Eşdeğer yetkinlik ve devir süreci belirlenebilir. Key-person maddesi ekip sürdürülebilirliğiyle dengelenmelidir.
Ekip Üyesi Değiştiğinde Bilgi Transferi
Yeni üye projeyi sıfırdan öğrenmemelidir. Dokümantasyon ve onboarding süreci bulunmalıdır. Ayrılan kişi açık görevleri devretmelidir. Repository ve erişimler güncellenmelidir. Müşteriye kritik değişiklik hakkında bilgi verilebilir.
Personel Devir Oranının Proje Riskine Etkisi
Sürekli ekip değişimi proje hızını ve kaliteyi düşürebilir. Bilgi kaybı önemli risk oluşturur. Dedicated team projelerinde belirli continuity KPI kullanılabilir. Ancak normal insan kaynağı değişimi cezalandırılmamalıdır. Şirket kurumsal bilgi yönetimiyle riski azaltmalıdır.
Alt Yüklenicilerin Gizlilik ve Güvenlik Yükümlülükleri
Alt yüklenici müşterinin gizli bilgisine erişebilir. Ana sözleşmedeki uygun gizlilik hükümleri alt sözleşmeye yansıtılmalıdır. Veri güvenliği kontrolleri uygulanmalıdır. Proje sonunda erişimler kaldırılmalıdır. Ana yüklenici compliance takibini yapmalıdır.
Diyarbakır'daki En İyi Yazılımcılar ve Yazılım Ekipleri Nasıl Değerlendirilir?
“En iyi yazılımcı” ifadesi tek bir teknik skorla ölçülemez. Kurumsal projede proje uyumu, iletişim, dokümantasyon ve güvenlik bilgisi en az framework deneyimi kadar önemlidir. Çok güçlü algoritma bilgisine sahip bir geliştirici müşteri gereksinimini anlamakta zorlanabilir. Başka bir ekip ise teknik olarak yeterli olmasına rağmen teslim ve sözleşme disiplininde daha başarılı olabilir. Bu nedenle değerlendirme projenin risk ve sorumluluk profiline göre yapılmalıdır.
Teknik Yetkinlikten Önce Proje Uyumunun Ölçülmesi
Sağlık projesi ile e-ticaret projesi farklı deneyim gerektirir. Ekip domain ve ölçek bakımından değerlendirilmelidir. Projenin kullandığı teknolojiye yakın tecrübe avantajdır. Ancak aynı framework'ü bilmek tek başarı kriteri değildir. Problem çözme ve öğrenme kapasitesi de önemlidir.
Referans ve Önceki Projeler
Önceki projeler ekibin gerçek teslim kapasitesini gösterir. Referans müşteriyle izinli görüşme yapılabilir. Proje büyüklüğü ve rolü sorulmalıdır. Sadece marka logosuna bakmak yanıltıcı olabilir. Ekibin ne yaptığı anlaşılmalıdır.
Kod Kalitesi ve Dokümantasyon Yeteneği
Örnek kod veya teknik proje üzerinden değerlendirme yapılabilir. Test ve README alışkanlığı incelenebilir. Kodun okunabilirliği önemlidir. Kurumsal projede yalnız hızlı delivery yetmez. Bakım yapılabilirlik uzun vadeli maliyeti etkiler.
Kurumsal Sözleşme ve Şartname Okuryazarlığı
Senior ekip teknik şartnameyi okuyabilmelidir. Kapsam ve acceptance criteria konusunda soru sormalıdır. Ticari etki doğuran değişiklikleri fark etmelidir. Developer'ın hukukçu olması gerekmez. Ancak sözleşmenin teknik sorumluluğu nasıl tanımladığını anlayabilmesi faydalıdır.
Güvenlik ve KVKK Bilinci
Ekip production verisini gelişi güzel kullanmamalıdır. Secret management ve erişim kontrolü bilmelidir. KVKK'nın temel rol ve güvenlik yaklaşımını anlamalıdır. Hassas veriyle çalışırken soru sormak güçlü profesyonel davranıştır. Güvenlik awareness teknik mülakatın parçası olabilir.
Açık Kaynak Projelere Katkı ve Teknik Topluluk Deneyimi
Open source contribution collaboration deneyimini gösterebilir. Ancak herkesin public contribution yapma fırsatı aynı değildir. Bu nedenle zorunlu kriter olmamalıdır. Teknik topluluk deneyimi mentoring ve iletişim açısından değerli olabilir. Portföy diğer iş deneyimleriyle birlikte değerlendirilmelidir.
Teslim ve İletişim Disiplini
Kurumsal müşteri teknik ilerlemeyi zamanında bilmek ister. Ekip riskleri geç bildirmemelidir. Plan değişikliği açık biçimde paylaşılmalıdır. Düzenli demo güven oluşturur. İletişim kalitesi doğrudan proje riskini azaltır.
Diyarbakır Yazılım Topluluğu ve Kurumsal İşbirliği Modelleri
Yerel teknoloji toplulukları şirketlerle yetenek, açık kaynak, mentoring ve ortak proje alanlarında işbirliği yapabilir. Diyarbakır Yazılım Topluluğu'nun yaklaşımı hakkında https://www.diyarbakiryazilim.com.tr/about adresinden bilgi alınabilir. Mevcut proje örnekleri için https://www.diyarbakiryazilim.com.tr/projects sayfası incelenebilir. Ortak çalışma alanları ve ekiplerin kullanım kriterleri konusunda https://www.diyarbakiryazilim.com.tr/posts/yazilim-ekipleri-icin-ortak-calisma-alani-coworking-tahsis-kriterleri içeriği de çalışma ortamı tarafında ek bağlam sunabilir. Kurumsal işbirliklerinde gönüllü topluluk emeği ile ticari proje sorumluluğu açık biçimde ayrılmalıdır.
Yerel Yazılım Ekosisteminin Kurumlara Katkısı
Yerel ekosistem kurumların nitelikli geliştiriciye erişimini kolaylaştırabilir. Teknik etkinlikler yeni teknoloji bilgisini yayar. Mentorluk junior yetenek gelişimini hızlandırır. Açık kaynak projeler ortak üretim sağlar. Kurumlar toplulukla çalışırken görev ve sorumluluk sınırlarını açık tutmalıdır.
Şirket–Topluluk İşbirliği Modelleri
Şirketler konuşmacı, mentor veya sponsor olabilir. Gerçek problem challenge programına dönüştürülebilir. Staj ve işe alım bağlantıları kurulabilir. Topluluk ticari satış departmanı gibi kullanılmamalıdır. Karşılıklı fayda ve şeffaflık temel olmalıdır.
Açık Kaynak Projelerde Ortak Geliştirme
Şirket genel amaçlı aracı toplulukla açık kaynak geliştirebilir. IP ve lisans önceden seçilmelidir. Contributor kuralları hazırlanmalıdır. Müşteri kodu projeye taşınmamalıdır. Ortak geliştirme yerel teknik kapasiteyi görünür hale getirir.
Hackathon ve Ortak Ar-Ge Çalışmaları
Hackathon gerçek kurum problemiyle düzenlenebilir. Proje çıktısının hakları başlangıçta açıklanmalıdır. Katılımcı verileri korunmalıdır. Başarılı prototip sonraki projeye geçebilir. Tek günlük etkinliğin devam mekanizması bulunmalıdır.
Üniversite, Teknokent ve Yazılım Toplulukları Arasında İşbirliği
Üniversite araştırma ve öğrenci kapasitesi sağlar. Teknokent girişim ve şirket bağlantısı sunabilir. Topluluk pratik üretim ve mentoring sağlar. Ortak projede kimin hangi rolü üstlendiği yazılmalıdır. Fikri mülkiyet ve finansman başlangıçta konuşulmalıdır.
Yerel Yeteneklerin Kurumsal Projelere Dahil Edilmesi
Junior geliştiriciler doğrudan kritik production sorumluluğuna verilmemelidir. Mentor altında gerçek görev alabilirler. Code review kaliteyi korur. Şirket yerel yetenek havuzu oluşturur. Başarılı katılımcılar kalıcı istihdama geçebilir.
Yazılımcı Olmak İçin Ne Yapmalı? Kurumsal Projeler İçin Ek Yetkinlikler
Kurumsal projede başarılı olmak yalnız kod yazmakla sınırlı değildir. Gereksinim, sözleşme, güvenlik ve dokümantasyon becerileri giderek önem kazanır. Geliştirici işin ticari etkisini anlayabildiğinde daha doğru teknik karar verebilir. Hukuk uzmanı olması gerekmez fakat fikri mülkiyet ve gizlilik konularını fark edebilmelidir. Bu beceriler seniorlaşma sürecinin önemli parçasıdır.
Kod Yazmanın Ötesinde Gereksinim Analizi
Developer görev tanımını sorgulayabilmelidir. Eksik edge case'leri fark etmelidir. Kullanıcı ihtiyacını anlamalıdır. Acceptance criteria net değilse soru sormalıdır. Bu beceri yeniden iş miktarını azaltır.
Teknik Şartname Okuma
Şartname projenin sınırlarını gösterir. Geliştirici ilgili maddeleri sprint öncesi inceleyebilir. Çelişki varsa proje yöneticisine bildirmelidir. Ölçülemeyen gereksinim için açıklama istemelidir. Bu alışkanlık kurumsal proje kalitesini yükseltir.
Fikri Mülkiyet ve Açık Kaynak Lisans Bilinci
Geliştirici her GitHub kodunu özgürce kopyalayamayacağını bilmelidir. Lisans dosyasını kontrol etmelidir. Müşteri kodunu public platforma taşımamalıdır. Kendi önceki kodunun hak durumunu bilmelidir. Şüpheli durumda hukuk veya proje sorumlusuna eskalasyon yapmalıdır.
Güvenlik ve KVKK Farkındalığı
Kişisel veri ile sıradan test verisini ayırabilmelidir. Secret'ları source control içine koymamalıdır. Production erişimini paylaşmamalıdır. Veri ihlali şüphesini hızlı bildirmelidir. Güvenlik davranışı profesyonel yazılım yetkinliğinin parçasıdır.
Dokümantasyon Yetkinliği
Developer yaptığı sistemi başkasının anlayabileceği biçimde anlatmalıdır. README ve API açıklaması temel araçlardır. Mimari kararların gerekçesi kaydedilebilir. Dokümantasyon devri kolaylaştırır. Yalnız kodun kendisine güvenmek bilgi kaybı yaratabilir.
Git ve Ekip Çalışması
Branch ve pull request profesyonel ekip işleyişinin parçasıdır. Code review iletişim becerisi gerektirir. Küçük ve anlaşılır commit tercih edilmelidir. Conflict çözümü öğrenilmelidir. Git yalnız backup aracı değildir.
Ticari Projelerde İletişim ve Sorumluluk Yönetimi
Developer gecikme riskini son gün söylememelidir. Sorunu erken bildirmek profesyonel davranıştır. Müşteriye doğrudan taahhüt verirken yetki sınırını bilmelidir. Teknik tahmin kesin garanti gibi sunulmamalıdır. Proje yöneticisiyle düzenli iletişim kurulmalıdır.
Yapay Zekâ Destekli Yazılım Geliştirme Sözleşmelerinde Yeni Riskler
AI destekli coding araçları geliştirici verimliliğini artırabilir. Ancak müşteri kodunun dış servise gönderilmesi, lisans belirsizliği ve hatalı kod üretimi gibi yeni riskler oluşturur. Kurumlar hangi araçların hangi veriyle kullanılabileceğini politika haline getirmelidir. AI çıktısı insan review'undan geçmelidir. Sözleşme yüksek gizlilik gerektiren projelerde AI kullanımı için ek şartlar içerebilir.
AI ile Üretilen Kodun Projeye Dahil Edilmesi
AI çıktısı doğrudan production'a alınmamalıdır. Developer kodu anlamalı ve test etmelidir. Güvenlik açığı bulunabilir. Lisans ve kaynak problemi ayrıca değerlendirilebilir. İnsan sorumluluğu devam eder.
Kod Kaynağı ve Lisans Kontrolü
AI aracının kullanım koşulları okunmalıdır. Üretilen kodun üçüncü taraf materyalle benzerliği risk oluşturabilir. Kritik bölümde provenance kontrolü yapılabilir. Açık kaynak scanner yardımcı olabilir. Ticari kullanım koşulları sağlayıcıya göre değişebilir.
Gizli Kodların AI Araçlarına Gönderilmesi
Müşteri source code'u public AI servisine kopyalanmamalıdır. Kurumsal sözleşmeli araçların data retention koşulları incelenmelidir. Secret ve credential hiçbir durumda prompt içinde olmamalıdır. DLP kontrolü kullanılabilir. Çalışan eğitimi kritik önemdedir.
Müşteri Verilerinin AI Sistemlerinde Kullanılması
Kişisel veri veya ticari sır AI servisine aktarılabilir. Bu durumda KVKK ve sözleşme hükümleri birlikte değerlendirilmelidir. Yurt dışı servis varsa veri aktarımı ayrıca gündeme gelebilir. Sentetik veri tercih edilebilir. Kullanım amacı müşteri talimatıyla uyumlu olmalıdır.
AI Araçları İçin Kurumsal Kullanım Politikası
Onaylı ve yasak araç listesi oluşturulabilir. Veri sınıfına göre kullanım kuralı belirlenebilir. Kod review zorunluluğu yazılabilir. Kullanıcı hesapları kurumsal yönetilebilir. Politika teknoloji değiştikçe güncellenmelidir.
AI Çıktılarında Güvenlik ve İnsan Kontrolü
AI doğru görünen ama hatalı kod üretebilir. Security review yapılmalıdır. Unit ve integration test uygulanmalıdır. Kritik business logic insan tarafından doğrulanmalıdır. AI geliştirme sorumluluğunu ortadan kaldırmaz.
Garanti, Bakım, Destek ve SLA
Garanti ile bakım hizmeti birbirine karıştırıldığında proje sonrası sürekli ücretsiz çalışma beklentisi doğabilir. Garanti teslim edilen kapsamın belirli kusurlarının giderilmesine odaklanabilir. Bakım ise versiyon, değişen altyapı ve yeni ihtiyaçları kapsayabilir. SLA destek hizmetinin müdahale hedeflerini tanımlar. Bu dört kavram sözleşmede ayrı ayrı açıklanmalıdır.
Garanti ile Bakım Hizmetinin Ayrılması
Garanti teslimde bulunması gereken fonksiyonun hatasını kapsayabilir. Yeni özellik garanti değildir. Üçüncü taraf API değişikliği bakım kapsamında olabilir. Süre ve kapsam yazılmalıdır. Garanti bittikten sonra destek modeli ayrıca başlamalıdır.
SLA Nedir?
SLA hizmet seviyesi hedeflerini tanımlar. Response ve resolution süreleri ayrı olabilir. Severity sınıfı kullanılabilir. Hizmet saatleri açık olmalıdır. SLA performansı düzenli raporlanabilir.
Müdahale ve Çözüm Süreleri
Müdahale süresi ekibin olayı incelemeye başlamasıdır. Çözüm süresi kalıcı düzeltmeyi ifade edebilir. Her hata için kesin çözüm süresi garanti etmek gerçekçi olmayabilir. Workaround ayrı hedef olabilir. Tanımlar sözleşmede açıklanmalıdır.
P1 Kritik
P1 temel sistem kesintisini ifade edebilir. Çok hızlı müdahale gerekir. 7/24 destek sözleşmesi varsa gece de işlem başlar. Workaround öncelikli olabilir. Sınıf kötüye kullanılmamalıdır.
P2 Yüksek
P2 önemli işlev kaybıdır. Sistem tamamen kapalı olmayabilir. Hızlı teknik inceleme yapılır. Çözüm planı müşteriye bildirilir. SLA P1'den daha uzun olabilir.
P3 Normal
P3 orta düzey hataları kapsar. Planlı çalışma saatinde ele alınabilir. Sprint içine alınması mümkün olabilir. İş sürekliliği genellikle devam eder. Etki tanımı açık olmalıdır.
P4 Düşük
P4 küçük görsel veya kullanım sorunlarını kapsayabilir. Acil müdahale gerekmez. Bakım backlog'una alınabilir. İyileştirme talepleri ayrıca ayrılmalıdır. Kullanıcı deneyimi yine takip edilmelidir.
Çalışma Saatleri ve Nöbet Hizmeti
Standart destek saatleri belirtilmelidir. 7/24 destek ayrı maliyet oluşturur. Nöbet kapasitesi ekip büyüklüğüne göre planlanmalıdır. Resmî tatil kapsamı yazılabilir. Kritik müşteriler için ayrı paket uygulanabilir.
Versiyon Güncellemeleri
Framework ve dependency update bakım işidir. Major upgrade ek proje gerektirebilir. Desteklenen versiyonlar belirtilmelidir. EOL teknolojiler için geçiş planı oluşturulmalıdır. Güvenlik güncellemeleri ayrıca önceliklendirilmelidir.
Üçüncü Taraf Sistemlerde Meydana Gelen Sorunlar
Ödeme veya SMS sağlayıcısı arıza yaşayabilir. Yazılım ekibi kendi kontrolü dışındaki kesintiyi doğrudan çözemeyebilir. Entegrasyon tarafında destek sağlayabilir. SLA hariç tutulan olaylar yazılabilir. Müşteri yine olay hakkında bilgilendirilmelidir.
Planlı Bakım Kesintileri
Bakım için kısa kesinti gerekebilir. Bildirim süresi belirlenmelidir. Düşük trafik zamanı tercih edilir. Acil güvenlik bakımı istisna olabilir. Kesinti sonrası kontrol yapılmalıdır.
Dokümantasyon ve Bilgi Transferi
Dokümantasyon kurumsal yazılımın bakım maliyetini doğrudan etkiler. Kodun yalnız ilk ekibin zihninde yaşaması ciddi bağımlılık yaratır. Mimari, API, database ve deployment bilgileri uygun seviyede yazılmalıdır. Her dokümanın kim tarafından güncelleneceği belirlenebilir. Proje sonu bilgi transferi yeni ekip veya müşteri operasyon ekibi için geçişi kolaylaştırır.
Teknik Mimari Dokümanı
Sistemin ana bileşenleri ve ilişkileri gösterilmelidir. Diagram kullanılabilir. Kritik teknoloji kararları açıklanabilir. Deployment topology eklenebilir. Doküman aşırı ayrıntıyla okunamaz hale getirilmemelidir.
API Dokümantasyonu
Endpoint, authentication ve payload bilgileri yazılmalıdır. OpenAPI gibi standartlar kullanılabilir. Hata kodları açıklanmalıdır. Örnek request ve response faydalıdır. Doküman sürümle birlikte güncellenmelidir.
Veritabanı ve Veri Modeli
Ana entity ve ilişkiler açıklanmalıdır. Hassas veri alanları işaretlenebilir. Migration yöntemi belirtilmelidir. Kritik index ve constraint'ler kaydedilebilir. Backup ve restore bilgisi ayrıca bulunmalıdır.
Deployment Dokümantasyonu
Build ve release adımları yazılmalıdır. Environment değişkenleri güvenli şekilde tanımlanmalıdır. Secret değerler dokümana açık yazılmamalıdır. Rollback yöntemi bulunmalıdır. Yeni ekip sistemi yeniden deploy edebilmelidir.
Kullanıcı Dokümantasyonu
Son kullanıcı temel işlemleri anlayabilmelidir. Ekran görüntüsü veya kısa video kullanılabilir. Rol bazlı kılavuz hazırlanabilir. Doküman ürünle birlikte güncellenmelidir. Karmaşık yönetim işlemleri ayrıca açıklanabilir.
Sistem Yönetim Dokümantasyonu
Admin işlemleri normal kullanıcıdan farklıdır. Kullanıcı açma ve yetki değiştirme adımları yazılmalıdır. Backup ve log erişimi açıklanabilir. Kritik operasyonlarda onay mekanizması bulunmalıdır. Sistem yöneticileri için ayrı rehber faydalıdır.
Proje Sonu Knowledge Transfer
Teknik ekip canlı oturum düzenleyebilir. Müşteri soru listesi hazırlayabilir. Oturum kaydı tarafların onayıyla alınabilir. Açık risk ve teknik borçlar paylaşılmalıdır. Knowledge transfer proje kapanış checklist'inin parçası olmalıdır.
Sözleşmenin Feshi ve Yazılım Projesinden Çıkış Planı
Sözleşmenin nasıl başlayacağını planlamak kadar nasıl biteceğini planlamak da önemlidir. Proje anlaşmazlık, ödeme sorunu veya şirket stratejisi nedeniyle erken sona erebilir. Bu durumda kaynak kod, veri, erişim ve dokümantasyonun ne olacağı önceden bilinmelidir. Exit plan vendor lock-in riskini azaltır. Fesih hükümleri yalnız ceza değil kontrollü devir süreci olarak tasarlanmalıdır.
Haklı Fesih Nedenleri
Ciddi sözleşme ihlalleri haklı fesih sebebi olarak düzenlenebilir. Cure period verilebilir. Hangi ihlalin düzeltilebilir olduğu belirtilmelidir. Güvenlik veya gizlilik ihlali daha hızlı sonuç doğurabilir. Somut hüküm hukuk uzmanıyla hazırlanmalıdır.
Ödeme İhlalleri
Uzun ödeme gecikmesi yüklenici için sürdürülemez olabilir. İşin askıya alınması ve fesih süreci yazılabilir. İhtar yöntemi belirlenmelidir. Devam eden hizmetlerin kapatılması veri kaybı yaratmamalıdır. Exit süreci güvenli yönetilmelidir.
Sürekli Teslim Gecikmeleri
Tek bir küçük gecikme fesih nedeni olmamalıdır. Sistematik ve önemli gecikmeler ayrı değerlendirilebilir. Müşteri kaynaklı gecikmeler hesaba katılmalıdır. Düzeltme planı istenebilir. Fesih son seçenek olarak uygulanabilir.
Gizlilik veya Güvenlik İhlalleri
Ciddi veri veya kaynak kod sızıntısı yüksek risk yaratır. Olay müdahale planı devreye girmelidir. İhlalin kasıt ve etkisi değerlendirilir. Sözleşme ağır ihlal için özel sonuç belirleyebilir. Veri koruma bildirim yükümlülükleri ayrıca uygulanır.
Fesih Sonrası Kaynak Kod Teslimi
Sözleşmede müşteriye kod teslimi öngörülmüşse güncel sürüm verilmelidir. Branch ve release durumu açıklanmalıdır. Üçüncü taraf dependency listesi eklenebilir. Background IP hakları korunmalıdır. Devam eden incomplete work ayrıca işaretlenmelidir.
Veri ve Dokümantasyon İadesi
Müşteri verileri belirlenen formatta iade edilmelidir. Dokümantasyon mevcut son haliyle teslim edilir. Gereksiz kopyalar silinir. Backup retention dikkate alınır. İade süreci kayıt altına alınabilir.
Hesap ve Erişim Yetkilerinin Devri
Domain, cloud ve repository erişimleri önemlidir. Hangi hesapların müşteriye ait olduğu başlangıçta belirlenmelidir. Ayrılan ekip üyelerinin yetkileri kaldırılır. Ortak hesap kullanımından kaçınılmalıdır. Credential rotation yapılabilir.
Geçiş Dönemi Desteği
Yeni ekibin sistemi anlaması zaman alabilir. Belirli saat veya hafta geçiş desteği sözleşmede yer alabilir. Bu hizmet ücretli veya dahil olabilir. Teknik sorular ve deployment desteği sağlanabilir. Süre açık biçimde sınırlandırılmalıdır.
Yeni Yazılım Ekibine Devir
Eski ve yeni ekip arasında profesyonel handover yapılmalıdır. Kişisel gerilim teknik bilgi paylaşımını etkilememelidir. Açık issue ve risk listesi teslim edilir. Architecture session yapılabilir. Müşteri de koordinasyona katılmalıdır.
Vendor Lock-in'den Çıkış
Veri export ve standart formatlar önemlidir. Proprietary servis bağımlılıkları listelenmelidir. Migration maliyeti başlangıçta tahmin edilebilir. Dokümantasyon başka sağlayıcıya geçişi kolaylaştırır. Tam bağımsızlık yerine yönetilebilir bağımlılık hedeflenebilir.
Sorumluluk, Tazminat ve Ticari Risklerin Paylaşılması
Yazılım sözleşmesinde sınırsız sorumluluk ekibi ekonomik olarak taşıyamayacağı risk altına sokabilir. Müşteri ise ciddi güvenlik veya fikri mülkiyet ihlalinde gerçek koruma ister. Bu nedenle sorumluluk sınırı, istisnalar ve tazminat hükümleri projenin risk profiline göre belirlenmelidir. Cezai şart ve dolaylı zarar hükümleri dikkatle tasarlanmalıdır. Bu bölüm somut proje ve taraflar için hukuk danışmanı tarafından hazırlanmalıdır.
Sorumluluk Sınırı
Toplam sorumluluk belirli bedelle sınırlandırılabilir. Bazı ağır ihlaller istisna tutulabilir. Limit proje değerine ve riske göre değişir. Sınırsız limit küçük sağlayıcı için sürdürülemez olabilir. Müşteri kritik riskler için ayrıca sigorta isteyebilir.
Dolaylı Zararlar
Kâr kaybı veya itibar zararı gibi talepler büyük tutarlara ulaşabilir. Sözleşmede dolaylı zararların kapsamı düzenlenebilir. Hukuki geçerlilik somut olayda değerlendirilmelidir. Tarafların gerçek risk beklentisi konuşulmalıdır. Belirsiz genel ifadelerden kaçınılmalıdır.
Fikri Mülkiyet İhlali Talepleri
Üçüncü taraf kodun izinsiz kullanılması talep doğurabilir. Yazılım sağlayıcısı kullandığı bileşenlerin lisansını yönetmelidir. Müşterinin zorunlu tuttuğu materyaller için farklı sorumluluk düzenlenebilir. İhlal halinde replacement veya license acquisition seçenekleri bulunabilir. Tazminat kapsamı açık yazılmalıdır.
Veri İhlali ve Güvenlik Zararları
Veri ihlali önemli mali ve itibar sonucu yaratabilir. Hangi tarafın hangi kontrolü yönettiği önemlidir. Ortak kusur senaryosu düşünülmelidir. Incident response masrafları sözleşmede ele alınabilir. Sigorta ve limitler ayrıca değerlendirilebilir.
Cezai Şart
Cezai şart belirli ihlale bağlanabilir. Her küçük gecikmeye yüksek ceza koymak proje ilişkisini bozabilir. Gecikmenin müşteri kaynaklı olup olmadığı dikkate alınmalıdır. Tavan limit belirlenebilir. Hükmün hukuki etkisi uzman tarafından incelenmelidir.
Mücbir Sebep
Kontrol dışı olaylar sözleşme performansını etkileyebilir. Hangi olayların kapsama girdiği açıklanabilir. Bildirim süresi belirlenmelidir. Etkiyi azaltma yükümlülüğü bulunabilir. Uzun süren olaylarda fesih hakkı düzenlenebilir.
Sigorta ve Mesleki Sorumluluk
Büyük kurumsal projeler sigorta şartı koyabilir. Siber risk veya mesleki sorumluluk poliçesi değerlendirilebilir. Teminat tutarı proje riskiyle uyumlu olmalıdır. Sigorta bütün sorumluluğu ortadan kaldırmaz. Poliçe istisnaları dikkatle okunmalıdır.
Uyuşmazlık Çözümü
Yazılım projesindeki her anlaşmazlık doğrudan mahkemeye gitmemelidir. Birçok sorun önce teknik seviyede çözülebilir. Teknik ekip anlaşamazsa yönetim seviyesinde müzakere yapılabilir. Arabuluculuk veya tahkim belirli projelerde sonraki aşama olabilir. Sözleşme uyuşmazlık merdivenini baştan tanımlayarak ilişkiyi gereksiz yere keskinleştirmeden çözüm imkânı sağlar.
Önce Teknik Eskalasyon Mekanizması
Acceptance veya bug sınıflandırması teknik anlaşmazlık olabilir. Technical Lead'ler görüşebilir. Ortak test yapılabilir. Gerekirse bağımsız uzman görüşü alınabilir. Ticari uyuşmazlığa dönmeden çözülmesi tercih edilir.
Yönetim Seviyesinde Müzakere
Teknik ekip çözemediğinde yöneticiler devreye girer. Ticari etki ve ilişki değerlendirilir. Yazılı çözüm planı hazırlanabilir. Süre belirlenmelidir. Müzakere sürerken kritik operasyonların devamı ayrıca planlanmalıdır.
Arabuluculuk
Arabuluculuk belirli ticari uyuşmazlıklarda kullanılabilir. Bazı dava türlerinde dava şartı niteliğinde arabuluculuk hükümleri gündeme gelebilir. Somut uyuşmazlık için güncel mevzuat kontrol edilmelidir. Teknik uyuşmazlıkta uzman destekli görüşme faydalı olabilir. Gizlilik iş ilişkileri açısından avantaj sağlayabilir.
Tahkim
Tahkim özellikle uluslararası ve yüksek bütçeli projelerde tercih edilebilir. Kurum, yer ve dil belirlenmelidir. Teknik uzmanlık gerektiren uyuşmazlıklarda avantaj sağlayabilir. Maliyeti küçük projelerde yüksek olabilir. Tahkim şartı hukuk uzmanıyla hazırlanmalıdır.
Yetkili Mahkeme
Sözleşme yetkili mahkemeyi belirleyebilir. Tarafların tacir olup olmadığı ve kanuni yetki kuralları dikkate alınmalıdır. Tek şehirde proje yürütülmesi her zaman yetkiyi otomatik belirlemez. Hüküm geçerliliği kontrol edilmelidir. Uluslararası taraflarda daha da önem kazanır.
Uygulanacak Hukuk
Uluslararası sözleşmede uygulanacak hukuk açıkça seçilebilir. Ancak zorunlu mevzuat hükümleri ayrıca gündeme gelebilir. IP ve veri koruma farklı ülkelerde farklı düzenlenebilir. Lisans koşulları global etki doğurabilir. Hukuk seçimi sadece boilerplate madde olarak görülmemelidir.
Uluslararası Yazılım Projelerinde Dil ve Yetki Sorunu
İki dilli sözleşmede hangi dilin öncelikli olduğu belirlenmelidir. Teknik kavramların çevirisi dikkatli yapılmalıdır. Yetkili temsilcilerin imza kapasitesi kontrol edilmelidir. Yurt dışı veri aktarımı ayrıca incelenmelidir. Fatura ve vergi boyutu mali uzmanla değerlendirilmelidir.
Kurumsal Yazılım Sözleşmesi İmzalanmadan Önce Kontrol Listesi
İmza öncesi kontrol listesi sözleşmenin teknik ve ticari açıklarını hızlı biçimde görünür hale getirir. Hukuk birimi yalnız genel maddeleri değil teknik ekleri de görmelidir. Teknik ekip de kaynak kod, veri ve acceptance hükümlerini okumalıdır. Satın alma, bilgi güvenliği ve proje yönetimi aynı versiyon üzerinden çalışmalıdır. Aşağıdaki sorulardan birkaçına bile net cevap verilemiyorsa sözleşme imza öncesinde yeniden gözden geçirilmelidir.
Kapsam Net mi?
Hangi modüllerin yapılacağı açık olmalıdır. Out-of-scope liste bulunmalıdır. Kullanıcı rolleri belirlenmelidir. Entegrasyon sayısı net olmalıdır. Belirsiz ifadeler açıklanmalıdır.
Teknik Şartname Sözleşmeye Ekli mi?
Şartname güncel sürüm olmalıdır. Sözleşmenin ayrılmaz parçası olduğu yazılmalıdır. Versiyon ve tarih bulunmalıdır. Çelişki halinde öncelik belirlenmelidir. Her iki taraf da aynı belgeyi kullanmalıdır.
Kabul Kriterleri Ölçülebilir mi?
Fonksiyonlar test edilebilir olmalıdır. UAT süresi yazılmalıdır. Bug ve feature ayrımı bulunmalıdır. Ret gerekçesi açık olmalıdır. Kabul ile ödeme ilişkisi anlaşılır olmalıdır.
Change Request Mekanizması Var mı?
Yeni talep nasıl açılacağı bilinmelidir. Etki analizini kimin yapacağı yazılmalıdır. Yetkili onay kişi belirlenmelidir. Fiyat yöntemi açıklanmalıdır. Takvim etkisi kayıt altına alınmalıdır.
Ödeme ve Hakediş Takvimi Açık mı?
Ödeme tarihleri net olmalıdır. Fatura koşulları yazılmalıdır. Milestone kabul şartı anlaşılmalıdır. Gecikme sonucu belirlenmelidir. Üçüncü taraf maliyetleri ayrıştırılmalıdır.
Kaynak Kod Hakları Belirlenmiş mi?
Mülkiyet veya lisans modeli yazılmalıdır. Background IP ayrı tutulmalıdır. Teslim yöntemi belirlenmelidir. Repository erişimi açıklanmalıdır. Fesih sonrası haklar unutulmamalıdır.
Açık Kaynak Kullanımı Düzenlenmiş mi?
İzin verilen kullanım modeli bulunmalıdır. Kritik lisanslar review edilebilir. Dependency inventory tutulmalıdır. SBOM gereksinimi varsa yazılmalıdır. Lisans uyumluluğu sorumluluğu belirlenmelidir.
Veri Güvenliği Sorumlulukları Net mi?
Veri rolleri belirlenmelidir. Erişim kontrolleri yazılmalıdır. Alt sağlayıcılar bilinmelidir. İhlal bildirimi süreci tanımlanmalıdır. Veri silme ve iade planı bulunmalıdır.
SLA ve Bakım Koşulları Yazılı mı?
Destek saatleri açıklanmalıdır. Severity sınıfları belirlenmelidir. Müdahale hedefleri gerçekçi olmalıdır. Garanti ile bakım ayrılmalıdır. Üçüncü taraf arızaları ele alınmalıdır.
Dokümantasyon Teslimleri Tanımlanmış mı?
Hangi dokümanların teslim edileceği listelenmelidir. API ve deployment bilgisi eklenebilir. Son teslim formatı belirlenmelidir. Güncellik sorumlusu bilinmelidir. Knowledge transfer planı bulunmalıdır.
Fesih ve Exit Plan Var mı?
Kaynak kod ve veri devir yöntemi yazılmalıdır. Hesap erişimleri belirlenmelidir. Geçiş desteği açıklanmalıdır. Açık hakedişler düzenlenmelidir. Vendor lock-in azaltılmalıdır.
Alt Yükleniciler Düzenlenmiş mi?
Alt yüklenici kullanım izni açıklanmalıdır. Veri erişimi sınırlandırılmalıdır. Gizlilik yükümlülükleri aktarılmalıdır. IP hak zinciri korunmalıdır. Yurt dışı alt sağlayıcılar ayrıca kontrol edilmelidir.
Sıkça Sorulan Sorular
Ticari yazılım sözleşmelerinde en sık tartışılan konular kaynak kod, kapsam, açık kaynak, teslim, ödeme ve geliştirici sorumluluğudur. Tek bir sözleşme şablonunun her proje için doğru sonucu vermesi beklenmemelidir. SaaS, özel geliştirme ve dedicated ekip modelleri farklı sözleşme mantığı taşır. Bu nedenle tarafların önce ticari modeli ve veri akışını anlaması gerekir. Aşağıdaki sorular sözleşme görüşmesine hazırlanırken iyi bir başlangıç kontrol listesi sağlayabilir.
Yazılımın kaynak kodu müşteriye ait olmak zorunda mı?
Hayır, her yazılım projesinde kaynak kodun müşteriye ait olması zorunlu bir sonuç değildir. SaaS modelinde kaynak kod sağlayıcının ticari varlığı olarak kalabilir. Özel geliştirmede taraflar daha geniş müşteri hakları kararlaştırabilir. Kaynak kod teslimi ile fikri mülkiyet devri birbirinden ayrılmalıdır. Sözleşme hangi kullanım ve devir haklarının verildiğini açıkça yazmalıdır.
Yazılım sözleşmesinde teknik şartname zorunlu mu?
Her özel hukuk yazılım sözleşmesinde “teknik şartname” adlı ayrı bir belgenin bulunması genel anlamda zorunlu değildir. Ancak karmaşık kurumsal projede teknik kapsamın yazılı olması güçlü biçimde önerilir. Gereksinimler sözleşme, SoW veya başka ekte bulunabilir. Önemli olan neyin teslim edileceğinin ispatlanabilir olmasıdır. Kamu alımlarında ayrıca özel ihale mevzuatı ve idari şartlar uygulanabilir.
Yazılım ekibi kapsam dışı bir işi reddedebilir mi?
Bu durum sözleşmedeki kapsam ve değişiklik hükümlerine göre değerlendirilir. Kapsam dışında olduğu açık olan yeni talep ek çalışma gerektirebilir. Ekip change request önerebilir. Müşteri ek süre ve ücretle talebi kabul edebilir. Somut uyuşmazlıkta sözleşmenin tamamı hukuken incelenmelidir.
Proje sırasında yeni özellik talep edilirse ne olur?
Yeni özellik change request sürecine alınabilir. Teknik etki, süre ve maliyet değerlendirilir. Müşteri başka özelliği erteleyerek bütçeyi koruyabilir. Ek bütçe de ayrılabilir. Karar yazılı kayda alınmalıdır.
Açık kaynak kod ticari yazılımda kullanılabilir mi?
Evet, birçok açık kaynak lisansı ticari kullanıma izin verir. Ancak lisans koşulları farklıdır. Copyright bildirimi, source disclosure veya başka yükümlülükler bulunabilir. Kullanılan lisans ve dağıtım yöntemi birlikte incelenmelidir. Ticari projede dependency envanteri tutulması faydalıdır.
En iyi programlama dili hangisidir?
Tek bir en iyi programlama dili yoktur. Projenin ihtiyacı, ekip yetkinliği ve bakım koşulları önemlidir. Performans ve lisans maliyeti ayrıca değerlendirilir. Kurumsal standartlar karar üzerinde etkili olabilir. Teknoloji seçimi somut problemden başlamalıdır.
Yazılım şirketi kendi geliştirdiği modülleri başka projelerde kullanabilir mi?
Sözleşme buna izin veriyorsa ve ilgili modüller şirketin background IP'siyse mümkün olabilir. Müşterinin özel kodu ve gizli bilgisi korunmalıdır. Genel amaçlı kütüphaneler ayrı tanımlanabilir. Müşteriye kullanım için gerekli lisans verilebilir. Hak sınırı başlangıçta yazılmalıdır.
Freelancer tarafından yazılan kodun hakları nasıl düzenlenir?
Freelancer sözleşmesinde fikri mülkiyet hükümleri açık biçimde yer almalıdır. Ana yüklenicinin müşteriye vereceği hakları edinmiş olması gerekir. Open source veya üçüncü taraf kod kullanımı düzenlenmelidir. Gizlilik ve veri güvenliği eklenmelidir. Hak zinciri özellikle yatırım veya müşteri denetiminde önem kazanır.
Yazılımcı olmak için hukuki sözleşme bilgisi gerekli mi?
Developer'ın hukukçu olması gerekmez. Ancak kapsam, IP, gizlilik ve açık kaynak lisansı gibi temel kavramları bilmesi faydalıdır. Senior seviyede sözleşmedeki teknik yükümlülükleri okuyabilmek önem kazanır. Şüpheli durumda uzman desteği alınmalıdır. Bu farkındalık hem geliştiriciyi hem işvereni korur.
Diyarbakır'daki en iyi yazılımcı veya yazılım ekibi nasıl seçilir?
Seçim yalnız programlama dili bilgisine göre yapılmamalıdır. Önce proje uyumu ve benzer iş deneyimi değerlendirilmelidir. Kod kalitesi, güvenlik, iletişim ve dokümantasyon yeteneği incelenmelidir. Referans ve gerçek proje örneği sorulabilir. Açık kaynak veya topluluk katkısı yardımcı sinyal olarak kullanılabilir.
Diyarbakır Yazılım Topluluğu şirketlerle nasıl işbirliği yapabilir?
Şirketler toplulukla mentoring, açık kaynak ve yetenek geliştirme programları yürütebilir. Gerçek problem workshop veya hackathon formatına dönüştürülebilir. Staj ve kariyer bağlantıları kurulabilir. Topluluğun mevcut yaklaşımı için https://www.diyarbakiryazilim.com.tr/about adresi incelenebilir. Proje çalışmaları hakkında https://www.diyarbakiryazilim.com.tr/projects sayfasından bilgi alınabilir.
Yazılım şirketi kapanırsa kaynak koda nasıl erişilir?
Müşteri iş sürekliliği için sözleşmede exit plan belirleyebilir. Kaynak kod escrow modeli değerlendirilebilir. Repository erişimi veya periyodik kod teslimi uygulanabilir. Lisans ve devam hakkı ayrıca yazılmalıdır. Sağlayıcının kapanması bütün hakları otomatik olarak müşteriye geçirmez.
AI araçlarıyla üretilen kod ticari projelerde kullanılabilir mi?
Kullanım aracın şartları ve projenin riskine göre değerlendirilmelidir. Kod insan review ve testinden geçmelidir. Gizli müşteri kodu onaysız dış araca aktarılmamalıdır. Lisans ve kaynak riski kontrol edilmelidir. Kurumsal AI policy oluşturmak bu süreci daha yönetilebilir hale getirir.
Ticari sözleşmelerde yazılım ekibinin hakları nasıl korunur?
Ticari sözleşmelerde yazılım ekibinin hakları açık kapsam, gerçekçi teslim takvimi, değişiklik yönetimi ve zamanında ödeme hükümleriyle korunabilir. Müşteri tarafından sağlanması gereken API, veri ve onayların da sözleşmede yer alması önemlidir. Kapsam dışı taleplerin ek süre ve ücret doğurabileceği açıkça yazılmalıdır. Fikri mülkiyet bölümünde ekibin veya şirketin önceden geliştirdiği kodlar ayrı korunmalıdır. Ticari Sözleşmelerde Yazılım Ekibi Hakları ve Kurumsal Şartnameler birlikte tasarlandığında teknik ekip ile müşteri arasındaki sorumluluk sınırı çok daha anlaşılır hale gelir.
Yazılım geliştirme sözleşmelerinde kaynak kod ve fikri mülkiyet hakları kime ait olur?
Kaynak kod ve fikri mülkiyet haklarının kime ait olacağı projenin iş modeline ve sözleşme hükümlerine göre değişir. Bilgisayar programları FSEK kapsamında korunur, ancak kaynak kod teslimi ile mali hakların devri aynı işlem değildir. Background IP, müşteriye özel kod ve üçüncü taraf bileşenler ayrı değerlendirilmelidir. SaaS ürününde sağlayıcı mülkiyeti korunabilirken özel geliştirmede daha geniş müşteri hakkı kararlaştırılabilir. Yazılım sözleşmelerinde fikri mülkiyet ve kaynak kod hakları bakımından somut devir ve lisans hükümlerinin hukuk uzmanı tarafından kontrol edilmesi faydalıdır. :contentReference[oaicite:13]{index=13}
Kurumsal yazılım şartnamesinde görev, teslimat ve kabul kriterleri nasıl belirlenmelidir?
Kurumsal şartname önce projenin iş problemini ve kapsamını açıklamalıdır. Ardından kullanıcı rolleri, fonksiyonlar, entegrasyonlar ve fonksiyonel olmayan gereksinimler yazılmalıdır. Teslimatların hangi ortamda ve hangi belgelerle yapılacağı belirtilmelidir. Acceptance criteria mümkün olduğunca ölçülebilir olmalıdır. Kurumsal yazılım projelerinde teknik şartname nasıl hazırlanır sorusunun temel yaklaşımı, teknik ekibin uygulayabileceği ve müşterinin test edebileceği ortak bir gereksinim dili oluşturmaktır.
Yazılım ekibiyle yapılan sözleşmelerde gizlilik, ücret, hakediş ve sorumluluk maddeleri nasıl düzenlenir?
Gizlilik hükümleri hangi bilginin korunduğunu ve paylaşım sınırlarını açıklamalıdır. Ücret ve hakediş modeli teslimat veya kapasite yapısıyla uyumlu olmalıdır. Geciken ödeme ve müşteri kaynaklı takvim gecikmelerinin sonucu ayrıca yazılmalıdır. Sorumluluk maddeleri projenin ekonomik değerine ve veri riskine göre dengelenmelidir. Yüksek bütçeli veya hassas veri içeren projelerde bu bölümün yazılım sözleşmesi ve bilişim hukuku konusunda deneyimli hukuk uzmanı tarafından hazırlanması güçlü risk kontrolü sağlar.
Yazılım sözleşmesi ve kurumsal teknik şartname hazırlayan hukuk danışmanı yakınımda nasıl bulunur?
Yazılım sözleşmesi ve bilişim hukuku danışmanlığı yakınımda araması yaparken yalnız genel ticaret hukuku deneyimine değil yazılım geliştirme, kaynak kod, açık kaynak, KVKK ve teknik şartname konularındaki deneyime de bakmak faydalıdır. Yazılım ekibi için sözleşme ve teknik şartname hazırlama danışmanlığı hukukçu ile teknik proje uzmanının birlikte çalışabildiği modelde daha verimli olur. Danışmana görüşme öncesinde mevcut teklif, kapsam, veri akış şeması ve kullanılan üçüncü taraf teknolojiler hazırlanabilir. Diyarbakır'daki teknoloji ekosistemi ve kurumsal proje yaklaşımı hakkında https://www.diyarbakiryazilim.com.tr/about ve https://www.diyarbakiryazilim.com.tr/projects adreslerinden bilgi alınabilir. Hukuki temsil veya bağlayıcı görüş ihtiyacında ilgili alanda yetkili avukatla doğrudan çalışılması gerekir.
Sonuç
Ticari Sözleşmelerde Yazılım Ekibi Hakları ve Kurumsal Şartnameler, teknik ekibi sınırlayan bürokratik belgeler olarak değil, yazılım projesinin ortak çalışma kuralları olarak görülmelidir. Açık kapsam, ölçülebilir kabul kriterleri, change request mekanizması, gerçekçi ödeme planı, kaynak kod hakları ve veri güvenliği hükümleri birlikte tasarlandığında proje tartışmalarının önemli bölümü daha ortaya çıkmadan yönetilebilir. Müşteri ne satın aldığını, ekip ne teslim edeceğini ve her iki taraf hangi riskleri üstlendiğini anlayabilmelidir. Özellikle kişisel veri, açık kaynak, AI araçları ve cloud hizmetlerinin yoğun kullanıldığı projelerde klasik iki sayfalık hizmet sözleşmesi çoğu zaman yeterli olmaz. Yazılım projeleri, kurumsal işbirlikleri ve yerel teknoloji ekosistemine ilişkin çalışmaları incelemek için https://www.diyarbakiryazilim.com.tr adresini ziyaret edebilirsiniz.
share: