Peritaje informático sobre sistemas informáticos de tipo ERP

Un ERP (Enterprise Resource Planning, Planificación de Recursos Empresariales), es un sistema informático desarrollado a medida para la gestión completa de la actividad empresarial. Las empresas, habitualmente, subcontratan el desarrollo de este tipo de sistemas informáticos a una consultora informática, pero es muy rara la ocasión en que se produce una satisfacción total del usuario final (es decir, de los empleados que van a trabajar directamente con el sistema). La implantación de un sistema informático de tipo ERP suele ser muy traumática en la empresa, generando mucha resistencia y frustración, así como poca resiliencia o adaptabilidad del usuario final; lo que se traduce en estrés, agotamiento y enfrentamiento con la empresa desarrolladora del sistema informático.

El fracaso en este tipo de desarrollos informáticos, casi siempre se produce porque no existe una buena toma de requisitos, que evalúe adecuadamente las necesidades del usuario final y que genere prototipos evolutivos e incrementales, en un proceso iterativo que se englobe dentro de un marco metodológico estándar. Este fracaso no sólo se produce en sistemas complejos como ERPs, sino también en programas informáticos de menor complejidad, como aplicaciones móviles (muy a la moda), simples aplicaciones web, o incluso programas de escritorio, que permiten gestionar un departamento concreto de la empresa en lugar de la empresa completa.

El error de base es la confianza que el cliente deposita en su proveedor, confiándole ciegamente el desarrollo de su producto, sin contar con profesionales independientes, ajenos a la empresa de desarrollo, como por ejemplo un perito informático que actúe como asesor independiente. La Ingeniería Informática es la única profesión de Ingeniería que no se encuentra regulada por el Estado, con lo cual, existen en el mercado numerosas empresas que se hacen pasar por expertas en desarrollo informático, sin contar con ingenieros informáticos en plantilla, únicamente con autodidactas, que por su falta de formación, desconocen las metodologías de desarrollo que han de ponerse en práctica para llevar a buen puerto el desarrollo de un sistema informático. Este perito informático ha participado en numerosos procesos judiciales en los que los desarrolladores no eran ingenieros informáticos y, el resultado final, fue un fracaso (denuncias por incumplimiento de contrato, estafa, etc.).

 

La contratación de un perito informático colegiado, con antelación al desarrollo, que se haga cargo de la supervisión del mismo ante la empresa proveedora, proporcionará un seguimiento continuo del estado del desarrollo, enviándose informes periódicos al cliente, que evitarán o mitigarán posibles problemas judiciales. Es vital contar con el asesoramiento de un perito informático, al objeto de delimitar las cláusulas del contrato, especialmente las relativas a la propiedad intelectual del software, pero también para la redacción del anejo o adenda al contrato en el que se establezcan los requisitos del sistema, conociéndose dicho anejo como documento de Especificación de Requisitos del Software (ERS).

El documento de Especificación de Requisitos del Software, es la parte fundamental del contrato en el desarrollo de un ERP y el primer documento que necesitará un perito informático para elaborar su pericial informática si el sistema no funciona una vez entregado e implantado. Cuando en el cliente no existe ningún ingeniero informático que pueda llevar un seguimiento del proyecto, ni tampoco se contrata un profesional externo, como un perito informático, que ejerza como consultor independiente, lo más probable es que no exista tal documento. La empresa de desarrollo es perfectamente conocedora de que, cuantas menos referencias a los requisitos y a la arquitectura del sistema aparezcan en el contrato y sus adendas, mayores posibilidades tienen de salir indemnes de un proceso judicial iniciado por el cliente si el proyecto ha resultado en un fracaso.

En el cuerpo del contrato, que se debe redactar con el asesoramiento mixto de un abogado y un perito informático, se deben recoger las cláusulas típicas de cualquier contrato de prestación de servicios, sin incluir absolutamente ninguna referencia a los requisitos o al comportamiento del software cuyo desarrollo se va a contratar. Es en el documento de Especificación de Requisitos del Software, por tanto, donde se deben recoger, con todo lujo de detalles, los requisitos, el comportamiento de cada caso de uso, la jerarquía de usuarios y sus escenarios, las tecnologías con las que se realizará cada módulo, la arquitectura del sistema, los artefactos lógicos o componentes (software), los elementos físicos o de despliegue (hardware), los plazos de entrega, los prototipos que se vayan a ir realizando para que los usuarios puedan interactuar con versiones tempranas del sistema, los entregables finales, etc.

El documento de Especificación de Requisitos del Software es, por tanto, fundamental, siendo la única garantía del cliente frente a un proceso judicial por un incumplimiento de contrato y/o una estafa, de tal manera que es el único documento real del cual el perito informático puede hacer uso para elaborar una pericial contundente y ganadora frente a un desarrollo fallido.

 

Habitualmente, los sistemas informáticos de tipo ERP se dividen en módulos: recursos humanos, contabilidad, finanzas, comercial, gestión de clientes o CRM, etc. Es necesario que, en el documento de Especificación de Requisitos del Software, cada uno de estos módulos se recoja en un apartado, indicando con qué tecnologías se va a desarrollar cada módulo, los casos de uso o escenarios asociados a cada uno de ellos (así como sus correspondientes escenarios de error), qué roles de usuario podrán acceder a cada uno de los mencionados casos de uso, etc. Finalmente, se deberá añadir un apartado final que explique cómo se llevará a cabo la necesaria integración de todos los módulos y la comunicación interna entre los mismos, así como la integración y comunicación con otros sistemas externos, siendo dicha integración interna y externa un aspecto esencial del software y allí donde, según la experiencia de este perito informático, se producen mayores problemas, dada la inmensa complejidad de este tipo de sistemas. Si se contrata un consultor independiente, como un perito informático, para llevar a cabo la supervisión del desarrollo, éste se encargará de que todos los apartados indicados sean incluidos en el documento de Especificación de Requisitos del Software anejo al contrato.

En caso de que, finalmente, sea necesaria la contratación de un perito informático para llevar a juicio a la empresa desarrolladora del sistema, el profesional tendrá que recabar información del documento de Especificación de Requisitos del Software, casando cada caso de uso con su correspondiente interacción en el sistema y determinando su comportamiento satisfactorio o fallido, obteniendo finalmente un porcentaje de cumplimiento de los requisitos establecidos en el contrato. Si el documento de Especificación de Requisitos del Software es inexistente, se deberán estudiar los requisitos que aparezcan en las cláusulas del contrato y, si no aparecen requisitos de ningún tipo, el grado de cumplimiento de cada escenario que el cliente señale como caso de uso.

Es importante reseñar, como ya hizo este perito informático en un artículo, publicado en esta web, sobre incumplimiento de contrato en el desarrollo de software que, según la jurisprudencia, el desarrollo de un ERP tiene el mismo tratamiento que una obra. Por tanto, si la empresa desarrolladora abandona el desarrollo por cualquier causa, se le podrán imputar los costes oportunos que se determinen por haber abandonado la obra.

 

Finalmente, como se puede apreciar, la construcción de un sistema informático de tipo ERP es extremadamente compleja y, en caso de litigio, a mayor documentación de que se disponga, mayores probabilidades tendrá el perito informático de elaborar un peritaje informático ganador. Al objeto de aplicar la máxima de prevenir, antes de curar, se debe contemplar, tal y como se ha advertido en este artículo, la contratación de un perito informático como asesor independiente, que ayude a la supervisión y a la elaboración de la documentación asociada al proyecto durante la etapa de desarrollo y, que jugará un papel fundamental en el eventual litigio.