SERVICIOS DE CALIDAD Y PRUEBAS DEL SOFTWARE DE SEGURIDAD EN INTECO
SERVICIOS DE CALIDAD Y PRUEBAS DEL SOFTWARE DE SEGURIDAD EN INTECO
EXP. 011/13
PLIEGO DE CARACTERÍSTICAS TÉCNICAS
ÍNDICE
1. ALCANCE Y OBJETO DEL CONTRATO 4
2.1. Consideraciones Previas 5
2.2. Entorno de trabajo actual 5
2.4. Descripción de los trabajos 8
2.4.1. Gestión de la calidad del producto 8
2.4.2. Gestión de la calidad de los procesos 9
2.4.3. Realización de pruebas 9
2.4.4. Integración con ecosistema de desarrollo 10
2.4.5. Colaboración con equipos del área de desarrollo de INTECO10
2.4.6. Promoción de productos desarrollados 11
2.5.2. Perfil técnico del equipo de trabajo 12
2.5.3. Formación del Equipo de Trabajo 12
4.1. Reunión de Lanzamiento 16
4.2. Reuniones de Seguimiento 16
4.3. Cierre del Proyecto y Memoria Final 17
5. DIRECCIÓN Y SEGUIMIENTO DE LOS TRABAJOS 18
6.1. Lugar de realización de los trabajos 19
6.2. prestación del servicio 19
6.4. Obligaciones de información y documentación 20
7. PRESENTACIÓN DE LAS OFERTAS TÉCNICAS 22
7.2. Formato de la propuesta técnica (sobre nº 2) 22
7.2.1. Metodología, métricas de calidad y SLAs, planificación, transferencia de conocimiento, documentación 22
Nota: Cualquier consulta en relación a este procedimiento de adjudicación debe dirigirse por correo electrónico a la dirección xxxxxxxxxxxx@xxxxxx.xx, indicando:
Cuerpo: nombre de la empresa, datos de la persona que realiza la consulta y texto de la consulta.
Para ampliar información sobre la construcción de documentos PDF accesibles puede consultar la guía disponible en la sección Accesibilidad > Formación > Manuales y Guías de la página xxxx://xxx.xxxxxx.xx.
1. ALCANCE Y OBJETO DEL CONTRATO
1.1. ANTECEDENTES
1.2. OBJETO
El objeto del presente contrato es la prestación de servicios para el control de calidad de los productos y servicios de seguridad de INTECO y para el aseguramiento de la calidad en los procesos de desarrollo, la gestión y elaboración de las pruebas de los proyectos que estén o se pongan en marcha a lo largo del periodo del contrato así como la puesta en explotación de estos productos.
2. REQUISITOS TÉCNICOS
2.1. CONSIDERACIONES PREVIAS
2.2. ENTORNO DE TRABAJO ACTUAL
A continuación se muestra, de forma esquemática, el sistema de trabajo planteado:
• Interfaz: servicios de maquetación en el área para la realización de los diseños gráficos, maquetado y cualquier otra actividad relacionada. Este servicio no es objeto de la presente licitación.
• Desarrollo: Para la prestación de los servicios se requieren tres tipos de trabajos: desarrollo, mantenimiento y pruebas.
Servicios de desarrollo: Realizarán los desarrollos nuevos para proyectos de INTECO. Asimismo, podrán llegar a realizar evoluciones de aplicaciones para la correcta ejecución de los desarrollos y durante la fase de planificación se fijará un plan de pruebas específico junto con el equipo de pruebas1.
Servicios de mantenimiento: Realizarán desarrollos para el mantenimiento correctivo de las aplicaciones, a medida que se vayan detectando incidencias y bugs en proyectos cuya fase de desarrollo ya haya finalizado. Al mismo tiempo, se encargarán de un mantenimiento evolutivo a pequeña escala para desarrollos menores que no requieran de planificación.
• Calidad y Pruebas: Refiriéndose a Calidad, el servicio consiste en el control de los procesos, definiendo las métricas de calidad (KPI) e interactuando con el equipo de mantenimiento para su aplicación al ecosistema, además de gestionar los entornos del propio ecosistema para los distintos proyectos del área. Este servicio es el objeto de la presente licitación.
En cuanto a Pruebas, el adjudicatario del presente pliego será el encargado de establecer los planes de prueba con los equipos de desarrollo y llevarlos a ejecución, validando el código y realizando las correspondientes pruebas unitarias, de estrés, caja negra, etc. Una vez finalizada la fase de pruebas de una entrega, el resultado de su valoración podrá ser uno de los siguientes casos.
o Validación de una entrega: Si no se detecta ningún problema en el código recibido, el adjudicatario validará la entrega y realizará las acciones necesarias para los pases a los entornos de Pre-Producción y Producción.
1 INTECO en paralelo a este procedimiento, está licitando dos contratos (expedientes 012/13 y 013/13) para el desarrollo de software de seguridad en INTECO diferenciando desarrollos de carácter estratégico y de alta complejidad tecnológica de los desarrollos de aplicaciones que no tienen estas especificidades. Los adjudicatarios de estos contratos y de la presente licitación deberán colaborar conjuntamente para la prestación de los servicios que son complementarios e imprescindibles para obtener resultados satisfactorios. Las empresas interesadas podrán licitar a todos los procedimientos (a la presente licitación expediente 011/13 “Servicios de calidad y pruebas del software de seguridad en INTECO” y a los expedientes 012/13 “Servicios de desarrollos de software de seguridad de carácter estratégico de alta complejidad tecnológica” y 013/13 para la contratación de servicios de desarrollos de aplicaciones que no tienen las especificidades de estratégicos y de alta complejidad tecnológica) pero en caso de resultar la oferta más ventajosa se le adjudicará el procedimiento de desarrollo, siendo el presente procedimiento 011/13 “Servicios de calidad y pruebas del software de seguridad en INTECO” adjudicado a la segunda oferta más ventajosa. No es posible que una misma empresa sea adjudicataria de ambos tipos de contratos por existir un conflicto de intereses en ambos servicios. Esto se debe a que el adjudicatario xxx xxxxxx 011/13 “Servicios de calidad y pruebas del software de seguridad en INTECO” será el órgano de control de los desarrollos junto con la dirección Técnica de INTECO y por tanto es el encargado de asesorar y auditar las pruebas y la calidad del producto.
o Rechazo de una entrega: Si se detecta algún problema en el código recibido, el adjudicatario documentará las incidencias utilizando las herramientas que INTECO utilice a tal efecto y avisará al equipo de desarrollo correspondiente de los problemas detectados a la espera de recibir una nueva entrega con las incidencias resueltas.
• Ecosistema: Para la prestación de los diferentes servicios, INTECO dispone de una serie de aplicaciones, descritas en el apartado 2.6 Medios técnicos del presente Pliego, que aportan características para facilitar, complementar y mejorar la realización de sus actividades. El adjudicatario del presente Xxxxxx deberá adaptarse al uso de estas herramientas, con el fin de que la integración de los trabajos en la prestación de servicios sea efectiva y posible.
• Entornos: Los principales entornos utilizados son los siguientes:
o Desarrollo: los desarrollos se ponen a disposición del adjudicatario para realizar sobre ellos las pruebas correspondientes durante las fases de construcción de aplicaciones.
o Pre-Producción: Con la finalidad de controlar y gestionar la puesta en explotación de los proyectos, una vez validadas las pruebas, será el adjudicatario el único grupo en el área de desarrollo que tendrá acceso total a este entorno para realizar los pases a Pre-Producción.
o Producción: Los pases a producción serán realizados por el departamento de sistemas de INTECO, no obstante, el equipo de Pruebas deberá aportar la documentación necesaria para realizar el pase, velar por que el proceso se realice con normalidad y comprobar que los proyectos queden correctamente desplegados.
2.3. ALCANCE
2.4. DESCRIPCIÓN DE LOS TRABAJOS
El adjudicatario deberá encargarse de diseñar, realizar las pruebas, implementar los casos de prueba y controlar la calidad de las herramientas y servicios desarrollados por INTECO y sus colaboradores. La fase de pruebas de software implica la detección de defectos en el software y la comprobación del cumplimiento de cada uno de los requisitos funcionales en los productos desarrollados, incluyendo pruebas de usabilidad, seguridad, calidad y aplicabilidad del software así como cualquier otra actuación tendente a la optimización del mismo.
2.4.1. Gestión de la calidad del producto
El adjudicatario deberá cumplir los siguientes aspectos:
• Diseñar el plan de pruebas para el conjunto de requisitos al principio del proyecto acordándolo con el colaborador de desarrollo.
• Asegurar la calidad de los entregables, tanto de entrada como de salida de los productos y servicios desarrollados en los distintos proyectos de INTECO.
• Detectar errores en las fases iniciales del proyecto de forma que se pueda reducir el coste en la gestión de pruebas e incidencias.
• Asegurar que el producto final se adecua a las funciones y objetivos previamente especificados en la toma de requisitos.
• En el caso de que el software sea parte de un sistema más complejo, se deberá verificar su interoperabilidad y su correcta interacción con el resto de elementos del sistema.
• Asegurar que el producto cumple un nivel de calidad, seguridad y accesibilidad mínimo establecido por INTECO.
• Asegurar que el producto desarrollado sea fiable, tolerante a fallos y capaz de restablecer y recuperar un nivel de prestaciones especificado en caso de error.
• Si se especifica en los requisitos del producto, se debe comprobar que el software desarrollado es usable según las normativas y guías que se apliquen en INTECO.
• Verificar que el software cumple unos niveles mínimos de eficiencia bajo unas condiciones determinadas. Para ello, el adjudicatario deberá realizar pruebas de rendimiento y carga del producto.
• Facilitar la mantenibilidad del producto permitiendo que cualquier desarrollador pueda analizar el software e implementar una modificación sin un coste excesivo.
• El adjudicatario debe verificar que el producto se puede configurar e instalar en un entorno especificado.
2.4.2. Gestión de la calidad de los procesos
El adjudicatario deberá asegurar el cumplimiento de los procesos establecidos en INTECO, subsanando deficiencias que puedan surgir, identificando acciones de mejora en los procedimientos y analizando la puesta en marcha de nuevos procesos. También se establecerá un sistema para la medición del nivel de desempeño de los procesos de forma que INTECO, a través de unos indicadores (Key Performace Indicator - KPI), pueda evaluar y controlar el rendimiento de los procesos de la organización.
• Alcance de las pruebas: especificación y justificación de los niveles de pruebas a realizar así como un marco general de la planificación de cada nivel de prueba.
• Requisitos del entorno de pruebas: el adjudicatario especificará las características del entorno de pruebas (hardware, software, herramientas, etc.) donde se llevará a cabo cada uno de los test.
• Pruebas de aceptación: especificación de los criterios de aceptación del sistema que deben ser validados como paso previo a la puesta en producción. Se debe prestar especial atención en los aspectos relacionados con las funcionalidades críticas, el rendimiento y la seguridad del producto.
Dentro de la metodología empleada, se plantean los siguientes tipos de prueba a ejecutar por el adjudicatario, siempre y cuando se adecuen al objeto del software a testear:
• Pruebas unitarias.
• Pruebas de integración.
• Pruebas de estrés.
• Auditorías de calidad del código (principalmente Sonar).
• Auditorías de seguridad del código (principalmente Fortify).
• Auditorías de accesibilidad y usabilidad.
• Pruebas de caja blanca.
• Gestión de pruebas de caja negra (junto al equipo de INTECO).
• Pruebas funcionales.
• Pruebas de aceptación.
• Otras pruebas que sean necesarias.
2.4.4. Integración con ecosistema de desarrollo
INTECO tiene implantado actualmente un entorno tecnológico (2.2 Entorno de trabajo actual) cuya misión es la de facilitar el trabajo y automatizar ciertas tareas.
2.4.5. Colaboración con equipos del área de desarrollo de INTECO
El equipo deberá colaborar con otros equipos de desarrollo aportando lo siguiente:
• Definición de las guías y políticas de calidad que cubran los procesos en el marco de trabajo actual de cada uno de los equipos, que habitualmente emplean una filosofía de trabajo basada en el desarrollo ágil (Scrum).
• Estandarización y homogeneización de los desarrollos en cuanto al uso de estilos de codificación, buenas prácticas en la documentación del código, codificación segura, recomendaciones de mejores técnicas, etc.
• Establecimiento de los procesos de gestión para la entrega de versiones de software, pruebas, control de versiones y puestas en producción de las versiones validadas.
2.4.6. Promoción de productos desarrollados
2.5. EQUIPO DE TRABAJO
Teniendo en cuenta los trabajos a realizar comentados en el apartado 2.3 Alcance la empresa, la empresa adjudicataria deberá hacer una propuesta del equipo que considera que sería necesario para poder cumplir con los trabajos presenciales y remotos con garantías. Esta estimación será un punto valorable a tener en cuenta en los criterios de valoración. No obstante, en función de las prioridades de INTECO y dado que a lo largo de la consecución del contrato, pueden ser necesarios nuevas necesidades, el equipo deberá poder balancearse, de tal forma que pueda asumir, en momentos puntuales, una carga de trabajo superior, así como periodos en los que la carga será inferior a la habitual. La necesidad de estas variaciones deberá ser estimada por la empresa adjudicataria en función de los trabajos que INTECO vaya solicitando.
La descripción de los perfiles técnicos requeridos se recoge en el punto 2.5.2 Perfil técnico del equipo de trabajo.
2.5.2. Perfil técnico del equipo de trabajo
• Conocimientos y experiencia en la implementación de casos de prueba.
• Conocimientos y experiencia en la gestión de calidad de producto y en el aseguramiento de la calidad de los procesos.
• Conocimientos y experiencia en la utilización de herramientas de codificación segura, control de calidad, pruebas automáticas, etc.
• Utilización de ecosistemas de herramientas de desarrollo de software (SVN, SONAR, Mantis, JIRA, Fortify etc.).
• Conocimientos de bastionado de equipos.
• Capacidad de comunicación, análisis, documentación y trabajo en equipo.
• Relación de proyectos en el ámbito de las tecnologías de la seguridad informática y gestión de la calidad en los que ha participado.
• Cursos de formación y certificaciones en seguridad informática, accesibilidad, usabilidad, tecnologías de desarrollo y en sistemas de gestión de la seguridad de la información.
2.5.3. Formación del Equipo de Trabajo
2.6. MEDIOS TÉCNICOS
• SVN. Sistema de gestión de versiones del código fuente de las aplicaciones.
• Mantis. Herramienta web de gestión de incidentes o bugs en los proyectos.
• Redmine / MS Project / Jira. Sistema de gestión de proyectos y tareas.
• Knowledge Tree. Herramienta de gestión documental.
• Maven. Gestiona proyectos a nivel de código fuente y automatizar el ensamblado.
• Nexus. Permite gestionar repositorios de artefactos (por ejemplo bibliotecas de software) tanto externos como internos.
• Xxxxxxx. Permite configurar tareas automáticas sobre proyectos, utilizando el resto de herramientas existentes en el ecosistema integrado de desarrollo.
• Sonar. plataforma de análisis de código fuente que permite obtener métricas que ayudan a mejorar la calidad del código del software.
• HP Fortify. herramienta para la realización de pruebas de caja blanca que identifica vulnerabilidades de seguridad en el código fuente. El adjudicatario tendrá acceso a las licencias de auditoría y los adjudicatarios de los servicios de desarrollos usarán el plugin de tal manera que las entregas serán de alta calidad.
• JMeter. herramienta para la prueba de rendimiento de aplicaciones.
• Selenium. framework para la automatización de pruebas de aplicaciones web.
• Sikuli. permite automatizar las pruebas de interfaces gráficas de usuario.
3. METODOLOGÍA
El adjudicatario colaborará con INTECO en el mantenimiento del sistema de gestión de calidad, el sistema de gestión de seguridad de la información y los requisitos de accesibilidad de cualquier proyecto, ejes fundamentales de la organización.
4. PLANIFICACIÓN
No obstante, se estima que se desarrollará del siguiente modo:
4.1. REUNIÓN DE LANZAMIENTO
• Presentación del equipo de trabajo del adjudicatario.
• Identificación de perfiles y asignación de roles.
• Presentación de la metodología a usar por el adjudicatario en cuanto a organización de recursos y seguimiento de los trabajos.
• Presentación del Plan de Formación del equipo en caso necesario.
• La planificación definitiva se determinará en la reunión de lanzamiento de forma conjunta con INTECO.
• Cualquier otra tarea que redunde en el desarrollo de los trabajos.
4.2. REUNIONES DE SEGUIMIENTO
• Grado de cumplimiento de los objetivos e hitos establecidos para cada uno de los servicios o herramientas del área.
• Lista de riesgos detectados que puedan comprometer el cumplimiento de los objetivos e hitos marcados, así como una propuesta de acciones para su mitigación o eliminación.
• Indicadores del número de incidencias y tareas asociadas al control de calidad y pruebas según la herramienta para la gestión de demanda.
• Trabajos realizados en cada área y en cada proyecto por parte del personal técnico, así como los resultados obtenidos.
• Listado de documentación generada.
• Trabajos planificados para el siguiente periodo y objetivos que se pretenden cumplir para cada uno de los proyectos.
• Identificación de mejoras que se puedan aplicar para el cumplimiento de los objetivos del servicio.
4.3. CIERRE DEL PROYECTO Y MEMORIA FINAL
5. DIRECCIÓN Y SEGUIMIENTO DE LOS TRABAJOS
a) Velar por el adecuado cumplimiento de los servicios contratados.
b) Emitir las certificaciones parciales de recepción de los mismos.
6. FORMA DE EJECUCIÓN
6.1. LUGAR DE REALIZACIÓN DE LOS TRABAJOS
Los servicios se prestarán con carácter ordinario en las instalaciones de INTECO.
6.2. PRESTACIÓN DEL SERVICIO
El servicio será efectivo a pleno rendimiento en 5x8 (cinco días de la semana, ocho horas).
6.3. CONTROL DE CALIDAD
• Facilitar el acceso al material solicitado por el grupo auditor.
• Designar personas responsables que acompañen a los auditores.
• Facilitar un entorno de trabajo adecuado en el mismo lugar en que tiene lugar la auditoría.
• Cooperar con el auditor.
• Participar en las reuniones que convoque el auditor.
• Analizar los datos encontrados para que el informe sea real.
• Emprender rápidamente acciones correctoras y/o preventivas.
• Emitir una respuesta oficial a los defectos de los que ha informado el grupo de auditores.
6.4. OBLIGACIONES DE INFORMACIÓN Y DOCUMENTACIÓN
• Trabajos realizados y resultados obtenidos en el período vigente.
• Trabajos planificados para el siguiente periodo.
• Identificación de mejoras que se puedan aplicar para el cumplimiento de los objetivos de los proyectos en los que esté involucrado.
El adjudicatario proporcionará, sin coste adicional para la Sociedad, una copia en soporte informático portátil (CD-ROM, DVD, llave USB, etc.) con toda la documentación generada durante la prestación de los servicios objeto del contrato.
6.5. HITOS DE FACTURACIÓN
La facturación del Servicio se llevará a cabo mensualmente conforme a las jornadas y horas efectivamente realizadas, dentro del período de facturación, y previa conformidad de INTECO.
7. PRESENTACIÓN DE LAS OFERTAS TÉCNICAS
7.1. DATOS GENERALES
La presentación de la documentación para su admisión como licitador supone la aceptación de lo dispuesto en la Instrucción de Contratación de la Sociedad incluida en el Perfil de Contratante y publicada en la web, así como todas las disposiciones del presente Pliego.
7.2. FORMATO DE LA PROPUESTA TÉCNICA (SOBRE Nº 2)
Este apartado tendrá una extensión máxima de 15 páginas (sin contar las copias de los certificados) y deberá incluir:
− La metodología de trabajo específica sobre el servicio a prestar teniendo en cuenta los modelos de madurez de desarrollo SW. El licitador deberá introducir una descripción de la metodología a seguir en la ejecución de los trabajos y una justificación razonada con sus ventajas e inconvenientes (si los hubiere).
− La metodología específica en cuanto a la gestión de la calidad, describiendo la metodología que utilizará para garantizar el la calidad de los productos y de los procesos, así como el licitador aportará sus certificaciones en calidad del software.
− Propuesta de métricas de calidad y acuerdos de nivel de servicio para la realización de los trabajos propuestos.
− Propuesta de niveles de SLA (acuerdos de nivel de servicio) y tiempos de respuesta.
− Propuesta de planificación para la ejecución de los trabajos.
− Propuesta para la realización de transferencias del conocimiento adquirido en cada proyecto, de tal forma que INTECO pueda seguir prestando los servicios realizados por el adjudicatario.
− Propuesta de la documentación a generar, de tal forma que INTECO disponga de toda la información necesaria para poder seguir prestando los servicios correspondientes con las debidas garantías.