1. Un buen software equivale a un buen
rendimiento de negocio
CAST Application Intelligence Platform
y las organizaciones basadas en CMMI
Junio, 2009
jp.fayolle@castsoftware.com
2. CAST es el líder indiscutible en calidad de software
Misión “Posibilitar que las principales compañías mundiales alcancen una
ambiciosa mayor productividad de sus complejos sistemas software de TI.”
Amplia presencia de mercado en Europa y EEUU
Fundación
Recomendado por los principales analistas, gurús de la industria del
sólida
software e inversores
Pionero, fundador y líder reconocido del mercado de calidad de
Tecnología software desde 1999
de vanguardia Centro de I+D dirigido por profesionales de primer nivel en ingeniería
de software y ciencias de la computación
Editor’s Choice Award: A Top-10 Company to Watch
David Stodder | Editorial Director
Intelligent Enterprise Magazine (TechWeb)
2
3. Reconocido protagonista con una fuerte y creciente presencia
Los principales proveedores Más de 650 compañías
Fuerte apoyo de los analistas
de servicios utilizan CAST globales se basan en CAST
3
4. CAST Application Intelligence Platform
Transparencia automatizada
Análisis automatizado de todas las aplicaciones
Evaluación inmediata e imparcial de la calidad
Tendencias y síntesis para el nivel ejecutivo
Descenso por el código fuente hasta la causa raíz de los problemas
Alcanza más calidad a un menor coste
4
5. Toma en cuenta toda la aplicación de negocio
Enterprise Applications Middleware Web / Client Server Applications
ASP/JSP/VB/.NET
Capa de
presentación
Web
Services
Lógica de aplicación
Java, C++, …
Frameworks Struts MVC, Spring
Capa de lógica
CICS
de negocio
Legado de Connector
aplicaciones
CICS Monitor (Cobol)
Tuxedo Monitor (C)
Capa de gestión de datos
EJB – Hibernate - Ibatis
Batch Capa de
COBOL Shell Scripts
datos
Database
Storage Group
Files Databases Database Database
Solamente CAST puede analizar esto
5
6. Profundo análisis estructural de la calidad del software
Subset de métricas de calidad Indicadores de calidad Factores de salud Calidad de la aplicación
SQL Complexity Distribution
Class complexity (Inh. depth) Rendimiento
Class complexity (Inh. width) Complejidad
Artifacts having recursive calls
Impacto
Más de 900 comprobaciones de la arquitectura y
Method complexity (control flow) Robustez
Multiple artifacts inserting data
Inmediato
on the same SQL table Arquitectura
lenguajes específicos del código
Coupling Distribution
Seguridad
File conformity
Dead code Application
Structuredness Quality
Prácticas de
Controled data access programación
Empty code
Modularity
Encapsulation conformity
Normas de
Inheritance denominación
Package naming
Class naming
Transferibilidad
Interface naming
Package comment Documentación
Class comment
Method comment
Cambialidad Impacto
continuado
Package size
Class size (methods) Tamaño Mantenibilidad
Interface size
6
7. La inteligencia CAST para mejorar el rendimiento de negocio
1
Valor de aplicación vs.
mapa de riesgos
2
5 Riesgo de proyecto,
progreso y evolución
3
Causas raíz de
1 2 posibles disrupciones
4
Diagnóstico de la salud
de las aplicaciones
5
3 4 Atributos principales de
las aplicaciones
7
9. “Soy nivel “x” de CMMI, ¿por qué necesito CAST?”
CMMI no es un estándar de calidad de software
CMMI mide el rendimiento de los procesos, no los
atributos de la calidad del producto
9
10. Que aporta CAST...
El análisis de la calidad del software se centra en cada una de
las causas de los problemas de la calidad del software
Gestionar la complejidad de la aplicación
Mejorar las habilidades de los desarrolladores
Reducción de la degradación de la aplicación
Superar el desarrollo disperso
Asegurar la integración y calidad del software externo
Las prácticas de gestión de proveedores en CMMI no se
extienden a evaluar el impacto que los componentes
suministrados por el proveedor tendrán sobre la calidad de
toda la aplicación
10
11. Diagnosticando la madurez del desarrollo de aplicaciones
Nivel 2:
¿Cómo gestiona los requerimientos crecientes?
¿Cómo se ajustan los proyectos a los costes y al calendario?
¿Cómo los gestores siguen el progreso frente a sus obligaciones?
¿Cómo gestiona los cambios en las aplicaciones?
¿Qué medidas usan los gestores?
Nivel 3:
¿Todos sus proyectos usan procesos de desarrollo estándar?
¿Tiene las pautas para apuntillar su proceso de desarrollo estándar a
los diferentes tipos de proyectos o clientes?
¿Sus informes de proyecto miden utilizando definiciones estándar?
¿Proporciona su organización la formación acerca de su proceso de
desarrollo estándar, métodos y herramientas?
¿Qué prácticas utiliza para detectar defectos?
11
12. Organizaciones de Nivel 2 - enfocadas en proyectos
VP Applications
CAST sales & CAST sales &
field service field service
CRM Finance Billing
Project or Project or Project or
application application application
manager manager manager
Application team Application team Application team
AI AI
Center Center
Configuration Configuration Configuration
management management management
AI service Process & AI service
provider product provider
12 assurance
13. Organizaciones nivel 3 - basadas en la organización
VP
CAST Applications
account
executive
Application portfolio
CRM Finance Billing
Project or Project or Project or
application application application
manager manager manager
Application team Application team Application team
Process & Configuration AI Center
product management
assurance
CAST support
13 Servicios compartidos
14. Organizaciones de Nivel 4 − Gestión de la Calidad estadística
α 0 + α 1X1 + α 2X2 + α 3X3 + α 4X4 + α 5X 5 + ε = ∧ enhance
Y
Tiempo
Resultado Resultado Resultado Resultado Resultado
para
calidad 1 calidad 2 calidad 3 calidad 4 calidad 5 mejorar
Lanza- Manteni-
Build 1 Build 2 Build 3 Build 4
miento bilidad
CAST se puede utilizar para desarrollar modelos estadísticos
para la predicción y control de los factores de rendimiento
relacionados con la calidad como:
• Coste de propiedad • Disponibilidad
• Escalabilidad • Brechas en la seguridad
• Tiempo de respuesta • Velocidad en los cambios
14
15. La cuarta ola de la ingeniería de software
Producto
La arquitectura, los atributos de calidad y la
reutilización aseguran que el software es construido
con estándares que satisfarán las demandas del
negocio durante su ciclo de vida
Proceso
CMM, ITIL, PMBOK, Agile
Proveen de un entorno más disciplinado para el trabajo
profesional al incorporar las mejores prácticas
Métodos
Métodos de diseño, Herramientas de case
Ofrecen a los desarrolladores mejores herramientas y
ayudas para la construcción de sistemas de software
Lenguajes
3a & 4a generación de lenguajes, programación estructurada
Da a los desarrolladores un poder mayor para expresar sus programas
1965-1980 1980-1990 1990-2002 2002
15
16. CAST suministra visibilidad sobre el ciclo de vida de la aplicación
1. Visibilidad del proceso (CAST + CMMI)
Adherencia a los procesos Planificación Calidad
Costes Productividad Satisfacción de clientes
Procesos 3. Visibilidad del
rendimiento del
Mantenimiento
producto
Testeo (CAST + ITIL v.3)
Desarrollo
Servicio
Niveles de rendimiento en
Diseño ejecución
Garantías de
Requerimientos funcionamiento
Activo de producto Retrasos por la corrección
de bugs/características, de
retrasos de entregas
Tasa de descenso de los
costes de mantenimiento
SLAs
2. Visibilidad de la calidad del producto (CAST)
CAST como la base de una mejor ingeniería
Conexión entre las fases de “construcción” y “ejecución”
16
17. CAST se posiciona a la altura de CMMI
CAST suplementa CMMI para desbloquear aun más valor de negocio de
sus aplicaciones
CMMI proporciona un fundamento sólido sobre el cual construir un
programa riguroso de medición, gestión y mejora de la calidad de
aplicaciones
El enfoque de CAST sobre los atributos de la calidad de las aplicaciones
suplementa el enfoque de CMMI sobre los procesos de desarrollo
CMMI se centra en control y mejora de procesos
CAST se centra en mejora de producto
17