Durante finales de los 90s, hasta principios del 2000, no era raro encontrar empresas mas o menos serias que creían que podían agarrar becarios o similares para hacer un programa en partes sin pagar su valor completo, metiendo en medio a uno que otro desarrollador con experiencia, pensando que las personas son intercambiables, y que el proyecto empezado por un profesional podía ser terminado por otro. Otros cuantos tenían la idea de no pagar, en realidad.

Por lo general se disfrazaba por el cliente como “terminar el proyecto” al que solo le faltabn uno o dos “detallitos”, o que “haz esto y luego vemos”. Nunca hice ninguna de las dos cosas. Siempre he manejado proyectos con especificaciones funcionales , o entregables definidos para evaluar de manera objetiva el cumplimento, y en alguna etapa me tocaron clientes que se trataron de pasar de listos. Lo común era no pagar al 100% y dar largas. Aunque este problema se evitaba con contratos mas o menos claros, de confidencialidad o de consultoría de sistemas por proyecto, esta es la solución que me funcionó, aunque solamente la uso en sistemas por proyecto.

“Para evitar mala fe de las partes, y por cuestiones de calidad en la documentación de los entregables, ambas partes acuerdan que el software se considera software de prueba hasta haber recibido el 80% del importe convenido, y el código fuente, en caso de aplicar su entrega y/o propiedad, solamente podrá entregarse en versiones finales y no de prueba, mediante el medio (cd/diskette) personalizado con la imagen corporativa del consultor, por lo que la transmisión de propiedad si aplica será al haberse cobrado efectivamente un mínimo del 95% del importe convenido, previa firma de recibido”

Desde el 2004 a la fecha solamente me he encontrado una empresa lo suficientemente madura para no necesitar usar la cláusula, que cuando contrató a una de mis PYME, tenía ya su contrato DURISIMO de confidencialidad. Sin embargo ese convenio era mas BLANDO que el asumido voluntariamente por mi desde el 98. Llamemos X a la que me contrató y W a la propia. Una de las cláusulas de ese convenio era no relativa a confidencialidad, y era mas o menos, “La empresa X es dueña del software, creado por la empresa W, una vez se haya hecho el pago al 100% del estimado original, o una vez que el sistema está en operación y por ninguna causa la empresa X retrasará pagos a empresa W si se está cumpliendo el plan previsto en el anexo A”.

Esa cláusula me evitó tener que poner la cláusula, aunque como dije solo la uso en sistemas por proyecto. Normalmente sirve para evitar mala fe, sumado a un temporizador que deshabilita las versiones prevas caducadas. Lo importante es lo subrayado.

“Para evitar mala fe de las partes, y por cuestiones de calidad en la documentación de los entregables, ambas partes acuerdan que el software se considera software de prueba hasta haber recibido el 80% del importe convenido, y el código fuente, en caso de aplicar su entrega y/o propiedad, solamente podrá entregarse en versiones finales y no de prueba, mediante el medio (cd/diskette) personalizado con la imagen corporativa del consultor, por lo que la transmisión de propiedad si aplica será al haberse cobrado efectivamente un mínimo del 95% del importe convenido, previa firma de recibido”

El truco consiste en dos cosas :
a ) Manejar un total de 4 pagos, de 25 a 30% . Esto hace que la única forma de haber pagado el 80% sea habiendo pagado el 100%.
b ) El código se entrega igual al estar pagado al 100%, con firma de recibido.

Que algo falló ? Se considera versión de prueba. Que no te pagaron completo por desorden, quiebra o mala fe del que encargó el proyecto ? El sistema es de prueba y no tienes porqué darle mantenimiento ni entregar código.

Una práctica común (60% de las veces) era pagarte al 75% de un proyecto y luego darte largas. Ok, no hay problema para uno. Pasabas a otra cosa y no tratabas de cobrar lo faltante. Era tu código y es juego limpio.

Además de los problemas del típico “el que puede firmar no ha venido” y del “contratamos a alguien mas barato” me tocó un ejemplo de juego sucio.

En la época de windows 3.11, Una empresa me dió un cheque que yo no sabía estaba bloqueado (no liberado al banco) por el 25% restante. En la ventanilla me dijeron que el cheque era real, pero no estaba autorizado. Pedí que me sellaran el cheque como rechazado. Cuando regresé (dejando el cheque en mi casa) me dijeron los de la empresa “Te chamaqueamos ” (algo así como, te fregaste).

Mi respuesta : El contrato menciona del medio personalizado, así que me han pagado 75% del software. Al no haber recibido el pago final, el software es de mi propiedad. (Nunca lo actualicé para XP ni para Windows 2000)

A partir de este incidente trato en los encargos por proyecto que los dos últimos pagos sean al 75% y 95% (manejando el 5% por capacitación ).

No es mala idea meter con las propias palabras en el convenio por proyecto, que cada versión de prueba tiene vigencia durante esa etapa del proyecto, y que puede ser reemplazada por versiones mejoradas o finales.

En lo personal manejo un CURL por palabra viva para deshabilitar proyectos que no pagan mas allá del 75% o pasado el tiempo razonable.