3. 3
1.Más y más complejidad
2.¿Cómo enfrentamos la complejidad?
3.Servicios de Calidad de Software
Agenda
4. Más y más complejidad
¿Cómo la enfrentamos?
PART ONE
5. 5
Mainframe
AS400 IBM 36
MVS
Unix
1965-1985
Más y más complejidad
1985-2000
2000-2015
2015
ASM
Cobol RPG
C Pascal
PC Mac Windows Client-Server DBMS
Virtualización Cloud
SOA SaaS PaaS
Open Source
Android iOS
L4G SQL Java PHP C++ VB Frameworks ERP
Mobile devices
Cloud
Internet of all things
Big data Analytics
Java C# .NET
Ruby Groovy Scala Grails
CRM
Java
Objective C
APIs
Contabilidad
RH
Almacenamiento
Producción
Ventas
Intranet / Extranet
Front-end / Back- end
Consumerización TI
2017: 270 000 millones de descargas de aplicaciones
6. 6
Más y más complejidad
•Aplicaciones
Factor de diferenciación en los negocios
Time to market / Costes
•Aumenta la complejidad
Más aplicaciones
Más capas, más dependencias
Más incidentes, menos mantenibilidad
•Impactos en los negocios
SI complejos, pesados, enredados
Reduce la agilidad de negocios
Aumenta los riesgos operacionales
8. 8
•Externalización
Al detrimento de la calidad
« Siempre hay alguien que dice que lo puede hacer más barato »
¿Cómo enfrentamos la complejidad?
9. 9
•¿Cómo mejorar la calidad de las aplicaciones?
Producir menos = menos defectos
Más gente, más máquinas
Mejor gobernanza
•Gobernanza
Orientación a los negocios: creación de valor
Best practices: mejorar el rendimiento de TI
Control de riesgos: más éxito, menos fracaso
Control de costes: profitabilidad
•Supervisión
KPIs para medir procesos y conseguir feedback
less with less more with more more with less
¿Cómo enfrentamos la complejidad?
10. 10
•Todos tenemos los mismos objetivos
Reducir los defectos
Reducir los costes
Mejorar la mantenibilidad
Mejorar el control de los proveedores
•No basta con herramientas
Las herramientas guían el análisis humano
Se necesitan habilidades para optimizar las herramientas
•Proposición de valor
Limitar los costes de herramientas
Invertir en lo más pertinente: el análisis humano
¿Cómo enfrentamos la complejidad?
12. 12
Servicios
Governance
Governanza
Management TI
Gestión de portafolio de aplicaciones
Management TI
Cartografía de portafolio de aplicaciones
Management TI
Control de outsourcers
Management TI / Proyecto
Software Quality Management
Implementación de un Centro de Calidad de Software
Consultores de Calidad
Implementación de un programa de Calidad de Software
Consultores de Calidad
Implementación de una plataforma de Calidad de Software
Consultores de Calidad
Auditoría del nivel de madurez de Calidad de Software
Consultores de Calidad
Application Quality
Auditoria de Calidad
Proyecto / Desarrollador
Integración Continua / Mejora Continua
Proyecto / Desarrollador
Gestión de la Deuda Técnica
Proyecto / Desarrollador
Quality Gate
Proyecto / Desarrollador
Seguridad
Proyecto / Desarrollador
Rendimiento
Proyecto / Desarrollador
13. 13
Gobernanza
•Gobernanza
Alineación con los negocios
Definición de KPIs (rendimiento, valor, SLAs)
Planes de acción – Catalogo de servicios
Vigilar y controlar
•Gestión de portafolio de aplicaciones
Definición de criterios (valor para los negocios, €, tamaño, etc.)
Cartografía
Análisis de portafolio
Activos y Riesgos
Soporte a la decisión
« Asegurarse de que la inversión en TI produce valor es un componente esencial del Gobierno de TI »
(IT Governance Institute)
« 48% de los CIOs reconocen que su organización tiene más aplicaciones de las que necesita. 25% de ellas podrían ser retirada »
(Application Landscape Report 2014, Cap Gemini)
14. 14
Gobernanza
•Gestión de outsourcers
Definición de métricas de Calidad
Benchmarking de proveedores
Definición de SLA
Apoyo en la elección de outsourcers (RFP)
Apoyo en la transferencia de conocimientos
Establecer una relación win-win con los proveedores, basándose en datos objetivos
« Let’s not do it your way or my way. Let’s do it the best way »
15. 15
Gestión de Calidad de Software
•Implementación de un Centro de Calidad de Software
Objetivos, tareas y actores
Definición del catálogo de servicios
Infraestructura (interna/externa, SaaS/PaaS)
Comunicación: informar y publicar
•Implementación de un programa de Calidad de Software
Ayudar a sus proyectos (talleres, auditorias, etc.)
Evitar la regresión de calidad de su portafolio
Supervisar y controlar su propia deuda técnica (método Sqale)
« Ofrecemos un enfoque de calidad totalmente integrado en los procesos de gestión de proyectos, desde el RFP hasta la validación de los entregables y el despliegue en producción »
(Gaz de France – Quality Center)
16. 16
•Implementación de una plataforma de Calidad de Software
Especificaciones - Apoyo a la elección de una solución (software open source o comercial)
Personalización de la plataforma técnica
Documentación
•Auditoría del nivel de madurez de Calidad de Software
« The tooling market should be a mass market , affordable , for every stakeholder, and in the lean culture . We need to bring out Quality measurement out of its expert's world »
(SonarSource)
Gestión de Calidad de Software
17. 17
Software Quality Maturity Model
Nivel 1
Nivel 2 Detectar
Nivel 3
Prevenir
Nivel 4
Medir
Nivel 5 Optimizar
Complejidad
Sin gestión de la calidad del software
Modo reactivo: auditorias, Quality Gate
Modo proactivo: Integración Continua, Deuda Técnica
Modo organizado : SLAs, Benchmarking, Cartografía, maturity assessment
Modo optimizado: gestión de porta- folio de aplicaciones, Gobernanza
Proactividad
Reactividad
18. 18
Auditoría de madurez de Calidad de Software
Software Configuration management
Version control
Build Automation
Source Code Analysis
Unit testing
Continuous Integration
Automated Integration tests
Automated QA tests
Code review
Security & Architecture review
Automated deployment
Ejemplo de una Telco francesa
19. 19
Gestión de la Calidad
•Auditoria de Calidad de aplicaciones
Muchos pueden hacer un análisis de código
El consultor proporciona respuestas
oQué: métricas, defectos, tendencias
oPor qué: investigar las causas de la mala calidad
oCómo: remediar, con propuestas de planes de acción ...
oCuánto: ... con diferentes escalas de costes / tiempo
« La mayoría de los directores de TI no saben que hacer cuando un proveedor proporciona código malo. ¿Por dónde empezar? ¿Qué medidas tomar? »
20. 20
Quality Management
•Integración / Mejora Continua
Definición de procesos y herramientas
Personalización de la plataforma técnica
Documentación
•Auditoria de Rendimiento / Seguridad
Control de las mejoras prácticas de programación
Identificación de los defectos (tolerancia cero)
« Trabajar en integración continua es como ir desde el viejo oeste hacia el viaje a la luna»
(Responsable Qualité & Méthodes de un banco francés
21. 21
Quality Management
•Quality Gate
Go/NoGo antes de QA / Producción
On demand / Independiente del proyecto
Cumplimiento de SLAs / Control de outsourcers
•Gestión de la Deuda Técnica
Reduzca su deuda / invierta en el futuro
Benchmark proyectos / outsourcers / tecnologías
Construir un tamiz para buscar las pepitas de oro
Método Sqale (www.sqale.org)
22. www.qualilogy.com
Qualilogy ayuda a las empresas en sus esfuerzos para implementar y gestionar la Calidad de Software
Cualquiera puede analizar código
Qualilogy responde a sus preguntas
Qualilogy no es un distribuidor de software
Qualilogy es independiente