Contratos 101 para empresas de software y desarrolladores: Los detalles importan
En las últimas semanas, he recibido varias consultas relacionadas con conflictos contractuales sobre desarrollo de software e implantación de soluciones informáticas y de redes. Varios de estos quebraderos de cabeza podrían haberse evitado desde el principio con un acuerdo contractual cuidadosamente diseñado. Estos problemas me han llevado a escribir este artículo para que las empresas de software y los desarrolladores reflexionen sobre los detalles de un acuerdo con un cliente o subcontratista.
En la práctica, los términos del acuerdo no son realmente importantes hasta que lo son. Es decir, nadie va a señalar su contrato y decir: "Oye, recuerda, esto es lo que decía nuestro contrato al respecto", hasta que surja un problema. Pero cuando surge ese problema, es bueno tener las bases cubiertas. En un mundo perfecto, todos los proyectos empresariales se completarían sin contratiempos y saldrían según lo previsto. Sin embargo, el empresario reflexivo sería ingenuo si procediera con este planteamiento.
Hace poco me preguntaron por una situación de pesadilla en la que una pequeña empresa contrató a dos desarrolladores para completar un proyecto específico. La empresa no pensó mucho en su acuerdo contractual de antemano y cuando los entregables no estuvieron a la altura ni se completaron a tiempo, se encontraron en una posición muy difícil para tener cualquier tipo de recurso legal para el problema particular que estaban teniendo.
Los detalles de cada proyecto deben estudiarse detenidamente y redactarse en un acuerdo eficaz ANTES de iniciar el trabajo. Esto puede evitarnos muchos dolores de cabeza y gastos innecesarios. Digamos, por ejemplo, que el producto final de un proyecto determinado es un programa escrito en Python y optimizado para un software de base de datos específico. La sección de "entregables" del contrato debería detallar los pormenores y quizás también alguna métrica para medir el rendimiento.
Otra consideración a tener en cuenta es el plazo de entrega. Se trata de una cuestión muy específica de cada proyecto, que depende de su naturaleza y alcance. Por ejemplo, si el proyecto es de gran envergadura y cabe esperar que dure seis meses o un año, quizá sería razonable prever un periodo de tiempo razonable para que los ingenieros de la empresa cliente inspeccionen y prueben el código fuente cada dos semanas o cada mes, mientras que en un proyecto de menor envergadura esto sería innecesario.
Otros factores a tener en cuenta son el plazo/método de pago, la cesión de derechos de propiedad intelectual en virtud del acuerdo, las cláusulas de selección de foro en caso de litigio, los acuerdos de arbitraje, y la lista continúa. Un acuerdo eficaz debe incluir todos los detalles posibles sobre los problemas previstos e imprevistos que puedan surgir a lo largo del acuerdo.
Es fundamental contar con un abogado que entienda tanto las necesidades de su empresa como el proceso técnico de desarrollo de software para ser más eficaz en la redacción de un acuerdo que proteja mejor sus intereses.