Generando confianza desde el software

Construir rápido un software siempre ha sido el reto de los programadores, desarrolladores, analistas de control de calidad y operadores encargados del despliegue, tanto que involucra en muchas ocasiones un nivel aceptable de incumplimiento que se encierran en frases como “instálalo, luego lo regularizamos”, “ejecuta el script, luego regularizamos el permiso”, “actualiza el componente, luego formalizamos”, y pasado un tiempo prudencial nunca se regulariza. Esto es común, porque la euforia de haber logrado algo que evitaría una catástrofe a la empresa, nos ciega con respecto a que la regularización no es algo que entrega valor a la empresa, siendo todo lo contrario. Veamos.

Perspectiva profesional

En un ambiente donde hemos sido criados profesionalmente con frases como “la carrera es muy cambiante”, “lo que aprendes hoy día, mañana ya es historia”, “A ese programador lo contrataron porque es muy rápido”, entre otros de esa índole, uno se mantiene viviendo rápido o construyendo rápido, por lo que prima la obtención de resultados primarios, que sí, le dan en la vena de necesidades del negocio, pero muchas veces se pierde el equilibrio tras una falta de visión a mediano y largo plazo; y llevándolo a un plano sólido de ejemplos, podemos involucrar la falta de una arquitectura de software, falta de proyecciones de escalabilidad, falta de protocolos de seguridad en los despliegues de componentes de software, falta de planes de concienciación de seguridad y ciberseguridad relacionados al software de la organización, etc. El tema es el siguiente, todo lo mencionado anteriormente, involucra formalizaciones de gestión documentaría y establecimiento de políticas, los cuales son necesarias para un orden y cuidado de activos. A esto se suma que muchos profesionales en auditoría se enfocan en el contexto de cumplimiento más no en la agilidad que involucra ello, un ejemplo, a un auditor de tecnologías le interesaría más que exista un documento (físico o electrónico) que diga cómo se realizarán los backups de códigos de los sistemas, que la tecnología que se utiliza para realizar el backup, y todo esto está bien, pues no está dentro del alcance del auditor realizar modificaciones de lo ya implementado. Eso compete al implementado de dicho control, que puede ser un jefe de desarrollo o un consultor externo que apoye a ese jefe, el cual debe tener la habilidad de cumplir con ambas partes, es decir cumplir con lo que se va a auditar sin perder la rapidez de entrega de servicio.

La confianza

Tratar de generar las evidencias necesarias para demostrar el cumplimiento a las normas, políticas, procedimientos, reglas, etc. que establece la organización suelen estar en cierta parte fuera del margen de las necesidades de los negocios en cuestión de agilidad, por ejemplo, no se puede actualizar un componente del sistema si es que primero no se ha firmado un documento de aceptación de validación de funcionalidad por parte del usuario final, o, no se puede realizar una ejecución de script en el servidor de producción si es que antes no hay una participación directa de toda el área de redes en la verificación de conectividad con una VPN, este tipo de cosas, dependiendo del contexto de la organización es necesaria, pero no todas la tienen que llevar a cabo. Por eso es muy importante el nivel de experiencia en reconstrucción de procesos de los jefes del área de sistemas para establecer correctamente cambios sustanciales que permitan abarcar con el cumplimiento de necesidades de todas las partes involucradas en el core de negocio, sin perder la perspectiva de agilidad.

Pruebas automatizadas

El primera paso puede darse de muchas maneras, una de ellas es iniciar con pruebas automatizadas, un diccionario de pruebas, según tecnología, software, módulo, hasta opción de menú, pero vamos, esto podría llevar semanas de implementación, pero si no se da pie a ello, surgirán los retrasos y debilita la agilidad del procesos de construcción de software. Hay muchas herramientas al respecto según la tecnología a utilizar, el problema es que en nuestra región, es muy poca la preparación que se brinda respecto a ello, generalmente son pruebas de caja negra, sólo se prueba funcionalidad, más no revisión de código o pruebas de estrés. Estos últimos en su mayoría las ejecutan las medianas a grandes empresas y más si están relacionadas al rubro de la banca y finanzas. Ok, pero eso implica a que una pequeña o hasta una micro, no considere seguridad y agilidad dentro de sus procesos. Bueno, la agilidad es innata en una mype o startup de máximo diez personas, pero la seguridad sigue siendo un poco inestable o de poca consideración dentro de los procesos tácitos existentes en este tipo de empresas.

Consejo audit

No se desenfoque en incluir a la seguridad de la información dentro de todos sus procesos, considerando que hay mucha demanda por parte de los atacantes en perjudicar a su organización por los flancos más débiles, como, su personal y sus procesos. En audit nos responsabilizamos en que Usted salvaguarde sus activos de información sin perder la vista el cumplimiento de sus metas organizacionales ni tampoco sus objetivos de agilidad, todo bajo la premisa de menos papel más digitalización.