Hoy en día, es común hablar de buenas prácticas de desarrollo de software en las distintas aplicaciones que manejamos para llevar a cabo nuestras tareas, por lo que, implementar un ciclo de vida de desarrollo de software seguro se ha convertido en una necesidad para garantizar la calidad de nuestras aplicaciones al igual que la seguridad en la información que estas mismas manejan.
Con el objetivo de mantener la calidad en el desarrollo de software, hoy en día se implementa lo que se le conoce como Software Development Life Cycle (SDLC, Ciclo de vida del desarrollo de Software), el cual, pasa por distintas etapas de evaluación, diseño y pruebas, con el objetivo de minimizar riesgos que impacten en la calidad y desarrollo de nuestra aplicación por falta de una planeación temprana. Así mismo, en este proceso es tomado en cuenta el diseño de la infraestructura tecnológico que estará soportando nuestra aplicación.
El riesgo A4:2021 Diseño Inseguro se presenta como una nueva categoría para el top 10 2021, el cual se refiere a las fallas ocasionadas debido a un diseño ineficiente en la lógica que estará llevando a cabo nuestra aplicación, algunos ejemplos de este riesgo pueden ser los siguientes:
- Ausencia de un SDLC eficiente, o bien.
- No se da seguimiento a cada etapa del SDLC debidamente, o bien, no se toman en cuenta etapas tempranas.
- No se contempla un diseño previo de la infraestructura tecnológica que estará soportando la aplicación ni de los componentes de la misma.
- No se comunican los requerimientos con claridad previo al diseño de la aplicación.
- No se cuenta con algoritmos y reglas de negocio de las tareas que estará desarrollando la aplicación.
- El desarrollo de software no se encuentra perfilado a las necesidades del negocio.
Son distintos factores los que contribuyen a un diseño inseguro, y podemos ver que este riesgo se encuentra en una posición muy alta en el top, lo cual, lo hace un riesgo muy frecuente, sin embargo, esto abre el cuestionamiento de porque este riesgo es tan popular entro otros riesgos del top. Podemos decir que una de las causas es la necesidad de implementar un SDLC en el desarrollo de las aplicaciones, debido a que esto no era algo que se implementaba años atrás y hoy en día es común encontrarse con aplicaciones que no lo hacen.
Otra causa que podemos encontrar para que este riesgo haya sido encontrado entre uno de los más frecuentes es la necesidad de las empresas por digitalizarse. Para entender un poco mejor esto vamos a hacerlo con uno de los ejemplos más comunes, el eCommerce, a consecuencia del aumento de la actividad digital durante la pandemia, las ventas de eCommerce en retail crecieron más de un 25 % en 2020 y más de un 15 % en 2021. Esto provoco que cada vez más empresas quisieran ofrecer sus productos a través de internet, lo que despertó la necesidad de desarrollar plataformas y herramientas necesarias lo antes posible, y no solo con el eCommerce, así mismo, la el teletrabajo y home office también contribuyó a buscar una virtualización de las herramientas necesarias para cumplir con las tareas de cada área de la organización.
Grafica, virtualización de pequeñas y medianas empresas en USA y Europa.
¿Cómo se ve involucrado la virtualización de una empresa con el diseño inseguro?, como ya mencionamos, a raíz de la pandemia Covid 19, se ha venido despertando una necesidad de parte de las organizaciones por digitalizarse, lo que ha provocado, una necesidad por desarrollar software que contribuya a las tareas de cada área de la organización, desde el año 2020 con la pandemia, se ha venido desarrollando una gran cantidad de software en tiempos relativamente cortos ante la urgencia de digitalizar procesos, provocando que, buscando optimizar tiempo, no se contemple un SDLC adecuado, impidiendo que se lleve a cabo un diseño adecuado de las reglas de negocio y flujos de información, ni de la infraestructura de la aplicación, permitiendo así, que esta necesidad de generar software de manera rápida caiga en distintos defectos de diseño inseguro.
Es común que por urgencia no se contemplen algunas fases del SDLC, sin embargo, estos son comportamientos que debemos evitar en nuestro desarrollo para asegurar la calidad del software que va a soportar los procesos de la aplicación, un error de lógica pudiera significar una gran pérdida económica para la empresa.