29 Abril 2010 ~ 4 Comments

Auditoría a proyectos de software

image Cuando el éxito de la empresa depende de las tecnologías de la información, tanto si desarrolla proyectos de software internos, externos, contratados o como si gestiona el servicio TI, es necesario auditar el funcionamiento de estos y detectar oportunidades de mejora. Allí es donde principalmente entra el proceso de auditoría encargándose de evaluar las prácticas y procedimientos implementados en los desarrollos.

La auditoría en el campo del desarrollo de proyectos de software es igual a la que podría aplicarse a la auditoría cotidiana de proyectos, pues en esencia un proyecto aunque sea de software posee todas las fases y desarrollos de lo que comúnmente se denominan proyectos. La auditoría en proyectos de software está orientada a examinar la gestión financiero-administrativa de los proyectos y obtener una seguridad razonable de que los recursos (humanos, tecnológicos y económicos) y que estos hayan sido administrados de acuerdo con la documentación del proyecto (contratos, planes de trabajo, presupuestos, cronogramas, actas de reunión, etc.)

Ahora bien, a nivel general, una práctica interesante en los proyectos de desarrollo contratados con empresas es que el trabajo sea revisado o auditado por una tercera empresa, garantizando así que los requerimientos del cliente a la final tengan una mayor probabilidad de éxito acierto en su proyecto.

Una vez la empresa con la que se ha contratado el desarrollo ha presentado la especificación técnica y funcional del proyecto a realizar, ésta debería ser revisada por otra empresa de desarrollo de software, quienes pueden identificar mejor que el cliente final, los posibles problemas, errores y riesgos ocultos.

Inclusive, las propias empresas de desarrollo de software, deberían ser quienes informaran al cliente que solicita un proyecto. Explicando que aunque se realizara el mejor de los proyectos, es conveniente que lo audite una tercera empresa, garantizando así la calidad del desarrollo desde diferentes puntos de vista.

Una vez se establece que se realizará auditoría al proyecto de software se debe determinar desde que fase se empezara a implementar la auditoría. Es decir si se hará desde la definición del proyecto, en su transcurso o una vez haya finalizado su desarrollo.

Por ejemplo, en un proyecto que se auditara desde su fase de definición, normalmente se concentraría la labor de auditoría en los siguientes puntos:

Definición de los requerimientos técnicos y funcionales del proyecto

Especificación funcional del desarrollo a realizar

Elección de la tecnología a utilizar

Auditoría de seguridad

Especificación orgánica del desarrollo a realizar

Revisión del plan de proyecto global, incluyendo la propia planificación del proyecto y los planes de test, pilotaje, implantación y mantenimiento

Definición de pruebas de satisfacción del usuario final con el producto

O también por ejemplo, una vez el proyecto está en sus últimas fases, generalmente en test de integración, se auditan otros puntos para analizar la calidad del producto final:

Revisión funcional del producto final, comprobando si cumple los requerimientos iniciales

Auditoría de seguridad

Cumplimiento de la planificación inicial

Realización del test de satisfacción del usuario

Planes finales de implantación, formación y mantenimiento

La realización de todas estas tareas brinda la información necesaria para emitir un informe final de auditoría con el resultado de la misma.

Es importante tener en cuenta además que todos estos puntos susceptibles de auditoría, son modulables en función de las pretensiones del cliente y de su proyecto

2. Un punto importante, la satisfacción del cliente

Si bien todas las fases mencionadas anteriormente tienen importancia pues otorgan calidad al producto, una característica adicional necesaria para evaluar es la satisfacción del cliente. Esto debido a que cuesta al menos a una organización cuatro veces más conservar a un cliente que reclutar a uno nuevo. Organizaciones que pierden regularmente clientes, se les dificultad aun más reparar su reputación dañada.

Para suplir esta necesidad el proceso de auditoría de proyectos de software puede incluso evaluar la necesidad de hacer implantaciones de sistemas de gestión de inconformidad del cliente para facilitar la retroalimentación de información y la generación de oportunidades.

Según la definición de ISO 10002 "Una queja es una expresión de insatisfacción hecha a una organización, relacionada con sus productos, servicio o el mismo proceso de manejo de quejas, donde una respuesta o resolución se espera que sea explicita o implícita". Por lo cual es relevante para cualquier organización que desea exceder el nivel de satisfacción del cliente, un requerimiento básico para los negocios de todo tiempo y tamaño, no importando si pertenecen al sector público, privado o se desea implementar voluntariamente.

3. Amenazas que se deben tener en cuenta

Se mencionó principalmente que se debe realizar auditoría en etapas que guardan cierta similitud con lo que sería el ciclo de vida de la aplicación, pero también hay otros factores claves que deben analizarse transversalmente en el desarrollo de toda la auditoría, estos son por ejemplo:

Posibles fallos en:

– Software que tenga relación con la aplicación desarrollada y no se tenga control sobre él

– Hardware

– Redes y telecomunicaciones

Además los sistemas pueden albergar información de carácter confidencial para la empresa por lo que se debe auditar la integridad de la información cuando viaja a través de redes en el caso de si la aplicación hace uso de internet u otro modelo de transmisión.

4. Conclusión

La auditoría al desarrollo de un proyecto de software es similar a la de un proyecto corriente. Se analiza desde el planteamiento, hasta el transcurso y finalización del proyecto que se hayan seguido los lineamientos establecidos conforme a la organización.

En esencia una auditoria de desarrollo de software pasa indefectiblemente por la observación y el análisis de cuatro consideraciones:

Revisión de las metodologías utilizadas: se analiza de modo que se asegure la modularidad de las posibles futuras ampliaciones de la aplicación y el fácil mantenimiento de las mismas.

Control interno de las aplicaciones: se revisa las mismas fases que se establecieron en la etapa inicial y han debido seguir el área correspondiente de desarrollo. En esta etapa se evalúan puntos como:

Satisfacción de usuarios: Una aplicación técnicamente eficiente y bien desarrollada, deberá considerarse fracasada si no sirve a los intereses del usuario que la solicitó. La aquiescencia del usuario proporciona grandes ventajas posteriores, ya que evitará reprogramaciones y disminuirá el mantenimiento de la aplicación. Además de que se cumplirá con las expectativas del cliente.

Control de procesos y ejecuciones de programas críticos: El auditor no debe descartar la posibilidad de que se la copia que se esté evaluando haga parte de un archivo de desarrollo. Se debe comprobar que el software que sale a producción sea efectivamente el producto terminado y no porciones del producto que aún podrían estar en prueba.

Presentación en video acerca del asunto:

Parte 1

Auditoria a proyectos de Software parte 1
Auditoria a proyectos de Software parte 2

BIBLIOGRAFÍA

Usamentiaga Darío, Sevilla Isabel, Tuya Javier, Auditoría informática del desarrollo de aplicaciones,

Fernández Frontelo José Luis, Auditorías de proyectos informáticos,

The British Standards Institution, ISO 10002 Satisfacción del cliente,

EQSOFT, Auditoria de software,

Datasec, Meycor Cobit Guias de Auditoria – Audit Guidelines (AG),

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Add to favorites
  • Live

4 Responses to “Auditoría a proyectos de software”

  1. Juan Sebastián Celis Maya 30 Abril 2010 at 10:11 pm Permalink

    Excelente Post.

    Muy completo, por cierto

  2. judavi 19 Mayo 2010 at 10:16 pm Permalink

    😀 gracias

  3. anonimo 2 Abril 2012 at 4:42 am Permalink

    Hola,
    Buscando me he encontrado con vuestros comentarios de auditoría y yo me encuentro en un apuro que espero me orientéis un poco.
    Tengo un contrato con unos socios para el desarrollo de un software de seguridad. Yo colaboro en la interface grafica y la estructura y clientes de venta e inversión y ellos en la programación de la aplicación.
    Resulta que ellos han hecho bien poco y está a punto de cumplir el plazo para su elaboración.
    Necesito que un auditor audite lo que me han entregado a fin de poderlos denunciar.
    Donde puedo encontrar una empresa especialista?

  4. Erick Santos 7 Septiembre 2016 at 6:45 pm Permalink

    Aguante papu, que buen post
    que picardia que es…saludos la ctm

    +10 Lince, recomendado


Vamos! Deja un comentario :)