Kurumsal yazılım projelerinde yaşanan anlaşmazlıkların büyük bölümü, işin teknik kalitesinden değil, sözleşmede net yazılmamış maddelerden kaynaklanıyor. Hukuk ve teknoloji danışmanları, bir yazılımsözleşmesinde en az dört başlığın açıkça yer alması gerektiğini vurguluyor.
Birincisi, kabul kriterleridir. Teslim edilen yazılımın "tamamlanmış" sayılması için hangi testlerden geçmesi gerektiği baştan tanımlanmazsa, teslim aşamasında taraflar arasında "bitti mi bitmedi mi" tartışması çıkabiliyor.
İkincisi, fikri mülkiyet ve kaynak kod teslimidir; geliştirilen yazılımın kaynak kodunun kime ait olacağı ve proje bitiminde nasıl teslim edileceği net yazılmalı.
Üçüncü kritik madde ödeme planıdır. Toplu ödeme yerine, proje aşamalarına bağlı kısmi ödeme planı hem işletmeyi hem de geliştirici ekibi koruyor; her aşama teslim edildikçe bir sonraki ödeme yapılıyor. Bu yapı, projenin yarıda kalması riskini iki taraf için de azaltıyor.
Dördüncü madde, teslim sonrası bakım ve destek yükümlülüğüdür. Bir yazılım teslim edildikten sonra ortaya çıkan hataların düzeltilmesi mi, yoksa yeni özellik talepleri mi bu kapsama giriyor, bunun ayrımı sözleşmede yapılmazsa basit bir hata düzeltme talebi bile ek ücretli bir tartışma konusu haline gelebiliyor.
Uzmanlar, proje başlamadan önce bu dört maddenin yazılı hale getirilmesini ve teklif alınan yazılım firmaları arasında bu maddelerin karşılaştırılmasını öneriyor; zira fiyatı düşük görünen bir teklif, bu maddeler eksikse sonradan çok daha maliyetli hale gelebiliyor.