Sistem Geliştirmedeki Sunucu ve Altyapı ile İlgili Hukuki Sorunlar Nelerdir?
Şirketlerde kullanılan IT sistemleri belirli bir anlamda, özellik belgeleri ve tasarım belgeleri oluşturarak ve bu içeriğe uygun kaynak kodlarını yazarak oluşturulan şeylerdir. Ancak, bu tür yazılım yönleri yalnızca bir yönüdür, sistemlerin gerçekten işlev görebilmesi için fiziksel bilgisayarlar, yani altyapı gereklidir. Bu makalede, sistem geliştirme projelerinde, altyapı alanıyla derinden bağlantılı olan hukuki sorunları açıklıyoruz.
IT Sistemlerinde Altyapı Nedir?
Sistem geliştirme işlemlerini yürüten teknisyenlere Sistem Mühendisi (SE) denir. Geliştirme projeleri genellikle özellik belgeleri ve tasarım belgeleri oluşturma gibi üst düzey süreçlerle başlar ve programın uygulanması ve test edilmesi ile devam eder. Ancak, geniş anlamda bir Sistem Mühendisi (SE), bu süreçlerde gereken tüm işleri üstlenen bir teknisyen olarak tanımlanabilir. Ancak, işletme veya iş yerine bağlı olarak, görevler ve alanlar daha da ayrıntılı bir şekilde ayrılabilir. Altyapı Mühendisi terimi, özellikle fiziksel bilgisayar işletim ortamını düzenleyen teknisyenleri ifade eder. İşletmelerde veya iş yerlerinde kullanılan IT sistemleri, bir anlamda, kaynak kodlarının birleşiminden oluşan soyut bir yapıdır. Ancak, bu sistemin asıl beklenen rolünü yerine getirebilmesi için, sunucular ve ağlar da dahil olmak üzere altyapı çevresinin düzenlenmesi gereklidir. Program ve kaynak kodunun uygulanması ve işletim ortamını destekleyen altyapı çevresinin düzenlenmesi, sistem geliştirme pratiğinin iki temel unsuru olarak kabul edilir. Bu bakış açısı, beklenmedik sorunların önlenmesi için de önemlidir.
Projenizi Alevlendirecek Altyapı Sorunlarının Somut Örnekleri
Sistem geliştirme projelerinde, sadece soyut programlara ve kaynak kodlarına odaklanıp altyapı bakımını göz ardı etmek gerçek bir olasılıktır. Ancak, bu iki unsurun uyumlu olmaması durumu, projenizin alevlenme riskini de beraberinde getirebilir.
Server Boyutlandırma Hatalarının Neden Olduğu Anlaşmazlıklar
Örneğin, programın uygulanması ve testlerin tamamlanmasının ardından, sonuçta sunucunun işlem kapasitesinin yetersiz olduğu ve sistemin pratik kullanıma dayanamayacağı ortaya çıkabilir. Bu durum, sistemin operasyonel aşamada ne kadar yük altında kalabileceğini tahmin ederek, sistemin ölçeğine uygun altyapı bakımını gerçekleştirmeyi ifade eden ‘boyutlandırma’ olarak adlandırılır. Server boyutlandırma hatalarının neden olduğu sorunlar, geçmişte gerçekten yaşanmıştır. (Sonuçta uzlaşma ile çözülen, ancak ünlü olan bir örnek için, bu durumu referans alabilirsiniz.) Ayrıca, taraflar arasındaki anlaşmazlıkların ‘uzlaşma’ adı verilen çözüm yöntemi hakkında ayrıntılı bir açıklama aşağıdaki makalede bulunabilir.
https://monolith.law/corporate/disputes-related-to-system-development[ja]
Anlaşmazlığın uzlaşma ile sonuçlandığı durumlar, basitçe ifade etmek gerekirse, tarafların ‘görüşmeleri’ sonucunda anlaşmazlığın çözüldüğü anlamına gelir. Dolayısıyla, bir mahkeme tarafından karar verildiği durumdan farklı olarak, bu uzlaşma içeriği genellikle bireysel niteliktedir ve bir yargı örneği olarak birikmez.
Olayın Özü, Belirsiz Özelliklere Karşı Tedarikçinin Sorumluluk Alanıdır
Yine de, bu tür anlaşmazlıkların özü, ‘açıkça belirtilmeyen özellikler için tedarikçinin ne kadar sorumluluk taşıması gerektiği’ noktasında olabilir. Bu noktayı göz önünde bulundurarak, aşağıdaki makaledeki içerikten birçok ipucu elde edebilirsiniz.
https://monolith.law/corporate/system-development-specs-function[ja]
Yukarıdaki makalede, özellik belgesinde belirtilmeyen öğeler arasında, tedarikçinin ne kadar takdir yetkisi kullanıp uygulama yükümlülüğü taşıması gerektiği açıklanmaktadır. Burada, gereksinim tanımlama belgeleri ve temel tasarım belgeleri gibi ‘ekran tarafı’ öğeleri (yani ‘ön uç’ alanı) ve ‘mantık tarafı’ (yani ‘arka uç’, ‘veritabanı’ alanı) veri transferi gibi öğeler arasında büyük bir fark olduğu açıklanmaktadır. Yani, genellikle sistem geliştirme projelerinde uzman bilgiye sahip olmayan sipariş verenler/kullanıcılar tarafından kolayca kontrol edilebilen ‘ekran tarafı’ özellikler, sipariş verenler/kullanıcılar tarafından daha kolay suçlanabilir. Öte yandan, ‘mantık tarafı’ sorunları genellikle sipariş alıcıları/tedarikçiler tarafından suçlanabilir. Bu noktaları göz önünde bulundurarak, sunucu boyutlandırma sorunları genellikle teknik uzman olmayanlar tarafından sorunun yerini belirlemek zor olduğu için, sipariş alıcıları/tedarikçiler tarafından suçlanabilir. Dolayısıyla, bu konuda tam anlamıyla bir dava ile karşı karşıya kalırsanız, sipariş alıcıları/tedarikçilerin sorumluluğunu azaltmak için aktif bir durum olmadıkça, genellikle sipariş alıcıları/tedarikçiler aleyhine bir karar verilmesi beklenir.
Server Boyutlandırma Hatalarını Önlemek İçin Alınacak Önlemler
Önceden belirtildiği gibi, bu tür sorunları önlemek için, program uygulaması, kaynak kodu yazımı gibi işler ve altyapı çevresindeki çevre düzenlemesi eş zamanlı olarak yapılmalıdır. Somut olarak düşünülebilecek önlemler şunlardır:
Server Boyutlandırma Sorumluluğunu Sözleşmede Belirginleştirmek
Bu tür durumlarla sınırlı olmamakla birlikte, sistem geliştirme projeleriyle ilgili çoğu anlaşmazlık, sistem geliştirme uzmanı olan tedarikçi ve şirket içi durumları bilen kullanıcılar arasındaki rol dağılımının belirsiz olduğu durumlardan kaynaklanmaktadır. Her iki tarafın yakın işbirliği, projenin sorunsuz ilerlemesi için gereklidir, ancak bu sırada rol dağılımı ve sorumluluk alanlarını mümkün olduğunca belirginleştirmek önemlidir.
Geliştirme Gereksinimlerini Somutlaştırmak ve Değişiklik Yönetimini Tamamen Yürütmek
Ayrıca, başlangıçta gerçekleştirilmesi gereken işlevsel gereksinimler belirsiz olduğunda, bu tür anlaşmazlıkların karmaşıklaşma riski artar. Bu, başlangıç gereksinim tanımlama aşamasında özelliklerin belirginleştirilmesi ve projenin ortasında değişiklik yönetimi olmak üzere iki yönü vardır. Projenin ortasında özellik değişikliklerine nasıl yanıt verilmesi gerektiği konusunda aşağıdaki makalede ayrıntılı bir açıklama yapılmıştır.
https://monolith.law/corporate/howto-manage-change-in-system-development[ja]
Projenin Doğasına Uygun Bir Geliştirme Modeli Seçmek
Ayrıca, yukarıdaki iki önlemle de yakından ilgili olan bir nokta, sistem geliştirme projelerinin doğası ve ölçeğine bağlı olarak uygun bir geliştirme modeli seçilmesi gerektiğidir. Genel olarak, server boyutlandırmanın önemli olabileceği belirli bir ölçekteki sistemlerin geliştirilmesi söz konusu olduğunda, özelliklerin ve sorumluluk alanlarının belirginleştirilmesi için uygun olan Waterfall modelinin kullanılmasının avantajları artar. Projenin doğasını dikkate alarak uygun bir geliştirme modeli seçme konusunda aşağıdaki makalede ayrıntılı bir açıklama yapılmıştır.
https://monolith.law/corporate/legal-merits-and-demerits-of-development-model[ja]
Özet
Sistem geliştirme projelerinin sorunsuz ilerlemesi için, altyapıyla ilgili çevresel düzenlemelerden kaynaklanan sorunlar, genellikle gözden kaçan noktalardır. Altyapı sorunlarına dikkat etmek, teknoloji uzmanları dışında kimsenin yükünü hafifletmez. Ancak, bu tür sorunların önlenmesi, “şartnamenin belirlenmesi / değişiklik yönetiminin uygulanması”, “rol / sorumluluk alanlarının belirlenmesi”, “proje ölçeği ve bütçesine uygun geliştirme modelinin seçilmesi” gibi temel önlemlerin bir uzantısı olarak görülebilir. İş hukuku ile ilgilenen kişilerin öncelikle anlaması gereken nokta, altyapı sorunlarına karşı önleyici hukukun temellerinin yeterince uygulanabilir olduğudur. Ayrıca, bir IT teknisyeni iseniz, altyapı sorunlarının projenin ciddi bir risk oluşturabileceğini anlamak ve işleri sorunsuz bir şekilde yönetmek önemlidir.
Category: IT
Tag: ITSystem Development