Validación de Sistemas Informáticos. Relevancia del conocimiento experto en Sistemas Informáticos y en Gestión Técnica de Laboratorios.
Desde hace algún tiempo, los laboratorios han comenzado a interesarse por la temática “Validación de Software”, y por su alcance e implicancias. Tanto los laboratorios que tienen ya instalado su sistema informático, con o sin conectividad con sus instrumentos o red de instrumentos, como aquellos que trabajan utilizando planillas de cálculo y también quienes están analizando la posibilidad de implementar un nuevo software de gestión a corto plazo, se inquietan al momento evaluar y cuantificar las tareas y costos que les demandará este proyecto.
La realidad es que cualquiera sea el laboratorio, cumpliendo cualquier propósito, desarrollándose en cualquier industria y cualquiera sea su tamaño, debería tomar conciencia de la necesidad de afrontar este tema como un proyecto necesario dentro de su organización.
¿Es necesario validar mi software? ¿Si no tengo instalado un sistema informático propiamente dicho o utilizo planillas de cálculo, debería igualmente validarlas? ¿Esto alcanza también a mi laboratorio? ¿Acabo de adquirir un sistema nuevo, necesito validarlo? ¿En qué consiste validar un sistema? ¿Podemos hacerlo solos o necesitamos ayuda? ¿Cuál es su alcance y qué comprende? ¿Estamos en condiciones de validar nuestro sistema? ¿Qué costos y tiempos deberíamos afrontar? ¿Existen los sistemas ya validados? ¿Necesitaría resolverlo frente a mi próxima auditoría? ¿Puedo certificar o acreditar determinadas normas sin tener un sistema o si tengo un sistema no tenerlo validado?
Estas y tantas otras consultas son las que se plantean a diario y no siempre se obtienen respuestas claras, precisas y contundentes.
Para esto resulta muy útil considerar la ISO/IEC 12207 que es un “Marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso“.
La validación de los sistemas informáticos es, desde hace años, una de las herramientas más importantes que tiene la Industria para demostrar la fiabilidad y el estado de control de todos sus sistemas, procesos y procedimientos computarizados.
También se trata de uno de los grandes problemas al momento de poder demostrar que los sistemas informáticos del laboratorio están validados. Generalmente quienes están a cargo de esta “tediosa” tarea son los responsables y los analistas de laboratorio que no son expertos en tecnologías de información o de gestión.
Muchas veces la problemática del laboratorio consiste en “validar el sistema” una vez implementado y funcionando, cuando en realidad esta tarea debería haber comenzado mucho antes de la adquisición o desarrollo del sistema ya implementado. Peor aún, generalmente se lo considera como una pesada carga para cumplir con un requisito de auditoría, en lugar de pensarlo como un verdadero beneficio tanto para el laboratorio en particular como para la organización en general.
Como en todos los casos, siempre resulta conveniente comenzar por el principio. El primer paso para poder validar un sistema informático o las planillas de cálculo que se utilicen, corresponde al desarrollo y confección de las “Especificaciones de Requerimientos de Usuarios (URS)”. Este resulta el más crítico de los documentos, el éxito del desarrollo y ejecución de las calificaciones posteriores y validaciones según normas internacionales: la Calificación del Diseño (DQ), la Calificación de Instalación (IQ), la Calificación Operacional (OQ) y la Calificación de Desempeño (PQ)), depende fuertemente de las definiciones establecidas en estos documentos, que deben quedar detalladas en la “forma” de un pliego de condiciones con descripciones claras, concisas y comprobables. Es decir que el “Ciclo de Vida” de un sistema comienza a partir de la confección de sus Requerimientos. Muchos laboratorios que no cuentan con un área de informática o de organización y procedimientos dentro de la compañía que les brinde soporte, se encuentran con serias dificultades al momento de planificar estas actividades.
Una vez que contamos con los requerimientos confeccionados y configurados como producto final de esta etapa, debemos trabajar en el proceso de selección de software, en función de nuestros mismos requerimientos, capacidades técnicas y económicas, y la factibilidad de optar por alguna de todas las ofertas que ofrece el mercado. Así podremos seleccionar entre un desarrollo interno, un desarrollo externo, un desarrollo mixto o la compra de alguno de los sistemas específicos que se ofrecen como paquetes para implementar o configurar.
Esta actividad, lejos de pensarse solo como un requerimiento de auditoría a cumplimentar, garantizará al laboratorio el éxito al momento de seleccionar un sistema informático a adquirir, desarrollar o implementar alguna solución configurable. Muchas veces se selecciona un software porque es conocido, o por afinidad con quien lo provee, o porque lo tiene nuestra competencia o algún laboratorio amigo, sin contemplar verdaderamente el grado de adaptabilidad que debería tener en nuestra instalación o sin determinar los ajustes o modificaciones que deberían configurarse para que aplique perfectamente a nuestra gestión.
¿Pero qué es Validación de Software? Puede definirse como el proceso de revisión al que se somete a sistema informático para comprobar que cumple con todas sus especificaciones y cumple con su cometido. La validación de software es el proceso de comprobación de que el producto se conforma estrictamente con las necesidades, los requisitos, y/o las especificaciones definidas por el usuario bajo condiciones de funcionamiento definidas. En síntesis, Validar es convertir algo en válido.
Este proceso debe realizarse durante la etapa de desarrollo y se ejecuta principalmente para “confirmar” que el software está en condiciones de desarrollar las tareas que el usuario que lo utilizará necesita llevar a cabo. Se trata de determinar que la funcionalidad del sistema cumple con las especificaciones y requerimientos del usuario. Se comprueba que cada elemento del software cumpla con los requisitos específicos.
La etapa de “validación del software” propiamente dicha comenzará una vez determinado el sistema a adquirir o desarrollar, o los procedimientos a definir mediante herramientas de oficina (planillas de cálculo, procesadores de texto, etc.). La validación de software continúa en esta etapa y en las subsiguientes y forma parte del proceso de control de la gestión del Software. Es un proceso continuo a lo largo de todo el proceso de desarrollo e implementación, por eso debe comenzar al inicio del proyecto y no una vez ya instalado el sistema. Se trata de un conjunto de procesos de comprobación y análisis que aseguran que el software que se desarrolla está acorde a su especificación y cumple las necesidades de los clientes y regulatorias de la industria a la que aplique.
Existen actividades de “Verificación y Validación” en cada etapa del proceso de desarrollo y prueba del software. La Verificación comprueba que el software cumpla con los requisitos funcionales y no funcionales de su especificación, intenta dar respuesta a si se está construyendo el “producto correctamente”. La Validación comprueba que el software cumpla con las expectativas que el cliente y el mercado espera, intenta responder si estamos construyendo el “producto correcto”. Verificación, chequea que los productos sean correctos de acuerdo con los requerimientos, Validación chequea que los productos sean correctos de acuerdo con las expectativas.
Existen múltiples criterios, normativas y estándares para “validar software”. Algunas empresas proveedoras de software ofrecen un “kit de validación”, que contiene todas las condiciones de prueba necesarias (IQ, OQ, PQ) y facilita de alguna manera toda la tarea de los usuarios en la confección de la documentación inicial y la definición de todos los casos de uso y de prueba.
En caso de no contar con ese kit, resultará imprescindible para la organización definir y determinar una metodología de trabajo que permita Planificar, Preparar, Ejecutar, y Evaluar un Plan de Pruebas. Se considera fundamental que la documentación sea consistente y que refleje todas las tareas desarrolladas a lo largo de cada una de las etapas y sus respectivos resultados. Los contenidos básicos de la documentación deben administrar como mínimo el Plan de Pruebas, la Especificación de Diseño de Pruebas. La Especificación de Casos de Prueba, la Especificación de Procedimientos de Prueba, los Reportes para la transmisión de elementos de prueba, los Reportes de incidentes de pruebas, y los Reportes del resumen de las Pruebas. Existen también diferentes herramientas que permiten automatizar los procesos de validación y verificación de software.
Se recomienda ser muy estricto con la documentación y que se mantenga acorde a todo el desarrollo de estos procesos, que será finalmente el material auditable en cualquier circunstancia. Debe asegurarse también que las comprobaciones sean llevadas a cabo por personas diferentes a los desarrolladores o implementadores del sistema.
El plan de pruebas es un documento que describe el enfoque que será utilizado para las actividades de pruebas, incluye los elementos a ser probados, los tipos de pruebas que serán realizadas, el calendario de pruebas, los recursos humanos intervinientes, procedimientos de reporte, criterios de evaluación, etc.
Los casos de prueba se componen de los datos de prueba y el entorno o función en el cual se prueba. Debe asegurarse la consistencia entre diversas ejecuciones de una misma prueba. Los casos de prueba deberían también incluir los resultados esperados.
El proceso de Verificación y Validación de Software, tampoco culmina con la implementación y puesta en marcha de Sistema, sino que continúa a través de todo el ciclo de vida del sistema, esto incluye a etapas de mantenimiento, modificaciones, cambios o desarrollo de nuevas funciones, como así también la configuración de entornos de desarrollo, prueba y producción, que garanticen la correcta instalación de modificaciones o nuevas funciones ya probadas, sin dejar de considerar todos los esquemas necesarios de Seguridad Informática (física y lógica).
En relación con las normas vinculadas estrictamente a la calidad del software, enumeramos algunas de ellas como la ISO 12207 (Procesos del ciclo de vida del software), ISO/IEC 9126 (Características de la calidad de un producto software), ISO/IEC 12119 (Productos software: evaluación y test), ISO/IEC 20000 (Gestión de Servicios de Tecnología Informática), ISO/IEC 27001 (Seguridad de la Información y protección de activos Informáticos),
SPICE – ISO / IEC TR 15504 (Software Process Improvement Capability dEtermination), CMM y CMMi (Capability Maturity Model), entre otras.
Aun en los casos en que la validación de los sistemas informáticos no sea un requerimiento de auditoría, creemos que resulta fundamental encarar este proyecto con total seriedad y dedicación. La pregunta habitual es Cuánto cuesta validar mi software y cuánto tiempo necesito. Ambas variantes son absolutamente variables dado que depende además de otras múltiples variables. Lo que tenemos claro es cuánto cuesta no hacer nada, lo que no todos los laboratorios tienen en claro es cuánto cuesta o cuánto se pierde frente a posibles defectos o errores en los sistemas, ya sean estos costos tangibles o intangibles. Distintos estudios han mostrado que el costo relativo de encontrar un defecto durante los requerimientos, puede incrementarse más de 50 veces si se encuentra en la fase de pruebas, y más de 100 veces si se detecta después de haberse puesto en marcha el producto. Cuánto más tarde se detecten, más costoso es resolverlos.
Tratándose de un tema muy extenso y complejo, hemos podido abordar al menos los temas principales a grandes rasgos para permitir evaluar el estado de situación de general de algunos laboratorios y su relación con sus sistemas o soluciones informáticas.
Marcelo Cabezón – Licenciado en Sistemas
Marcelo@AmpersandSistemas.com– www.AmpersandSistemas.com
Country Representative at Mercy Corps
5 añosFelicitaciones Marcelo! Saludos....