NAN - Fotolia

Lo básico Póngase al día con nuestro contenido introductorio.

Aprenda los conceptos básicos de los acuerdos con desarrolladores independientes

Los acuerdos de trabajo de desarrollo protegen tanto al cliente como al profesional independiente, y aseguran que el código cumpla con las expectativas. Cada parte debe prestar atención a estas cláusulas contractuales y tecnicismos.

A medida que los proyectos de software atascan la tubería, cada uno vital para las operaciones comerciales o la generación de ingresos, los equipos de desarrollo se estiran al límite y pueden carecer de habilidades o talentos esenciales. Los proyectos se retrasan y surgen problemas de calidad, lo que lleva a las organizaciones a aliviar los problemas con desarrolladores independientes, o freelancers.

Los desarrolladores independientes no son empleados, y la relación entre una empresa y un trabajador por contrato puede ser compleja. Las empresas suelen enumerar los detalles de los acuerdos de desarrolladores independientes en un contrato de trabajo escrito. Ya sea que se trate de un desarrollador de software que busca una asignación, o un gerente que busca contratar a un contratista, familiarícense con los elementos esenciales de un contrato de desarrollador independiente y sus advertencias comunes.

Conceptos básicos del acuerdo

Si bien la palabrería y los términos de cualquier acuerdo de trabajo varían, los objetivos son establecer expectativas del trabajo; definir las responsabilidades de cada lado; establecer las interacciones entre cada parte; y esbozar temas importantes, como horarios, entregas y pagos.

Los acuerdos de trabajo protegen los intereses de ambas partes. Las estipulaciones en ellos pueden evitar que un compromiso avance, o pueden ayudar a cada parte a saber cuándo el trabajo se realiza de manera satisfactoria.

Definición del trabajo

La definición, que contiene las partes más importantes de un contrato de desarrollador independiente, describe el trabajo o los servicios anticipados. La definición de trabajo de un desarrollador de software puede incluir:

  • una descripción del proyecto o tarea que detalla lo que hará el software;
  • una lista de los lenguajes de desarrollo que se utilizarán; y
  • cualquier prueba y compatibilidades esperadas, como operar a través de Firefox u otros navegadores web.

Cuando el proyecto es extenso o complejo, la definición en los acuerdos de desarrollador freelance puede hacer referencia a documentos relacionados que detallan el proyecto. Cuando la empresa proporciona detalles, es una declaración de trabajo o una especificación de requisitos de software. Cuando un desarrollador hace un documento explicativo para el trabajo, el documento a menudo se denomina propuesta de proyecto.

Los resultados detallados y tangibles son vitales en una definición. Cuando la definición es demasiado amplia, las dos partes pueden tener dificultades para articularse cuando el proyecto está realmente terminado. Considere incluir fuentes de datos, objetivos de prueba, métricas u otros detalles para mayor claridad. Si un proyecto creara un software de reconocimiento de imagen, la empresa podría proporcionar los datos de imagen utilizados para desarrollar y probar el software. Del mismo modo, el software que debe procesar una cierta cantidad de datos de imagen a lo largo del tiempo puede incluir objetivos estipulados, como imágenes por segundo o megabytes de datos de imagen por segundo, en los detalles del contrato.

Los desarrolladores de contratos y los gerentes de negocios también pueden estipular tareas que están fuera de los límites del trabajo, como, por ejemplo, si el software no está diseñado para admitir un navegador web en particular, o si el desarrollador no necesita proporcionar ciertas herramientas o datos. Estas exclusiones explícitas aceleran las pruebas y ayudan a evitar confusiones.

Finalmente, la definición de trabajo también debe incluir una cláusula de cambio para abordar la fluencia del alcance. Los requisitos y objetivos pueden cambiar a mitad del proyecto, y cada cambio agrega trabajo para el desarrollador independiente. Sin embargo, el pago a menudo es fijo, por lo que el trabajo adicional significa menos ganancias para el contratista. Una cláusula de cambio ayuda a garantizar que el desarrollador sea compensado de manera justa y reciba suficiente tiempo adicional para el trabajo incurrido a medida que el empleador solicita cambios.

Informes de trabajo

Si bien un desarrollador freelance podría operar en las instalaciones de un cliente, comúnmente trabajan fuera del sitio. Como resultado, la comunicación regular y los informes de progreso son elementos importantes de sus contratos.

Con los informes de progreso, un cliente puede requerir que el desarrollador independiente envíe actualizaciones escritas periódicas que describan el estado del proyecto, los problemas encontrados, los problemas anteriores resueltos y las próximas tareas u objetivos. Los informes también pueden incluir entregas regulares, como la compilación actual del software, para su examen y evaluación. Si el proyecto involucra múltiples componentes, los trabajadores independientes pueden completar los componentes individuales que conforman los entregables, que se envían por plazos predeterminados a lo largo de la duración del proyecto.

La presentación de informes por escrito parece un trabajo pesado, pero garantiza la responsabilidad del desarrollador y le brinda al cliente la oportunidad de proporcionar comentarios o aprobación. Esta correspondencia ayuda a mantener el proyecto encaminado y aborda cualquier problema antes de que se descarrile el cronograma.

¿Con qué frecuencia necesita informes? Típicamente, una vez a la semana, pero la frecuencia puede variar según el tamaño y el alcance del proyecto. Logre un equilibrio razonable para la presentación de informes entre el control y la microgestión.

Los informes también deben aclarar quién será el punto de contacto entre el contratista y el cliente, una persona siempre disponible. Esa persona es especialmente importante si la empresa de desarrollo independiente emplea numerosos desarrolladores. Toda comunicación entre un cliente y un contratista debe fluir a través de esta conexión para eliminar la posibilidad de señales conflictivas del cliente, en las cuales varios interesados ​​comunican diferentes solicitudes, posiblemente contradictorias. El gerente de proyecto del cliente puede proporcionar la única fuente de verdad para las necesidades del proyecto.

Tecnicismos en los convenios de trabajo

Un contrato de desarrollador independiente incluye habitualmente numerosos tecnicismos. Estas cláusulas no están directamente relacionadas con el proyecto en cuestión, pero aún pueden afectar seriamente el compromiso.

La definición del estado de contratista independiente es una cláusula simple pero importante, ya que diferencia a un profesional independiente de un empleado con gastos generales y beneficios de impuestos sobre la nómina. Esta cláusula permite a un desarrollador independiente hacer deducciones comerciales relacionadas con el proyecto y, de lo contrario, funcionar como una empresa independiente.

Los acuerdos de desarrolladores independientes deben detallar claramente las condiciones de pago, ya sea que el trabajo se base en un salario por hora, un monto fijo único o un retenedor regular. Describan todos los elementos involucrados en el pago del contratista. Cuando un proyecto tiene un precio como un monto fijo único, por ejemplo, la organización puede emitir un pago inicial, luego proporcionar pagos adicionales en los principales puntos de referencia del proyecto, y tal vez un pago final al concluir. Si el proyecto tiene un precio como un costo por hora, los términos deben describir la frecuencia de la factura y el tiempo de pago. Los términos adicionales pueden incluir tarifas de cierre si el proyecto se termina, intereses por pagos atrasados, tarifas bancarias y tarifas de conversión de divisas.

Además, los proyectos de software crean propiedad intelectual y requieren acuerdos de confidencialidad. Aquí hay algunas reglas generales a tener en cuenta:

  • cualquier parte que proporcione propiedad intelectual conserva la propiedad de la misma;
  • cualquier parte que recibe propiedad intelectual, compartida con ellos como parte del trabajo que se realiza, la protege, no la revela; y
  • cualquier propiedad intelectual que un desarrollador cree para un cliente se transfiere a ese cliente tras el pago completo de la factura final, a menos que se acuerde lo contrario.

Es complicado trabajar con propiedad intelectual, ya que cualquier desarrollador independiente inevitablemente aprende cosas en el curso del trabajo que realiza. Es prácticamente imposible evitar aplicar ese conocimiento aprendido al trabajo futuro.

Por lo tanto, los trabajadores independientes deben asegurarse de que haya excepciones a los términos de propiedad intelectual que diferencien la información confidencial de factores como el conocimiento previo, el conocimiento público y el conocimiento desarrollado de forma independiente. Algunos acuerdos de desarrolladores freelance intentan insertar cláusulas agresivas de no competencia que impiden a los contratistas hacer un trabajo similar para otros clientes, a veces durante varios años. Los trabajadores por contrato a menudo rechazan tales cláusulas o se niegan a tomar el trabajo que las requiere.

El último tecnicismo implica la terminación del contrato. Los contratos pueden expirar cuando el proyecto y el pago están completos, o un acuerdo basado en retenedores puede expirar después de 12 meses, pero puede renegociarse y renovarse. Sin embargo, la terminación también puede ocurrir por falta de pago o incumplimiento de los términos del contrato, como el incumplimiento de los plazos de entrega. Si bien muchos términos de un acuerdo de trabajo son específicos, los términos de terminación de un acuerdo de trabajo son a menudo amplios y bilaterales, lo que permite que ambas partes salgan del contrato con relativa facilidad.

Legalidades a tener en cuenta

Un contrato de desarrollador independiente debe incluir un conjunto de legalidades, generalmente responsabilidad, arbitraje, divisibilidad y leyes vigentes.

Las cláusulas de responsabilidad abordan los reclamos legales y las exposiciones que pueden surgir como resultado de la creación y el uso del software. Los desarrolladores freelance a menudo incluyen cláusulas que los protegen de los daños o pérdidas que resultan de fallas de software, mal funcionamiento, errores y omisiones. Además, las cláusulas de responsabilidad deben proteger al profesional independiente de las infracciones de cualquier propiedad intelectual por la que el cliente no tenga los derechos de uso, como un algoritmo de terceros que la compañía no otorgó. Por el contrario, las cláusulas de responsabilidad protegen al cliente contra daños y pérdidas incurridos por el profesional independiente, al limitar las obligaciones del cliente a las tarifas pagaderas en virtud del contrato.

Un contrato debe estipular lo que sucede cuando las cosas van mal, lo que conllevan las legalidades del arbitraje, la reparación, la separabilidad y la ley aplicable. La divisibilidad significa que, si alguna cláusula del contrato del desarrollador independiente es ilegal o inaplicable, el resto del contrato sigue siendo válido. El contrato debe detallar el método para la resolución de disputas. A menudo, el arbitraje es la forma preferida de abordar y resolver disputas contractuales. Los organismos de arbitraje pueden emitir decisiones vinculantes, generalmente eliminando los litigios costosos. Si el arbitraje no entrega decisiones vinculantes, las partes aún pueden optar por iniciar un litigio. Un contrato debe estipular la ubicación o el comité de arbitraje para abordar las disputas.

Un contrato puede involucrar a partes en jurisdicciones legales, incluidos diferentes estados, provincias o países. Las leyes varían según las jurisdicciones, por lo que la cláusula de la ley aplicable simplemente identifica la jurisdicción donde las leyes rigen el contrato.

Negociar por adelantado

Los contratos pueden incluir términos y condiciones adicionales, dependiendo de la naturaleza del proyecto, el alcance del rol del desarrollador y la empresa que busca un contratista. Lean el acuerdo de trabajo cuidadosamente para comprender las implicaciones de cada condición.

No olviden que todos los acuerdos contractuales son negociables hasta que se firmen. La parte que presenta el acuerdo de trabajo probablemente usa un documento repetitivo con términos y condiciones predeterminados. Sin embargo, el desarrollador independiente no tiene que aceptar un contrato tal como está. Ambas partes pueden modificar el acuerdo para establecer términos mutuamente beneficiosos. Solo entonces deberían firmarlo. Si no se pueden alcanzar los términos aceptables, podría ser mejor rechazarlo: un mal negocio es peor que ningún acuerdo.

Finalmente, tengan en cuenta que las leyes relacionadas con los acuerdos de trabajo independiente, los impuestos, la propiedad intelectual y otros temas, sin mencionar la exigibilidad de los acuerdos de trabajo, varían entre estados y países. Investiguen las leyes específicas que rigen su ubicación y busquen el asesoramiento de un consejero legal experimentado antes de negociar o firmar un contrato.

Investigue más sobre Outsourcing

Inicie la conversación

Envíenme notificaciones cuando otros miembros comenten sobre este artículo.

Por favor cree un Nombre de usuario para poder comentar.

- ANUNCIOS POR GOOGLE

Close