Hoy les traslado un caso real en el que he intervenido como perito informático en Granada en el que se condena a proveedor de software por mala prestación de servicios. El caso es muy indicativo y le recomiendo su atenta lectura.
Intervención pericial supone condena a proveedor de software por mala praxis
En este caso práctico que les traslado, con plena autorización por parte de mi cliente, Aulaventura S.L., vamos a ver algunos principios muy interesantes a la hora de reclamar responsabilidades a los proveedores de software por una mala prestación de servicios, así como lo fundamental que resulta un peritaje informático para ilustrar al tribunal de justicia.
Es de destacar el peso de la ausencia de un proyecto técnico de ingeniería informática que respalde las actuaciones realizadas por parte del proveedor de software. También es indicativo que prácticamente ningún proveedor de software realiza un proyecto técnico como es debido, arriesgándose a graves responsabilidades ante cualquier problema con el cliente.
Los hechos enjuiciados
El proveedor de software, Eflox Software S.L, reclama a Aulaventura S.L. , mercantil ubicada en Granada, el pago de 5480€ por la prestación de servicios realizada, consistente en la ampliación de funcionalidad de plataforma software de gestión preexistente, propiedad de Aulaventura S.L. Dicha cantidad responde al pago final de los servicios junto a 2625€ adicionales en concepto de «subsanación de errores en base de datos». Aulaventura S.L. decide resolver el contrato por incumplimiento de lo establecido en el mismo y Eflox Software S.L. procede a demandar por impago de servicios.
Fundamentos de la sentencia condenatoria
La magistrada titular del juzgado de primera instancia nº 11 de Granada, procede a desestimar la demanda del proveedor de software «Eflox Software S.L» y lo condena a abono de costas en base a lo siguiente:
«Don Pedro J. De La Torre Rodríguez, Colegio Profesional de Ingenieros Técnicos en Informática de Andalucía nº 20090318-B. Así, en el citado dictamen el perito observa importantes carencias, inherentes a cualquier proyecto de desarrollo de software profesional. El más importante es que no consta proyecto técnico explicándose en el dictamen que un proyecto de ingeniería informática habitualmente se compone de:
- Memoria: Es el documento que constituye la columna vertebral del proyecto, siendo el apartado descriptivo y explicativo del mismo. En él se expone cual es el objeto del proyecto, a quien se destina o dónde se instalará. Se indican los antecedentes, especificaciones y estudios previos, las hipótesis de las que se parte y la selección de estas, así como las conclusiones y resultados definitivos. También incluye los procesos de transporte, montaje y puesta en marcha así como la identificación y firma del ingeniero proyectista. La Memoria deberá ser claramente comprensible, no sólo por profesionales especialistas sino por terceros y, muy especialmente, por el cliente.
- Anexos: Incluye todos los documentos que desarrollan, justifican o aclaran apartados específicos de la memoria u otros documentos básicos del proyecto.
- Planos: Tienen como misión, junto con la memoria, definir de forma unívoca el objeto del proyecto, y son esenciales para su materialización.
- Pliego de condiciones: Tiene como misión establecer las condiciones técnicas, económicas, administrativas y legales para que el objeto del proyecto pueda materializarse en las condiciones especificadas, evitando posibles interpretaciones diferentes de las deseadas.
- Estado de mediciones: Tiene como misión definir y determinar las unidades de cada partida o unidad de obra que configuran la totalidad del producto, obra, instalación, servicio o software objeto del proyecto.
- Presupuesto: Tiene como misión determinar el coste económico de materializar el objeto del proyecto. Se basará en el estado de mediciones y seguirá su misma ordenación.
- Estudios con entidad propia: Tienen como misión incluir los documentos requeridos por exigencias legales.»
Adicionalmente la jueza argumenta:
«Tampoco consta según el citado perito (y la actora no ha aportado documental alguna tendente a acreditar lo contrario pese a que tenía toda la facilidad probatoria para ello) Seguro de Responsabilidad Civil Profesional que pueda cubrir los daños y perjuicios ocasionados por una mala prestación de servicios. No consta la identidad del ingeniero responsable del proyecto ni si éste pertenece a un colegio profesional con competencia en la materia, todo ello exigible a una empresa experta en la prestación de este tipo de servicios.»
Tras quedar acreditada la falta de profesionalidad según lo anterior, la jueza relata los incumplimientos contractuales demostrados por este perito:
«No consta que la demandada haya recibido el trabajo de auditoría del sistema informático de su propiedad para conocer el estado previo del mismo y el alcance real de los trabajos a acometer, cuya adecuada cuantificación monetaria es poco menos que imposible sin conocer previamente el alcance de los trabajos. Además, tampoco constan ni el documento de garantía de la solución informática que, por contrato, debía emitir el Proveedor, ni el documento escrito en el que el Cliente declara, según el contrato, que el servicio recibido se ha ajustado a sus necesidades y que supone la finalización de los trabajos. Tampoco figuran los documentos de aceptación de los ficheros informáticos correspondientes a las pruebas del sistema de información, ni un listado de los mismos junto a sus firmas Hash que los identifiquen inequívocamente, permitiendo identificar si se han producido alteraciones en los mismos. Le llama la atención al perito la corta duración del proyecto y el relativamente bajo precio del mismo.»
Finalmente la jueza enumera los defectos del programa informático entregado, demostrados por este perito:
«Además de los incumplimientos citados el perito detalla fallos y carencias siguientes:
- No existe módulo de Login/Registro, según especificaciones.
- No existe la funcionalidad de importar información desde ficheros de datos, según especificaciones.
- No funciona la configuración de idioma: Si se selecciona el idioma “Inglés (USA)”, el programa sigue apareciendo en castellano, aún abandonando la aplicación y volviendo a validarse.
- Errores de objeto nulo en tiempo de ejecución. A destacar que, al acceder a varias partes del programa sin haber seleccionado un centro, el programa produce una pantalla de error en tiempo de ejecución.
- Log out incontrolado: El programa cierra la sesión del usuario sin notificar tras alrededor de un minuto sin realizar ninguna acción. Cuando se intentan después a acceder a ciertas partes del programa, provoca un error de objeto nulo.
- Procedimientos almacenados inexistentes: El programa usa procedimientos almacenados en base de datos inexistentes, provocando un error en tiempo de ejecución.
- Rotura del menú de navegación: Se produce una rotura del menú de navegación tras realizar una búsqueda de elementos, provocando que el menú se cierre automáticamente y nos impida navegar.
- La exportación a PDF de la Agenda de eventos no funciona, cortándose la agenda en las 15:00 horas.
- Los números de cuenta bancaria presentes en la aplicación no están en formato IBAN.
- La herramienta de cargar informes no funciona en ninguna sección de la aplicación.
- Las cajas desplegables permiten añadir nuevos elementos, pero no eliminarlos en caso de no ser ya necesarios. Tampoco se detecta opción de que los elementos personalizados por un usuario sólo estén disponibles para ese usuario, para un conjunto o para la totalidad de los mismos.
- La mayoría de las exportaciones de datos a PDF no están correctamente tipadas, apareciendo cortados tanto los títulos de las columnas como datos de longitud predecible, lo que permite inferir que no han sido debidamente formateados los datos para su exportación.
- En las búsquedas con filtro, al incluir un determinado filtro, el programa muestra un error de “incorrect sintaxis near…”, provocado por un fallo de programación que impide realizar la citada búsqueda.
- La aplicación no permite ver actividades relacionadas con grupos extraescolares. Al pulsar sobre el botón no realiza ninguna acción.
- No se encuentra la funcionalidad de grupos extraescolares.»
Condena a proveedor de software por mala prestación de servicios
Finalmente la jueza basa la condena al proveedor de software, que paradójicamente era la parte reclamante, según lo siguiente:
«Procede desestimar la demanda ante los incumplimientos probados de la actora y teniendo en cuenta que se han pagado parte de los trabajos realizados de forma defectuosa y tardía lo que excluye que en el caso de autos considere que estaríamos ante un posible enriquecimiento injusto y considerando que el incumplimiento del plazo (fijado como esencial en el contrato) y la ejecución defectuosa en los términos que constan en el dictamen pericial, junto a las omisiones de proyecto y auditoría, determinen que tenga acogida la excepción opuesta por la demandada considerando, con cita de la Sentencia de la Audiencia Provincial de Granada, Sección Tercera, de fecha 11 de octubre de 2016 que la excepción de contrato no cumplido, como recuerda la STS 21 de mayo de 2008, ha de ser interpretada restrictivamente, exigiéndose un verdadero y propio incumplimiento de las obligaciones, frustrando el fin del contrato. Como también precisa la STS 20 de diciembre de 2006 «El incumplimiento que permite oponer a la acción de cumplimiento o de resolución la exceptio non adimpleti contractus (excepción de contrato incumplido), según ha declarado la jurisprudencia con reiteración, debe ser un incumplimiento que tenga la relevancia suficiente para ser tomado en consideración como determinante de la frustración, en términos de razonabilidad, de la finalidad económica del contrato para la parte frente a la que se exige la resolución o a la que se exige el cumplimiento». En nuestro caso, considero que los incumplimientos relacionados en el fundamento de derecho anterior se deben calificar como graves tanto desde el punto de vista del plazo (dos meses prorrogables por un mes más) a fin de que la demandada pudiera comercializar el producto, como de la propia funcionalidad de la plataforma. Estas consideraciones son aplicables en relación con ambas facturas reclamadas por la actora pues si la misma no ha cumplido sus obligaciones esenciales del contrato nada puede reclamar a la demandada quien, como se ha dicho, ya pagó dos facturas a la demandante.»
Las claves del caso
En este caso de condena al proveedor de software por mala prestación de servicios por parte del juzgado en Granada, han sido claves:
Determinación de falta de profesionalidad
Este extremo se ha sustentado en la ausencia de proyecto técnico, la carencia de seguro de responsabilidad civil profesional y la no identificación del ingeniero responsable de los trabajos. Estas tres características son esenciales para el cumplimiento de la prestación de servicios en condiciones de razonable calidad por parte de cualquier proveedor de software.
Incumplimientos contractuales del proveedor de software
Este extremo ha sido sustentado mediante una auditoría del proyecto, consistente en la falta del mismo y de diversa documentación que el proveedor de software se comprometió a entregar contractualmente durante las distintas fases de la prestación de servicios y que no aportó.
Defectos de la plataforma software
Este extremo se sustentó mediante la intervención y certificación de cadena de custodia de todos los ficheros que componían la plataforma software entregada y auditando su funcionalidad como usuario de dicha plataforma. Como verán, en ningún momento se examinó código fuente de ningún tipo, dado que dicho código es irrelevante respecto de la funcionalidad requerida por la parte contratante.
Así mismo, fue imposible certificar si lo hayado por este perito coincidía con lo entregado por el proveedor de software, ya que no existía documento alguno inventariando cada fichero que componía la plataforma software junto a su firma Hash.
Recomendaciones
A los proveedores de software les recomiendo encarecidamente que elaboren el proyecto técnico de la plataforma software, ya sea en proyectos a medida como en proyectos de tipo «software as service». Con el proyecto técnico es la única forma que tienen de acreditar a priori, en caso de reclamaciones por parte de los clientes, la funcionalidad y características de la plataforma.La carencia de proyecto técnico también les afectará en lo relativo a responsabilidad penal de personas jurídicas en caso de negligencia de un empleado y por políticas de seguridad activa y «compliance». Es decir, que por su propio bien, redacten proyecto técnico del software.
A los clientes y consumidores les recomiendo que, en caso de fallos o taras en el software o servicio contratado se pongan en contacto con un perito informático colegiado que les pueda dar indicaciones sobre cómo proceder. Así mismo, antes de la firma de un contrato de adquisición o alquiler de una plataforma software cuenten con asesoramiento especializado a fin de limitar riesgos. En muchos casos las plataformas software son fundamentales para el devenir de un negocio, y es fundamental que exijan por adelantado las suficientes garantías.