jueves, 10 de marzo de 2022

EL INCUMPLIMIENTO DEL CONTRATO DE SOFTWARE

 EL INCUMPLIMIENTO DEL CONTRATO DE SOFTWARE

Desde el año 1994 la empresa consultora Standish Group ha ofrecido sus informes sobre éxitos y fracasos de los proyectos de software, evaluándolos por su dimensión, tipo de industria y tamaño de las empresas, entre otros factores, resultando que invariablemente, a lo largo de todo este tiempo, sólo el 30% de los proyectos alcanzan niveles satisfactorios de cumplimiento considerando tres elementos fundamentales: entrega de las funcionalidades tal como fueron solicitadas, mantenerse dentro del presupuesto y respetar el tiempo de entrega. El otro 70% entra en una situación conocida en el ámbito jurídico como incumplimiento de contrato, ya que el software no cumple con las especificaciones solicitadas o superó el presupuesto inicial o se entregó a tiempo o fue cerrado antes de terminarlo.

En los últimos 30 años la ingeniería de software ha innovado en las áreas técnicas relacionadas con la gestión de este tipo de proyectos, desde las formas de tomar los requerimientos del usuario, pasando por los sistemas de documentación, los entornos de desarrollo que facilitan la generación de código fuente, los protocolos de pruebas, los procesos de transición, la puesta en producción, el mantenimiento y la mejora continua, pero nada de esto ha sido suficiente para mejorar los niveles de éxito que se mantienen invariables, y solo ha podido mejorar la relación de proyectos fallidos sobre aquellos cuestionados, con defectos y carencias.

Visto así, las razones no las encontramos en la tecnología y habría que buscarlas en otros espacios, como cuando no hay un conocimiento por parte del usuario de todos los elementos que deben ser controlados cuando emprende un nuevo desarrollo de software, no sabe qué pedir o cómo pedir lo que desea, y termina aceptando los términos y condiciones tal como los ofrece el contratista. Este útimo, tampoco reconoce que la complejidad de este tipo de proyectos lo obliga a asegurarse de establecer acuerdos adecuados sobre los procesos administrativos, claras relaciones entre los participantes, los mecanismos de aceptación y resolución de conflictos entre las partes, los procesos de aprendizaje, el flujo de entrega de productos, el flujo de pagos, etc.

El usuario contratante debe ser un agente activo en la gestión del proyecto, a fin de defender, presionar, aprender y conocer sobre todo los procesos y tareas, controlar, tomar decisiones informadas y actuar en consecuencia, especialmente antes y durante la ejecución, y no esperar la fecha de la entrega final para darse cuenta que lo recibido no se corresponde con las expectativas del primer día. Por su parte, el contratista debe exigir todas las condiciones que necesita para cumplir con los requisitos del cliente, así como observar las obligaciones derivadas de su rol en la dirección de la acción técnica, y el cumplimiento de las derivadas de la función administrativa.

Los acuerdos entre el cliente y el contratista deben quedar plasmados en un contrato de servicio adecuado, que incluya todos los aspectos mencionados, en especial las posibles soluciones para las situaciones no deseadas durante la ejecución, así como los mecanismos concertados para la resolución de aquellas no mencionadas.


Transformación Digital: La privacidad en la era digital

La privacidad en la era digital La privacidad es un derecho fundamental que permite a los individuos controlar cómo, cuándo y con quién comp...