archivo

Archivo de la etiqueta: gestión de terceros

A la gestión de los terceros no se le suele dar demasiada importancia hasta que toca explotar información basada en los mismos ya sea en el ámbito de un sistema de información o en el ámbito de los sistemas de información de una organización.

Cuando toca hacer eso generalmente obtener información de calidad resulta complicado lo que provoca que los listados que se generen en base a los mismos sean por lo general poco fiables (probablemente no estén todos los resultados que son y esté alguno que no deba estar).

¿Qué es lo que sucede? Pues que un mismo tercero (persona física o jurídica) nos lo podemos encontrar repetido con distinto nombre (con más frecuencia de lo que parece) dentro de una misma aplicación y esto es extensible al conjunto de sistema de la organización.

La calidad de los terceros depende mucho de los usuarios, si bien, resulta importante poner ciertas restricciones a la hora de poder dar de alta uno nuevo, como por ejemplo que el código que los pueda identificar sea válido y único. Pero como decía al final son los usuarios los que ponen el listón de la calidad porque si no disponen de ese identificador y no quieren (o pueden) obtenerlo buscarán vías alternativas para realizar el alta.

¿Y qué hacer cuándo existen varios sistemas que gestionan terceros? Lo ideal es tener concentrados todos los terceros de las aplicaciones en un único punto, de hecho es la única forma de mantener una cierta coherencia entre los mismos. Esto si comenzamos de cero es algo que puede resultar factible pero que requiere un trabajo ingente (y que resulta muy complicado hacerlo con una precisión del 100% salvo que se realice de forma manual, algo que en la mayoría de los casos no resultará rentable) cuando se trata de hacer factor común de los terceros de aplicaciones que llevan un tiempo funcionando y que en sus bases de datos tienen registrados cientos o miles.

La solución no es dejar que el problema se siga extendiendo sino establecer un mecanismo para que a partir de un determinado punto exista ese sistema central. Por lo menos los nuevos desarrollos trabajarán contra él. A partir de ahí el proceso de migración de los restantes se podrá planificar en función de las prioridades y presupuesto existente.

Lo más cómodo es tender hacia el desarrollo de sistemas de información que sean islas, es decir, sistemas totalmente independientes y autosuficientes a nivel de información, que contienen en su modelo de datos todo aquello que necesitan para su funcionamiento. Es decir, en estos sistemas no se depende de ningún otro, por lo que no hay que estar pendiente de si varía el modelo de datos de otra aplicación, si deja de funcionar un determinado servicio o si hay que estudiar cómo encajar esta pieza junto con otras.

Pero claro, un modelo de sistemas de esas características tiene también importantes carencias, entre las que destaca la dificultad de mantener coherente información sobre un mismo concepto almacenada y gestionada en sistemas distintos, la dificultad de realizar consultas que afecten a más de un sistemas de información que gestionan un mismo concepto, la no reutilización tanto a nivel de modelo de datos como de código de soluciones que resuelven exáctamente la misma funcionalidad, etc…

En este artículo me voy a centrar en dos tipos de informaciones, la de terceros y la de usuarios, que son muy frecuentes en la mayor parte de sistemas de información y que también como sucede en muchos casos, se gestionan de manera independiente en los mismos.

Los terceros son como el nombre indica terceras personas físicas o jurídicas que están vinculadas a información que se gestiona en un determinado sistema de información. Si no existe un modelo único de terceros, conocer el estado de las actuaciones o la suma de la información que se tiene recopilado sobre uno concreto, implicará la consulta a multitud de sistemas, en ocasiones, un esfuerzo importante y todo ello sin que existan excesivas garantías para obtener dicha información, ya que lo mismo la información del tercero no es coherente entre sistemas y por tanto no se puede localizar alguna información (por ejemplo número de NIF o CIF referidos a un mismo tercero que no son iguales en alguno de los sistemas), bien falta algún atributo importante para identificarlo unívocamente, etc…

A lo anterior hay que sumar el esfuerzo de mantener y desarrollar modelos de datos y pantallas para gestionar dicha información, que además tendrá en la mayor parte de los casos relación con otra, como por ejemplo, información de las provincias y municipios, ya que será interesante en muchas ocasiones tener almacenada al dirección o direcciones de contacto de los terceros.

En mi organización, siendo conscientes de este problema se ha desarrollado un modelo único de terceros con el objetivo de obtener una visión global de los mismos, por lo que los nuevos sistemas que se están implementando hacen uso de ese módulo horizontal, que se va ampliando en función de información asociada a terceros que pueda ser de interés tenerla disponible de forma transversal.

Tardaremos bastante en conseguir que todos los terceros estén en un mismo sitio, ya que contamos con un gran número de sistemas de información que habría que migrar a este nuevo modelo y esto además de ser costoso, requiere su tiempo e incrustarlo dentro de la planificación y prioridades individuales de cada uno de ellos, no obstante, todo lo nuevo estamos intentando que siga este modelo y tarde o temprano empezaremos a notar buenos resultados a nivel general independientemente de que a nivel del proyecto se noten ya, al no tener que invertir esfuerzo en modelar e implementar la funcionalidad de gestión de terceros.

Con los usuarios pasa algo parecido y además provoca que si alguno de ellos tiene que trabajar con distintos sistemas de información, al final tenga que mantener una maraña de información de nombres de usuario y palabras de paso que atentará contra la seguridad (ya que en muchos casos se recurirá a anotarlos en algún medio físico) y que tendrá asociado un coste de gestión (reseteo de claves, recordatorio de nombres de usuario, etc…). Si la autenticación es con certificado digital se simplificará la necesidad de que el usuario requiera recordar tantos usuarios y claves, pero por detrás los sistemas, si no existe un modelo unificado de gestión de usuarios, tendrán que seguir gestionando los mismos, con el coste de gestión inherente a esta situación y con los costes de desarrollo que ha tenido modelarlo en cada sistema.

La solución para este caso es similar a la que se ha buscado para el caso de terceros, es decir, un módulo que puede ser común a todos los sistemas en los que se mantiene dicha información y que garantizará una gestión única de usuarios (independientemente de que los perfiles de acceso se mantengan en cada sistema) y una visión coherente de los mismos. Como en los terceros, los nuevos sistemas se están implementando haciendo uso de este módulo y traerá bastante tiempo tener la mayoría de los sistemas haciendo uso de él, pero también como en el caso anterior, tardará más o tardará menos, pero terminaremos beneficiándonos de la decisión de tener un modelo unificado de gestión de usuarios.