Mais conteúdo relacionado Semelhante a Usando el Aseguramiento de la calidad como una herramienta que nos permite innovar (20) Mais de CIFF Fundación (13) Usando el Aseguramiento de la calidad como una herramienta que nos permite innovar1. Usando el aseguramiento de la calidad como
una herramienta que nos permita innovar
Vector – Camino del Cerro de los Gamos 1, Edificio. 6, Planta 1 – 28224 Pozuelo de Alarcón – Madrid. Tel. (+34) 91 183 03 00 − www.vectorsf.com
2. Índice
Vector
1
2 El desarrollo de software
3 Aseguramiento de la calidad
4 Metodología
5 Cover
6 Tendencias
3. Sobre nosotros
La compañía
• Vector es una compañía dedicada a la consultoría y al desarrollo e
implantación de soluciones avanzadas, en el entorno de nuevas
tecnologías IT.
• El desarrollo de nuestras soluciones soporta diferentes modelos de
producción con foco en la industrialización de los procesos de
implantación.
• Nuestro modelo de operación permite cubrir todos las fases de la
construcción de soluciones desde su conceptualización hasta el
desarrollo de aplicaciones a medida o la implantación/integración
de soluciones de terceros.
Copyright © 2012 Vector– www.vectorsf.com 3
4. El equipo Vector
"Trabajar en Vector me da la oportunidad de que mi
carrera profesional se desarrolle en un entorno de
aprendizaje continuo".
Progresión 2002- 2011
"Nuestro equipo
Previsión
humano, nuestro
Más de 770 personas gran valor
02 03 04 05 06 07 08 09 10 11 año
en 2012 empresarial."
43 61 130 210 300 350 350 360 420 650 empleados
Copyright © 2012 Vector– www.vectorsf.com 4
5. Estamos
España
Inglaterra Alemania
Suiza Coruña
Andorra Vigo
Méjico
Madrid
Albacete
Brasil
Valencia
Córdoba
Sevilla
Copyright © 2012 Vector– www.vectorsf.com 5
6. Quienes somos
Sobre nosotros
Áreas de Negocio
Consultoría Soluciones y Servicios de
tecnologías desarrollo
Especialización Sectorial
Telco y Retail, Gran Finanzas y Admon. Industria y
Media Consumo y Seguros Públicas Utilities
Servicios
Copyright © 2012 Vector– www.vectorsf.com 6
7. Índice
Vector
1
2 El desarrollo de software
3 Aseguramiento de la calidad
4 Metodología
5 Cover
6 Tendencias
8. El desarrollo de software
¿Qué percibimos?
La Calidad en crisis
¿Calidad?
Ahora no
puedo
Desarrollo Oferta y demanda
Heterogéneo en desequilibrio
Falta de Explosión
estándares del
… Mercado
Clientes
Inventar ¿Presu-
la rueda puestos? Los recortes
I+D+i
presupuestarios
Copyright © 2012 Vector– www.vectorsf.com 8
9. Desarrollo de software
La Calidad en crisis
• Producción
• La crisis resulta en problemas de planificación e
ineficiencias de producción (poco valor
añadido en los procesos de producción).
• Es frecuente que los planes de producción se
centren en respuesta tácticas de forma
habitual, resultando en situaciones ineficientes
de baja calidad en los trabajos realizados.
• Personas Clientes
• Cuando hay “muchos fuegos que apagar”
con “pocos bomberos” es difícil trabajar sin
avivar otros o nuevos fuegos. Pérdida de
sensación de logro por el trabajo bien hecho y
la consecuente desmotivación.
• Política de calidad ¿Calidad?
• Reducción de costes se ha traducido en
reducción de calidad en el servicio. Ahora no
• Se sacrifican las estrategias de calidad con puedo
el consecuente deterioro de la imagen y del
alineamiento estratégico de la organización.
Copyright © 2012 Vector– www.vectorsf.com 9
10. Desarrollo de software
Oferta y demanda en desequilibrio
• Muchos competidores en un mercado en
recesión.
• Muchos “nuevos actores”.
• La competencia entre proveedores se basa
en la reducción de precios, lo cual se ha
traducido en un incremento de los Clientes
riesgos operativos y funcionales.
• Paradójicamente existe una reducción del
margen de elección dada la necesidad de
mitigar los riesgos de continuidad del
servicio. Explosión
del
mercado
Copyright © 2012 Vector– www.vectorsf.com 10
11. Desarrollo de software
Recortes presupuestarios
• Reducción de las partidas
presupuestarias TIC que oscilan entre
el 25% y el 90%.
• Se cae en la tentación de buscar el más
por menos, sin realizar el análisis
detallado mas allá de la solución táctica y
olvidando las soluciones estratégicas. Clientes
• Existen una situaciones de alto riesgo,
donde se combinan aspectos como la falta
de presupuesto, la quiebra de proveedores
y la continuidad del servicio administrativo
…
¿Y la
• Se incrementa la carga de gestión
debido a la proliferación de conflictos de partida?
producción, operación y humanos.
Copyright © 2012 Vector– www.vectorsf.com 11
12. Desarrollo de software
Desarrollo heterogéneo
• Cada organización tiene una normativa
o una interpretación propia de la misma
• La mayoría de las veces la aplicación de la
normativa adolece de mecanismos
automatizados, resultando en la
ejecución de labores manuales por equipos Clientes
especializados(infrautilizados).
• Dada la sobre carga de los recursos, los
procesos normativos no son revisados o
mejorados. ¿Cómo afecta mi norma al
desarrollo? ¿Y a la explotación? ¿Qué Falta de
resultados obtenemos? estándares…
Copyright © 2012 Vector– www.vectorsf.com 12
13. Desarrollo de software
I+D+i
• Dificultades y/o debilidades
(AAPP/Proveedores) en la aplicación de
conceptos como reutilización, eficiencia y
optimización.
• Se han realizado grandes inversiones en
I+D+i, pero la innovación sigue
escribiéndose con letra minúscula…
• Es necesario utilizar nuevos paradigmas Clientes
• En la toma de decisiones, es necesario
introducir criterios de análisis de las iniciativas
sobre la base de conceptos como Lean o
Sostenibilidad
• La estandarización debe soportarse sobre una
visión holística de las mejores prácticas
existentes y ajustadas a la realidad de AAPP.
• Es necesario cambiar el modelo de la
competición, a la colaboración en todos los
ámbitos
Inventar
• Ante la crisis, es necesario es encontrar el la rueda
equilibrio entre el mantenimiento de los
procesos que aportan valor en el PRESENTE
y la investigación, desarrollo e innovación
para generar nuevos paradigmas que
mejoren el FUTURO.
Copyright © 2012 Vector– www.vectorsf.com 13
15. Índice
Vector
1
2 El desarrollo de software
3 Aseguramiento de la calidad
4 Metodología
5 Cover
6 Tendencias
16. Aseguramiento de la calidad
Una respuesta
• Está demostrado que la inversión en Calidad desde las fases iniciales del
desarrollo software influye directamente en la reducción de los costes de
mantenimiento
C o ste co rrecc ión A n te s d e có dig o C ó d ig o P ru eb as O&M
P re ssm an 1 u ds 6.5 u d s 15 u d s 6 0 – 100 u d s
B o e hm $2 00 - $ 500 $ 1.200 $5.000 $1 50.000
Costes durante el desarrollo Costes durante el mantenimiento
Recortes en SQA y pruebas Inversión en SQA y pruebas
Coste Escenario sin atención Escenario con atención
suficiente a SQA suficiente a SQA
Explotación
(extraordinario)
Explotación
(extraordinario)
ASI DSI CSI IAS Explotación (ordinario)
ASI DSI CSI IAS Tiempo
...
Explotación (ordinario)
Mantenimiento
Mantenimiento
...
Coste debido a iteraciones sucesivas Coste debido a SQA
Copyright © 2012 Vector– www.vectorsf.com 16
17. Aseguramiento de la calidad
Ciclo de vida de un proyecto
Ciclo de vida de proyecto
Definición
Definición de Analisis Diseño Codificación Pruebas Despliegue Mantenimiento
Requisitos Construcción
Actividades de Aseguramiento de la Calidad del Software (SQA) a lo largo de TODO el ciclo de vida del proyecto
Plan de Gestión de Riesgos
Gestión de Riesgos
Plan de Gestión Gestión de la Configuración, Gestión de Cambios, Métricas
de la Configuración
Marco de Pruebas según los Riesgos
Oficina Plan de
Diseño Diseño
Calidad Pruebas
Pruebas
Funcionales
Pruebas
No-Funcionales
Pruebas
De regresión
Matriz de Trazabilidad Ejecución Automatización de
KB de los requisitos y de las Pruebas las pruebas
casos de prueba
Copyright © 2012 Vector– www.vectorsf.com 17
18. Aseguramiento de la calidad
CMMI
• CMMI (Capability Maturity
Model Integration) es un
modelo de mejora
(Model) y evaluación de
los procesos de
desarrollo de sistemas y
software, donde la madurez
(Maturity) se refiere a la
capacidad (Capability) de
los procesos de la
organización para producir
productos de buena
calidad, en el coste y plazos
estimados de una forma
predecible.
• CMMI establece una escala
de 5 niveles de madurez,
los cuales están compuesto
por uno conjunto
predefinido de procesos,
resultado de mejores
prácticas observadas.
Copyright © 2012 Vector– www.vectorsf.com 18
19. Índice
Vector
1
2 El desarrollo de software
3 Aseguramiento de la calidad
4 Metodología
5 Cover
6 Tendencias
21. Metodología
Dos actividades
Análisis funcional Pruebas y Automatización
y diseño
Requerimientos
Escenarios de neogcio Plan de pruebas
Procesos de pruebas/
Diagrama de contexto Documentación
Análisis funcional Herramientas QA
Diseño/ Arquitectura/
Documentación
Copyright © 2012 Vector– www.vectorsf.com 21
22. Metodología
Análisis funcional y diseño
• La metodología se focaliza en identificar las necesidades
del negocio y a partir de allí, profundizar en los
escenarios funcionales del negocio, componentes de
negocio y casos de usos.
• Durante este proceso es necesario dibujar la trazabilidad (matriz de
trazabilidad) desde las necesidades del negocio hasta los casos de
prueba. Posteriormente será necesario continuar este proceso hasta que los
componentes de software. Y ya en la último estadio, la granularidad de los
componentes de software, se define caso por caso.
Casos
Componentes de
Requerimientos de negocios prueba Automatización
Escenarios Casos Pruebas
de negocios de de
usos regresión
Copyright © 2012 Vector– www.vectorsf.com 22
23. Metodología
Entregables
Objetivos del sistema Descripción de los objetivos del sistema
Descripción de los procesos ejecutados por actores
Escenarios de negocio Definición del escenario críticos para el negocio
Descripción de los principales componentes del sistema
Diagrama de contexto Relaciones entre los actores y componentes del sistema
Clasificación de actores y tipología (sistema externo y los
Actores usuarios)
Para cada componente del sistema (o módulo)
Componentes Modelado de casos de uso
Analizar casos de uso sobre la base de las acciones de los
Casos de uso Actores y la respuesta del sistema.
Modelado de entidad para casos de usos
Descrpción de pallas
Descrpción de IU Flujo de pantallas
Proporciona una visión general de arquitectura del sistema,
Documentación de la
Diferentes puntos de vista arquitectónicos para representar
arquitectura de software diferentes aspectos del sistema
Copyright © 2012 Vector– www.vectorsf.com 23
24. Metodología
¿Qué entendemos por pruebas de
regresión?
• Resumen
• "Para garantizar que una aplicación es todavía funcional y estable después de un
cambio cualquiera."
• Principales objetivos
• Gestionar los riesgos provenientes de:
Corrección de errores en el código no siempre resuelve problemas funcionales (entender
que una intervención en el software no siempre resuelve el problema del usuario)
Antiguos bugs reaparecen (ayudar a descubrir los errores que fueron parcialmente o
selectivamente resueltos)
Los cambios tienen efectos secundarios (entender la forma en que un cambio en el
software impacta otras áreas de la aplicación)
• Fortalezas
• Efectivamente reduce el tiempo dedicado a realizar una prueba integral de la aplicación
• Debilidades
• Sólo se ejecutan pruebas funcionales – para los casos de uso, previamente
automatizado
• Sólo es efectiva si los flujos de trabajo de las aplicaciones o el comportamiento
funcional no se cambia con respecto a la versión anterior. Esta situación induce la
necesidad de llevar un estrecho control y mantenimiento, para los casos de prueba
automatizados.
Copyright © 2012 Vector– www.vectorsf.com 24
25. Metodología
Framework
• Componentes
• Entidades
• Relaciones
Flujos
• Data
Diagrama funcional crítcos de
• Usuarios
negocio
• Entorno
• Flow de
información
• Gestión de pruebas
• Mejorar
Análisis Definición documentación de
de pruebas Optimización de casos de prueba
funcional pruebas • Gestión de
incidencias
• Gestión de cambios
• Relacción entre
los
Matriz de
requerimientos y
trazabilidad
los casos de
pruebas
Copyright © 2012 Vector– www.vectorsf.com 25
26. Metodología
Matriz de trazabilidad
Jerarquización
de cada flujo de
Matriz de negocio
trazabilidad
Matriz de Checklist
relación Pruebas críticas
GUI &
Non GUI
Las áreas directamente afectadas
Cubre la funcionalidad general y
1er Grupo
característica básica
Conjunto de pruebas para clientes sensibles
Herramienta de a la funcionalidad
2do Grupo
regresión
Conjunto de pruebas que
3ro Grupo incluyen problemas que se han presentado en
ocasiones anteriores
Herramienta de Hot-Spot suite
Las pruebas adicionales debido a la adición de
gestión de código a finales
Data Set
pruebas Clean-Run/sanity Testing
Copyright © 2012 Vector– www.vectorsf.com 26
27. Metodología
¿Cuánto automatizar?
• En general tenemos que responder por cada CP, preguntas como:
• La automatización de cada CP y la ejecución de estos, va a costar más que ejecutar de
forma manual cada CP? ¿Cuánto más?
• La prueba automatizada tiene una vida útil, con el tiempo algunos ajustes se requieren
en los scripts. ¿Cuál es el horizonte de vida útil de un CP? ¿Qué eventos son susceptibles
acortar este horizonte?
• Durante la vida de CP: ¿Qué tan probable es que el CP descubra errores adicionales (más
allá de lo que sea que los problemas se encuentran por primera vez)?
Copyright © 2012 Vector– www.vectorsf.com 27
28. Metodología
Control versus aseguramiento de la calidad
• La calidad se debe asumir de forma proactiva a lo largo de todo el ciclo de
vida del proyecto de implantación, de forma que se persigue un incremento de
la eficiencia y productividad de los equipos, al detectar cualquier no conformidad
en una fase temprana del proyecto, limitando el impacto de posibles errores o
deficiencias.
Ciclo de vida
Preparación Análisis Construcción / Preparación
Pruebas Soporte
y lanzamiento y Diseño Prototipo y arranque
1 Verificación 3 Verificación 5 Análisis 9 Pruebas de 11 Pruebas de
de requisitos modelo de estáticos prestaciones regresión
procesos
2 Verificación 6 Verificación de 10 Verificación 12 Gestión y
del diseño 4 Verificación documentación plan despliegue verificación de
funcional pruebas cambios
unitarias 7 Gestión de
pruebas
8 Gestión de
Incidencias
2
Copyright © 2012 Vector– www.vectorsf.com 28
8
30. Metodología
Herramientas
• Asegurar la calidad de un desarrollo • La aplicación de una normativa de
requiere considerar mucho aspectos codificación por parte de los
de la codificación e implementación desarrolladores de software es
realizada: compleja si no se dispone de
herramientas que automaticen esta
• Garantizar el cumplimiento de los tarea.
estándares de codificación
• La normativa es un elemento vivo, ya
• Revisión de sintaxis y tipos que se basa en parte en las buenas
• Analizar acoplamiento y cohesión prácticas, y por lo tanto requiere
actualizaciones.
• Identificar excepciones
• Detectar problema de seguridad o • La normativa en formato papel o en
vulnerabilidad de la implementación un fichero no es de gran ayuda y en
algunos casos está sujeta a una
• Identificar potenciales patrones de interpretación subjetiva por parte del
código asociables a defectos desarrollador.
• Revisar funciones y relaciones para el • La revisión posterior del código para
caso de dominios vacíos comprobar si se ajusta a la normativa
• Analizar el flujo de información es un proceso tedioso y que no aporta
• Verificar condiciones previas, valor.
invariantes y posteriores para los • Existen un conjunto importante
procesos ejecutados herramientas disponibles para atender
• Realiza reingeniería inversa del código la rutina asociado a las actividades
mencionadas.
Copyright © 2012 Vector– www.vectorsf.com 30
31. Índice
Vector
1
2 El desarrollo de software
Índice
3 Aseguramiento de la calidad
4 Metodología
5 Cover
6 Tendencias
32. COVER
¿Qué es?
• COVER es una herramienta desarrollada por Vector
SF que permite comprobar que el software
desarrollado cumple los estándares establecidos de
calidad.
• Para ello, la herramienta valida la sintaxis del código generado contra un
conjunto de reglas.
• Estas reglas se agrupan en categorías ISO9126 (Fiabilidad, Eficiencia,
Mantenibilidad, Portabilidad, Funcionalidad y Usabilidad).
• Es un servicio que está disponible on-line.
• Entre los diferentes paquetes de software que son admitidos por esta
herramienta están: las aplicaciones J2EE, las maquetas de HTML y los
desarrollos de portales de Internet (Fatwire).
Copyright © 2012 Vector– www.vectorsf.com 32
33. COVER
Características de la herramienta
• Validación de código
• Diferentes validadores (JAVA, XML, SQL, PL-SQL y Properties)
• Validación mixta (código embebido de otro lenguaje)
• Validación global (más de un fichero o estructura del proyecto)
• Categorización de reglas por ISO9126
• Base de datos de reglas
• Reglas por tipología del desarrollo, y reglas por proyecto
• Documentación de reglas y ejemplos integrados en la aplicación
• Generación de informes de la validación (formato HTML)
• Tramos de corrección (4 grados: correcto, parcialmente correcto, con errores, con
muchos errores)
• Activación / desactivación de reglas por proyecto
• Ponderación de mensajes / Umbrales de validación
• Administración
• Según las diferentes entidades que forman parte del servicio: Usuarios, Empresas,
Grupos, Proyectos, Escenarios.
Copyright © 2012 Vector– www.vectorsf.com 33
34. COVER
Visión General
Menú usuario
Ubicación
Buscador
Menú
navegación
Listado
Operaciones
Copyright © 2012 Vector– www.vectorsf.com 34
35. Cover
Servicios asociados
• Consultoría de análisis de la normativa.
• En este servicio se realiza el análisis de la normativa del destinatario y de la normativa
basada en buenas prácticas de la herramienta (+600 reglas) y se establece un plan de
implantación y adaptación del servicio.
• Implantación de la herramienta.
• Desarrollo de las adaptaciones e inclusión de la nueva normativa establecida en el plan
realizado previamente. Así mismo como conclusión de esta implantación se realizará la
parametrización de la herramienta (definición de escenarios, ponderaciones, proyectos
y roles, usuarios…).
• Ejecución del Servicio.
• Mantenimiento perfectivo y adaptativo de la herramienta. Administración de usuarios,
resolución de incidencias , ajustes de parametrización, etcétera.
• Alojamiento.
• Servicio de alojamiento de la herramienta.
Copyright © 2012 Vector– www.vectorsf.com 35
36. Índice
Vector
1
2 El desarrollo de software
3 Aseguramiento de la calidad
4 Metodología
5 Cover
6 Tendencias
37. Tendecias
Control de tipos
Problema: Necesitamos reducir los errores asociados a la gestión de variables con
significado específico dentro del sistemas de medidas SI, velocidad y aceleración.
Respuesta: En C++ estándar de C+11, es posible asignar las normas de las unidades
SI en un sistema de tipo general:
template<int M, int K, int S>
struct Unit { // a unit in the MKS system
enum { m=M, kg=K, s=S };
};
template<typename Unit> // magnitude with unit // a very explicit notation (quite verbose):
struct Value { Speed sp1 = Value<1,0,0> (100)/ Value<0,0,1> (9.8);
double val; // the magnitude
explicit Value(double d) // use a shorthand notation:
: val(d) {} // construct a Value from a double Speed sp1 = Value<M> (100)/ Value<S> (9.8);
};
using Speed = Value<Unit<1,0,-1>>; // m /s
using Acceleration = Value<Unit<1,0,-2>>; // abbreviate further still:
//m/s/s Speed sp1 = Meters(100)/Seconds(9.8);
Speed sp1 = M(100)/S(9.8); // this is getting cryptic
constexpr }
Value<Second> operator”” s(long double d)
// a f-p literal suffixed by 's'
{
return Value<Second> (d); (*) Fuente IEEE Computer Enero 2012
}
Copyright © 2012 Vector– www.vectorsf.com 37
38. Tendecias
Software o Hardware
• Como hemos visto, cada vez es mas • Codesign es un proceso
importante trabajar en nuestros iterativo, en el que el objetivo es
desarrollos de software con optimizar las aplicaciones y el
variables que utilicen “tipos ricos”. hardware a través de una
combinación de rendimiento,
• Sin embargo, cada vez es mas consumo y el costo
importante entender las piezas que
se utilizan para implementar una
solución y el impacto de estas sobre
el rendimiento del sistema HR y SW.
• e.g. En la gráfica se muestra un
ejemplo de lo que significa en
tiempo de procesamiento, el
organizar una lista que tiene dos
posibles representaciones para el
arreglo, un arreglo tipo Vector o una
Lista.
x 100.000
(*) Fuente IEEE Computer Enero 2012
Copyright © 2012 Vector– www.vectorsf.com 38
39. MADRID LEVANTE
ALBACETE
Camino del Cerro de los Gamos, 1 Parc Científic
C/ Cristóbal Lozano, 12
Edificio. 6, Planta 1 Universitat de València
02002 – Albacete
28224 Pozuelo de Alarcón – Madrid. Polígono La Coma s/n
Tel.: (+34) 967 96 12 00 46980 Paterna
Tel. (+34) 91 183 03 00
Fax: (+34) 91 372 83 66 Valencia
Fax: (+34) 967 61 50 05
MADRID
Avda. De la Universidad, 1 GALICIA
CÓRDOBA
28691 Villanueva de la Cañada – Madrid Rúa do Pintor Juan Luis, 5
C/ Claudio Marcelo, 15, 2º Izq.
Tel. (+34) 91 810 53 00 15702 - Santiago de Compostela
14002 – Córdoba
Fax. (+34) 91 810 51 64 A Coruña
Tel.: (+34) 957 48 21 32
Copyright © 2012 Vector – www.vectorsf.com