El documento discute la importancia de la calidad del código fuente y los problemas asociados con la baja calidad del código, como riesgos, software inestable y costos elevados. También cubre formas de medir la calidad del código, como las métricas de la norma ISO 9126-3, y cómo las herramientas pueden ayudar a diagnosticar problemas y tomar decisiones para mejorar la calidad.
5. Problemas de la baja calidad. El coste. Linea temporal de proyectos Test de sistema Volumen de trabajo Cantidad de código producido Lanzamiento (con análisis de código) Lanzamiento (sin análisis de código) Tiempo y dinero perdido Más defectos en la vida de la aplicación Nuevo desarrollo Perfíl de defectos sin Control Perfíl de defectos con Control
6.
7.
8.
9.
10.
11.
12.
13.
14. Un ejemplo de modelo de calidad Transferibilidad Cambiabilidad Robustez Rendimiento Tamaño Normas de nomenclatura Documentación Arquitectura Complejidad Package naming Class naming Interface naming Method naming Attribute naming Constant naming Package comment Class comment Method comment Package size Class size (methods) Class size (attributes) Interface size Method size Class complexity (Inh. depth) Class complexity (Inh. width) Method complexity (Param.) Method complexity (control flow) Mantenibilidad Seguridad Prácticas de programación File conformity Dead code Controled data access Structuredness Modularity Encapsulation conformity Empty code Inheritance Factores Criterios Subconjunto de métricas Application Quality Application Quality Calidad de aplicación
15.
16.
17.
18. Un ejemplo de uso en una organización. Operador 1- Entrega del código fuente 2- Test de aceptación 2a- Aceptación Funcional 2b- Aceptación de Carga/Stress 2c- Aceptación Técnica 2d – Envío de lista de defectos para Su corrección 4- Decisión Go / No Go 5a- Informe de salida a producción 3- Informe de QA 5b- Objetivos de calidad de código Lista defectos en Reglas Niveles de cumplimiento Objetivos de calidad de código. Niveles de cumplimiento Cumplimiento de objetivos de negocio Organización de QA Jefes de equipo de desarrollo Responsable de aplicación Director de Desarrollo Medición del código
19.
20. Visión general del ROI ROI Beneficios de la gestión de entregas Beneficios de la externalización = 1 2 + - Costes 3 Procesos de desarrollo gestionados directamente No se gestiona directamente a los desarrolladores
21. Gestión de entregas – categoría de beneficios y cálculo 1 Impacto en la empresa del periodo de inactividad de la producción = (defectos totales en producción/año/desarrollador) x (# de desarrolladores) x (eficiencia CAST en eliminación de defectos) x (Wt. Avg. costes de defectos en producción) Menos defectos en sistemas activos Impacto empresarial = (# de licencias discovery portal) x (Costes de cada desarrollar) x (% ttiempo gastado en fortalecimientos menores) x (productividad mejorada porque DP) = (# de desarrolladores) x (Costes de cada desarrolladores) x (Ganancias de productividad por la expectación) = (mejora del mantenimiento anual) x (costes de mantenimiento anual) = (# de desarrolladores) x (Coste de cada desarrollador) x (Reutilización de la productividad mejorada) = (# de recursos QA (FTEs)) x (Costes de cada recurso QA) x (eficiencia CAST en eliminación de defectos) = (Defectos/año/Desarrollador) x (# de desarrolladores) x (ahorro por eliminación de defectos en desarrollo) x (eficiencia CAST en eliminación de defectos) Fórmula Transferencia de conocimiento más rápida para nuevas transferencias, aumentos menores y movimientos de HR internos, Productividad fortalecida cuando se aplican métricas objetivas Mejor código de calidad resulta en un mantenimiento más eficiente Codificación eficiente a través de una mejor reutilización y conformidad de los frameworks Menos defectos alcanzan la QA Ahorros por detección temprannosa de defectos en desarrollo Breve explicación Nevagación más rápida por sistemas heredados complejos Discovery Portal Anticipación de las mediciones Mantenimiento más eficiente Reutilización y adherencia a los frameworks Fortalecimiento del rendimiento de los equipos Procesos de QA más eficientes Detección temprana de defectos Eliminación de defectos Subcategoría Categoría de beneficios
22. Gestión de entregas- categorías de beneficios y cálculos 2 = (Mejora del mantenimiento annual) x (costes anuales de mantenimiento) = (# de recurso QA para controlar externos (FTEs)) x (Coste de cada recurso QA) x (eficiencia de la eliminación de defectos de CAST) = (Defectos totales en producción/año/desarrollador) x (# de desarrolladores externos) x (eficiencia de eliminación de defectos de CAST) x (Wt. Avg. coste de defectos en prod.) = (Defectos totales en producción/año/desarrollador) x (# de desarrolladores externos) x (eficiencia de eliminación de defectos de CAST) x (ahorros de la eliminación de defectos antes de la prod.) = (media gastada en peticiones de cambio) x (Ganancias esperadas de la negociación) Fórmula Mejor calidad de código resulta en un mantenimiento más eficiente Menos defectos acceden a QA Impacto en la empresa de un menor periodo de inactividad de la produccion Ahorros por encontrar los defectos antes de ir a producción Mejor estimación de los costes de las peticiones de cambio Breve explicación Mantenimiento más eficiente Procesos de QA más eficientes Mejoras de la productividad Menos defectos en sistemas activos Eliminación de los defectos antes de la entrega del proveedor Menos defectos en producción Ganancias de lo negociación Control RFC Subcategoría Categoría Beneficios
25. Gracias por su atención. Antonio Díaz Sales Manager, Iberia [email_address] CAST, Leader in Automated Application Intelligence Achieve Insight. Deliver Excellence. www.castsoftware.com | Gain visibility into application quality to proactively manage risk and improve team performance.