Auditoría Informática del Desarrollo

Auditoría Informática del Desarrollo

Introducción

El concepto de Auditoría Informática se podría definir como: el conjunto de procedimientos y técnicas para evaluar y controlar un sistema informático con el fin de constatar si sus actividades son correctas conforme a las normativas generales prefijadas en la organización, así como con el cumplimiento estricto de la ley al efecto.

Dentro de las áreas generales de una Auditoría Informática podríamos dividirlas en las siguientes divisiones:

  • Auditoría de Desarrollo.
  • Auditoría de Explotación.
  • Auditoría de Sistemas.
  • Auditoría de Comunicaciones.
  • Auditoría de Seguridad.

La función de Desarrollo es una evolución del llamado Análisis y Programación de Sistemas y Aplicaciones. A su vez, engloba muchas áreas, tantas como sectores tenga una empresa y deseen ser informatizados.

El desarrollo de un software debe estar sometido a un exhaustivo control de cada una de sus fases, ya que en caso contrario, además del habitual disparo de los costes, podría producirse una total insatisfacción del usuario si finalmente no cumple las funcionalidades necesarias así como la ergonomía de los interfaces de la misma. Además, la auditoría deberá comprobar la seguridad del software desarrollado al objeto de garantizar que el resultado de su ejecución sea exactamente el previsto, y que no interfiere con el resto de aplicaciones de la empresa.

Consideraciones

Una auditoria de Desarrollo pasa sin lugar a dudas por la observación y el análisis de cuatro consideraciones fundamentales:

  • Examen de las metodologías utilizadas: Se analizaran estas, de modo que se asegure la modularidad de las posibles futuras ampliaciones de la Aplicación y el fácil mantenimiento de las mismas.
  • Revisión Interna de las Aplicaciones: Se deberá controlar las mismas fases que presuntamente ha debido seguir el área correspondiente de Desarrollo:

Estudio de Aptitud de la Aplicación. (Muy determinante para Aplicaciones complejas, largas y caras).

Definición lógica de la Aplicación. (Se examinará que se han completado los propósitos lógicos de actuación, en función de la metodología elegida y la finalidad del proyecto).

Desarrollo Técnico de la Aplicación. (Se verificará que éste es ordenado y correcto. Las herramientas técnicas utilizadas en los diversos programas deberán ser compatibles entre sí, y a ser posible con las ya existentes en el sistema de la empresa).

Diseño de Algoritmos. (Deberán poseer la máxima sencillez, modularidad y economía de recursos).

Metodología de Ensayos. (Se realizaran de acuerdo a las Normas de la Instalación. Se realizarán juegos de ensayo de datos, sin que se permita en ningún caso el uso de datos reales).

Documentación de la Aplicación. (Cumplirá la Normativa establecida en la Instalación, tanto la de Desarrollo como la de su puesta a Explotación).

Recursos Humanos Utilizados. (Deben fijarse las tareas de análisis puro, de programación y las intermedias para cada elemento que constituye el grupo de desarrollo. En Aplicaciones complejas se recomienda variaciones en la composición del mismo, pero estos deberán estar siempre previstos en la planificación inicial).

  • Satisfacción de usuarios: Una Aplicación técnicamente eficiente y bien desarrollada, deberá considerarse una pérdida si no sirve a los intereses del usuario que la solicitó, o resulta ergonómicamente insuficiente. La aprobación del usuario proporciona grandes ventajas posteriores, ya que evitará reprogramaciones y disminuirá el mantenimiento posterior de la Aplicación.
  • Control de Procesos y Ejecuciones Críticas: El auditor no debe descartar la posibilidad de que se esté ejecutando un módulo que no se corresponde con el programa fuente que se desarrolló, codificó y probó el grupo de Desarrollo de la Aplicación. Se ha de comprobar la correspondencia biunívoca y exclusiva entre el programa codificado y su compilación. Si los programas fuente y los programas módulo no coincidieran se podría provocar, desde errores de bulto (bugs) que producirían graves y altos costes de mantenimiento, hasta fraudes, pasando por acciones de sabotaje, espionaje industrial/informativo, etc. Por ende, hay normas muy rígidas en cuanto a las Librerías de programas; aquellos programas fuente que hayan sido dados por bueno por Desarrollo, son entregados a Explotación con el fin de que éste:
  • Copie el programa fuente en la Librería de Fuentes de Explotación, a la que nadie más tiene acceso.
  • Compile y monte el Programa, depositándolo en la Librería de Módulos de Explotación, a la que nadie más tiene acceso.
  • Copie los programas fuente que les sean solicitados para modificarlos, arreglarlos, etc. en el lugar que se le indique. Cualquier cambio exigirá pasar de nuevo por el punto 1.

El sistema para auditar y dar de alta un nuevo Desarrollo es bastante arduo y complejo, por ello muchas empresas se apoyan en profesionales y en la auditoría externa como mejor método para la confirmación de que el Desarrollo cumple con todas las expectativas y fases expuestas.

¿Interna o externa?

Por último concluir el artículo matizando que una auditoría interna tiene sus desventajas frente a una externa:

  • El Auditor Interno es un empleado de la empresa, mientras que el Externo es un profesional independiente. Esto confiere imparcialidad frente a posible corporativismo.
  • La responsabilidad del Auditor Interno es sólo laboral, mientras que la del Externo es penal; tiene consecuencias jurídicas, con lo cual, su labor ha de ser intachable.
  • El objetivo del Auditor Interno es un simple examen de gestión. El del Auditor Externo es confirmar y ratificar que todo el proceso ha seguido las directrices y fases del proyecto bajo su total imparcialidad.
  • El Informe emitido por el Auditor Interno va dirigido a la gerencia, dirección y/o Consejo de Administración. El del Auditor Externo va dirigido a Accionistas o Consejo de Administración: con carácter obligatorio si lo obliga la ley, o con carácter optativo si lo desea la empresa.

Conclusión

Para asegurar que el Desarrollo de un Software o Sistema nuevo, desde su inicio hasta su finalización pasando por todas las etapas descritas, va a terminar con éxito, depende del grado de control de cada una de ellas a través del sistema de eficacia de una Auditoría de Desarrollo.

En el inicio de la etapa de desarrollos a medida, cuando la informática estaba en su primitivo estado de sistemas aislados, era el propio usuario el que testeaba y con buena voluntad probaba los nuevos sistemas. Pero en la época actual, donde por pequeño que sea un desarrollo casi siempre interactúa con otros sistemas externos, se hace indispensable incorporar en la planificación del desarrollo la etapa de la Auditoría, y sopesando los pros y los contras de las dos clases, qué duda cabe que apoyarse en profesionales externos garantizará el éxito del desarrollo.