Prever contractualmente todo lo que puede pasar en un proyecto de desarrollo de software es muy complejo, acentuándose en proyectos de envergadura y/o de larga duración.
Precisamente ese es uno de los problemas que provoca desgaste en las relaciones cliente/proveedor salvo que las dos partes entiendan que por encima de todo está la colaboración entre las partes.
Sin esa colaboración el proyecto irá mal para ambos, ya que pequeñas victorias relacionadas con aspectos económicos después se terminan difuminando porque si los resultados finales no son los esperados, todos van a perder. Es cierto que es difícil que todos pierdan por igual, pero creo que el objetivo de un proyecto o de una colaboración entre entidades y equipos de trabajo no debe ser tratar de perder menos que el otro.
El objetivo debe ser ganar y ese objetivo se consigue si se establece un objetivo común entre todos los participantes en el proyecto. Es cierto que después habrá otra multitud de intereses tanto a nivel de organizaciones como de las personas que participan, pero si se consigue establecer la cultura de que si el proyecto sale bien lo más probable es que la mayoría de esos otros objetivos también se conseguirán de manera transitiva, las posibilidades de colaboración entre todos se incrementarán.
Y no solo se trata de ganar, se trata también de trabajar en un ambiente más adecuado, con menos desgaste, esto redundará en la calidad del trabajo de las personas y en consecuencia, del proyecto.