¿Se pregunta cuánto tiempo lleva crear un software de seguridad del sistema?
Tenemos las respuestas para usted.
De acuerdo con un estudio realizado por Market Intelligence, “El mercado de software de seguridad en la nube se valoró en USD 29,500 millones en 2019, y se espera que alcance un valor de mercado de USD 37,370 millones en 2025, registrando una CAGR de 4,98 % durante el período de pronóstico, 2020 -2025.”
La creciente demanda de software de seguridad de sistemas empresariales
Las empresas incurren en enormes costos como resultado de los ataques cibernéticos. Las filtraciones de datos cuestan a las empresas la friolera de 3,86 millones de dólares al año, según un análisis que se encuentra en “El costo promedio de una violación de datos es más alto en los EE. UU. [Infographic]”.
Un estudio de IBM muestra que se necesitan 365 días en promedio para identificar una violación de datos y contener sus efectos si la violación es el resultado de un ataque cibernético. Symantec ha declarado en su “Internet security informe de amenazas 2019” que los atacantes cibernéticos roban los datos de la tarjeta de crédito de los usuarios de aproximadamente 4.800 sitios web cada mes solo inyectando códigos maliciosos.
Estas amenazas obligan a las empresas a invertir fuertemente en la seguridad cibernética. El término cubre aspectos como la seguridad de la red, la seguridad de las aplicaciones, la seguridad de la información, la recuperación ante desastres, la planificación de la continuidad del negocio y la capacitación del usuario final.
La demanda de soluciones de ciberseguridad para empresas tiene los siguientes impulsores:
- El crecimiento exponencial de los datos;
- La proliferación de bandas organizadas de ciberataques;
- La facilidad para lanzar ciberataques;
- Formas de ataques cada vez más sofisticadas;
- Crecimiento de tecnologías de alto potencial con vulnerabilidad, como computación en la nube, “Internet de las Cosas” (IoT), etc.
He explicado estos impulsores en «Por qué las empresas deben invertir más en soluciones de seguridad cibernética».
Como era de esperar, el mercado de soluciones de ciberseguridad está creciendo. PRNewswire proyectos este mercado alcance los $ 300 mil millones en 2024, desde los modestos $ 120 mil millones en 2017.
¿Cuánto tiempo lleva un proyecto de desarrollo de software de seguridad de sistemas?
Demos un paso atrás antes de hablar sobre cuánto tiempo lleva un proyecto de desarrollo de software de seguridad informática, y pongámonos de acuerdo sobre la metodología adecuada. Un software de seguridad empresarial es un activo de gran valor para la empresa.
Un proyecto para desarrollar dicho software tiene requisitos específicos y bien definidos. Dichos proyectos necesitan revisiones periódicas después de cada fase, y la metodología tradicional de «Cascada» se adapta a dichos proyectos. Puede leer «Waterfall vs Agile: qué metodología es adecuada para su proyecto» para obtener más información.
Ahora lo guiaré a través de las diversas fases de este proyecto, describiendo cuánto tiempo necesita cada fase. Estas fases son las siguientes:
- Recopilación y análisis de requisitos;
- Diseño;
- Desarrollo;
- Pruebas;
- Despliegue;
Lea sobre estas fases en «¿Qué es el ciclo de vida del desarrollo de software y qué planea?».
Supuestos clave
La estimación de tiempo en este artículo asume lo siguiente:
- Los patrocinadores del proyecto y las partes interesadas comerciales están completamente alineados con el plan del proyecto y se han comprometido con el éxito del proyecto. Puedes leer «¿Qué es un patrocinador de proyecto?” para aprender sobre la importancia de esto.
- Usted tiene un equipo calificado y experimentado en su lugar. Si no tiene esto en su lugar, necesita formar un equipo, y nuestra guía «Equipo de desarrollo de aplicaciones independiente versus equipos de desarrollo de software expertos en el campo» puede ayudar. El equipo necesita los siguientes roles:
- analistas de negocios;
- diseñadores de interfaz de usuario;
- Un arquitecto de software de seguridad;
- Desarrolladores de software de seguridad;
- probadores;
- Un gerente de proyecto (PM).
- El arquitecto y los desarrolladores del software de seguridad tienen la habilidades necesariasp.ej:
- Arquitectura de software (para el arquitecto de software de seguridad);
- Sistemas operativos como Windows, Unix y Linux;
- Lenguajes de programación como Java, C, C++, PERL, etc.;
- Bases de datos relacionales como MySQL;
- TCP/IP;
- seguridad de PI;
- XML, servicios web;
- Computación en la nube;
- Hipervisores, por ejemplo, VMware.
- El PM es lo suficientemente competente para administrar este proyecto de manera efectiva y utilizará las mejores prácticas y herramientas relevantes del PM. Puedes leer «15 excelentes prácticas de gestión de proyectos para gerentes” para obtener más información.
- Los miembros del equipo comparten ubicación y tienen suficiente acceso a las partes interesadas del proyecto.
- Los miembros del equipo del proyecto están disponibles para trabajar en el proyecto de acuerdo con el plan de carga de recursos para el proyecto.
- Tiene la infraestructura de TI necesaria en su lugar. Si no tiene esto, puede comprarlo de un proveedor de «Infraestructura como servicio» (IaaS). recomiendo Nube informática elástica de AWS (EC2)dadas las excelentes capacidades en la nube de AWS.
- La estimación de tiempo incluye las subfases de soporte posterior a la implementación y soporte de garantía de la fase de mantenimiento; sin embargo, no incluye la estimación del mantenimiento continuo a largo plazo.
1. Fase de análisis de requisitos
Esta es la fase más importante en los proyectos que utilizan la metodología Waterfall, y debe asignar suficiente tiempo para esto. Necesitas decidir las características que ofrecerás. Un paquete de software de seguridad empresarial puede tener las siguientes características:
- Debería actualizar automáticamente los sistemas informáticos para hacer frente a las nuevas amenazas de ciberseguridad.
- El software de seguridad empresarial debe escanear el sistema de TI en tiempo real.
- Debería limpiar automáticamente los virus sin la intervención del usuario.
- El software debe proporcionar protección de datos para múltiples aplicaciones y servicios.
- Un software de seguridad empresarial debe proporcionar seguridad a nivel de aplicación.
- El software debe proporcionar un panel de administración con opciones de menú basadas en funciones.
- Las empresas a menudo necesitan seguridad de nivel de fila para sus datos confidenciales, y el software de seguridad debe proporcionar esto.
- El «Inicio de sesión único» (SSO) es una característica importante.
- El software de seguridad debe permitir la gestión de los privilegios de los usuarios.
- Un software de seguridad empresarial debe permitir la auditoría de la actividad de las aplicaciones.
Puedes leer «¿Qué es el software de seguridad informática? Análisis de características, beneficios y precios.” para una comprensión más profunda de estas características.
Los requisitos también deben indicar claramente qué tipos de software de seguridad ofrecerá en su solución de seguridad empresarial. Las soluciones de seguridad empresarial suelen tener los siguientes tipos de software:
- software antivirus informático;
- Software antispyware;
- Seguridad de la red;
- protección de cortafuegos;
- Administradores de contraseñas;
- Herramientas de cifrado de datos;
- Software de gestión de registros;
- Herramientas de mitigación de bots;
- Herramientas de monitoreo;
- Software de prevención de intrusiones.
Puede leer más sobre estos tipos en “10 tipos de software de seguridad que el sitio web de su empresa necesita absolutamente”. El equipo del proyecto debe identificar claramente qué tipos se incluirán en la solución de seguridad empresarial propuesta.
El PM debe asegurarse de que el equipo siga los procesos de gestión de requisitos de software, por ejemplo:
- Involucrar a los stakeholders del negocio en la fase de análisis de requisitos;
- Identificar requisitos y darles seguimiento utilizando matrices de trazabilidad relevantes;
- Establecer el proceso de gestión de cambios de requisitos;
- Línea base de los requisitos.
Lea más sobre esto en “Proceso de gestión de requisitos en ingeniería de software.”. Los BA producen un documento llamado «Especificación de requisitos de software» (SRS) en esta fase. Una herramienta robusta de gestión de requisitos como IBM Rational DOORS Próxima Generación puede ayudar al equipo.
Te recomiendo que dediques 1 mes a esta fase.
2. Fase de diseño
En la fase de diseño, el arquitecto debe involucrar a las partes interesadas adecuadas y centrarse en lo siguiente:
- El arquitecto toma los requisitos como entradas y diseña los componentes del sistema a un alto nivel.
- La planificación de la interacción entre los diversos componentes del sistema tiene lugar durante esta fase.
- El arquitecto también toma las decisiones de arquitectura relevantes y decide un patrón de arquitectura de software, de la siguiente manera:
- Es probable que un software de seguridad empresarial tenga un conjunto fijo de tareas centrales, y seguramente será un conjunto de herramientas de seguridad de alto uso.
- Puede considerar usar el patrón de arquitectura Microkernel, que es adecuado para este tipo de software. Más información sobre este patrón está disponible en «Arquitectura de proyectos Java de grandes empresas».
- Luego, el arquitecto toma la decisión sobre la pila de tecnología.
- Posteriormente, el PM trabaja con el arquitecto para identificar los riesgos y limitaciones del proyecto.
- Como siguiente paso, el arquitecto dirige al equipo para preparar un documento de diseño detallado, que es granular. Este es un documento de diseño a nivel de componente/módulo, llamado «Documento de especificación de diseño» (DSD).
Puedes leer «Ciclo de vida de desarrollo de software: fases SDLC» para más información. El PM utiliza los resultados de las fases 1 y 2 para preparar un plan de proyecto detallado que incluye un cronograma. Le recomiendo que asigne 2-3 meses para esta fase crucial.
La duración de esta fase depende de la cantidad de funciones y los diversos tipos de software de seguridad que planea ofrecer en esta solución de seguridad empresarial. “Proceso de entrada y salida jerárquica” (HIPO) y “Diagrama de flujo de datos” (DFD) son algunas de las herramientas que puede utilizar en esta fase, y puede obtener más información en “Herramientas de diseño y análisis de software”.
3. Fase de desarrollo
En esta fase, los desarrolladores utilizan el documento de diseño como entrada y codifican los módulos. Los programadores pueden usar algunas ayudas para esto, por ejemplo:
- Podrían usar «Entornos de desarrollo integrados» (IDE) como Eclipse o IDEA IntelliJ.
- Dependiendo de los requisitos, los desarrolladores pueden usar una plataforma de desarrollo de software de seguridad como SEGURIDAD IÓNICA. Esta plataforma ofrece varias funciones, por ejemplo, gestión de claves, gestión de datos dinámicos, adición de seguridad a nivel de aplicación, aplicación de políticas de privacidad y análisis.
- Los programadores a menudo usan guías de revisión de código y listas de verificación.
Puede leer más sobre esta fase en el “Tutorial de SDLC (ciclo de vida de desarrollo de software): Qué es, fases, modelo”. El código fuente es el resultado de esta fase.
Recomiendo de 4 a 6 meses para esta fase, y la complejidad del software de seguridad propuesto influye en el tiempo requerido.
4. Fase de prueba
Cuando crea un software de seguridad, la fase de prueba es crucial. Una solución de software de seguridad empresarial es un producto de alto riesgo, por lo tanto, es importante realizar pruebas exhaustivas y sistemáticas. Esta fase podría incluir las siguientes pruebas funcionales:
- Examen de la unidad;
- Pruebas de integración;
- Pruebas del sistema;
- Pruebas de cordura;
- pruebas de humo;
- Pruebas de interfaz;
- Pruebas de regresión;
- Pruebas Beta/Aceptación.
El software de seguridad se utilizará en un contexto empresarial, por lo tanto, las siguientes pruebas no funcionales son importantes:
- Pruebas de rendimiento;
- Prueba de carga;
- Pruebas de estrés;
- Pruebas de volumen;
- Pruebas de recuperación;
- Pruebas de confiabilidad;
- Pruebas de usabilidad;
- Pruebas de conformidad.
Puede leer sobre los distintos tipos de pruebas en “Tipos de pruebas de software: diferentes tipos de pruebas con detalles”.
Las partes interesadas del negocio deben participar activamente, y el patrocinador del proyecto debe trabajar en estrecha colaboración con el PM para garantizar esto. Te recomiendo que reserves 3-4 meses para esta fase.
5. Fase de despliegue
Esta fase implica algunos procesos que puede llevar a cabo mientras las fases anteriores están en curso, y hay procesos que deben seguir a la fase de prueba. Primero analicemos los procesos que puede ejecutar mientras las otras fases están en progreso, y estos son los siguientes:
- Implemente un proceso de implementación: esto implica configurar revisiones donde obtiene la señal verde para la implementación y crear una lista de verificación de implementación.
- Establecer el entorno de implementación: esto incluye los scripts de implementación, las herramientas de automatización, el entorno de «Integración continua» (CI) y el entorno de «Entrega continua» (CD).
Puedes leer sobre esto en “Despliegue de software”. La configuración de entornos y procesos de implementación de software sólidos puede llevar de 3 a 4 meses. Sin embargo, puede reutilizar estos activos de software más adelante.
A continuación explicaré los procesos que deben seguir a la realización de las pruebas, y estos son los siguientes:
- Crear un plan de implementación y un plan de retroceso;
- Revisar la preparación para la implementación;
- Obtener la aprobación adecuada para el plan de despliegue, el cronograma y el plan de retirada;
- Ejecutar los procesos de despliegue.
Le recomiendo que asigne 1 semana para esto, ya que las revisiones y aprobaciones pueden llevar algún tiempo.
6. Fase de mantenimiento
Esta fase generalmente incluye soporte posterior a la implementación, soporte de garantía y mantenimiento continuo a largo plazo. Las empresas a menudo establecen contratos separados con los proveedores de servicios para el mantenimiento continuo, por lo tanto, aquí hablo solo del soporte posterior a la implementación y de la garantía.
Debe retener una cantidad suficiente de desarrolladores experimentados desde la fase de desarrollo hasta esta fase. El equipo puede esperar una gran carga de trabajo durante la implementación posterior y el soporte de garantía, y un conocimiento profundo del sistema es clave.
Puede leer sobre la fase de mantenimiento en “El SDLC: 7 fases, modelos populares, beneficios y más”. Los períodos de garantía a menudo pueden ser de un trimestre.
¿Está planeando un proyecto para crear un software de seguridad del sistema?
Dependiendo de la complejidad de la solución de seguridad empresarial propuesta, un proyecto de desarrollo de software de seguridad del sistema puede llevar entre 16 y 21 meses. Dichos proyectos pueden ser complejos. Encontrar un PM con experiencia en liderar un proyecto de este tipo puede ser difícil; además, la contratación de arquitectos y desarrolladores de software de seguridad puede llevar un tiempo de espera significativo.
Es posible que necesite ayuda profesional para tales proyectos. Considere contratar a una empresa de desarrollo de software de renombre y busque una que pueda asumir la responsabilidad de extremo a extremo para entregar el proyecto con éxito.
Encontrar tales socios de desarrollo requiere mucha diligencia debida ya que este es un proyecto de alto riesgo. Nuestra guía “¿Cómo encontrar la mejor empresa de desarrollo de software?” puede ayudarle a encontrar un socio de desarrollo de este tipo.
Si todavía está buscando desarrolladores de aplicaciones competentes, comuníquese con DevTeam.Space a través de este formulario rápido y asociarse con nuestros desarrolladores de software expertos en el campo con experiencia en el desarrollo de soluciones de software sólidas y seguras para el mercado competitivo que existe para una variedad de industrias.
Preguntas frecuentes sobre el software de seguridad del sistema
Es una aplicación de software que protege su computadora o dispositivos móviles. Las soluciones varían desde software antivirus y antispyware avanzado hasta soluciones antimalware más simples.
Siempre que la plataforma en la nube sea de buena reputación, las soluciones de seguridad basadas en la nube suelen ser los mejores ejemplos de una buena solución de seguridad, ya que son mantenidas por equipos de expertos y se actualizan periódicamente.
Es posible crear su propia solución de seguridad. Sin embargo, tal solución requiere un compromiso a largo plazo por parte de expertos calificados. Puede encontrar expertos en seguridad en DevTeam.Space.
Related Posts:
- ¿Cuánto cuesta crear un software empresarial de escaneo de…
- El equipo crea un nuevo sistema Lidar que podría mejorar la…
- Cuánto cuesta Blockchain para el desarrollo de software I…
- Cómo estimar el tiempo de desarrollo de software: técnicas y…
- Nuevo software aumenta la seguridad de los vehículos…
- Uso de reseñas para crear un sistema de recomendaciones que…