Your SlideShare is downloading. ×
0
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Consideraciones económicas fabricación software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Consideraciones económicas fabricación software

500

Published on

2007. XVII Congreso Nacional de Usuarios de ORACLE …

2007. XVII Congreso Nacional de Usuarios de ORACLE
Bilbao. 24, 25 y 26 de Octubre de 2007

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
500
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Consideraciones económicassobre la fabricación softwareXVII Congreso Nacional de Usuarios de ORACLE Bilbao. 24, 25 y 26 de Octubre de 2007 Javier Garzás Kybele Consulting javier.garzas@kybeleconsulting.com KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 2. OBJETIVO DE LA PRESENTACIÓN Revisar la importancia de considerar el valor de las prácticas de ingeniería del software y su aplicación a la mejora de productos y procesos de desarrollo KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 3. INDICE1 Introducción2 La ingeniería del software basada en valor3 Caso de Estudio I: Planificación de la mejora de la calidad de un producto software4 Caso de Estudio II: Gestión del retorno de inversión de las prácticas de ingeniería del software5 Caso de Estudio III: Selección de la estrategia de desarrollo6 Conclusiones KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 4. 1 - IntroducciónKYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 5. GOBIERTO DE LAS TIC: ALINEAMIENTO DE NEGOCIO E INGENIERÍA GES GOBIERNO TIÓ Y UCI ÓN ÓN DE LAS TIC ND EJE DICI E ME C R IES GO S GESTIÓN DE RECURSOS COBIT 4.1 (ITGI, 2007) KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 6. “ Over time, I’ve come to believe there’s a real need for theaverage software developer to understand and appreciate theeconomic context in which their company operates. […] If you don’t understand discounted cash flow, hurdle rate, or amortization of intangibles, many management decisionsinflicted on you might appear to be mere rolls of the dice or the wrath of angry “gods.” Harrison, W. (2005). "What Do Software Developers Need to Know about Business?" IEEE Software 22(5): 5-7. KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 7. 2 - La ingeniería del software basada en valor KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 8. “A View of 20th and 21st Century Software Engineering…” Evolvability , Enterprise integration reusability Integrated Systems Object -oriented Human factors and Software methods Engineering Structured Methods Stovepipes Standards , Spaghetti Code Maturity Models Global connectivity , Process bureaucracy business practicality , Agile Methods Lack of scalability security threats , Demand massive systems growth , of systems diversity Waterfall Process Rapid change Noncompliance Hybrid Agile , Plan - Driven Methods HCI , COTS , Concurrent , risk - Collaborative Larger projects , emergence driven process methods , Weak planning & Disruptors : infrastructure , Hardware control Slow execution Autonomy , environments ; engineering Software craft Rapid Bio -computing , ? change Value -based methods Software - Code -and -fix methods ; - SAGE Differences -Heroic Enterprise Computational -Hardware debugging Process overhead Rapid composition , architectures ; plenty , efficiency Software evolution Multicultural System building Factories environments mega systems by users Rapid change Scale Many defects Formal Methods Lack of scalability Rapid change Skill Domain -specific Shortfalls SW architectures , product - line reuse Service - oriented Model Business 4 GLs , Domain architectures , clashes CAD / CAM , User understanding Model -driven programming Lack of development scalabilityHardware Engineering Crafting Formality Waterfall ; Productivity Concurrent Processes AgilityValue Global Integration 1950s 1960 s 1970s 1980s 1990s 2000s 2010s Boehm, B. (2006). A View of 20th and 21st Century Software Engineering. Paper presented at the International Conference on Software Engineering (ICSE), Shanghai, China KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 9. SOBRE LOS ENFOQUES NO BASADOS EN VALOR La mayoría de las prácticas de ingeniería del software se basan en un enfoque de valor neutral, es decir, cada requisito, caso de uso, objeto, prueba, etc., se trata con igual importancia “Nuestro generador de datos de pruebas proporcionará un beneficio en función al número de casos de prueba que se automaticen” El plan de retorno de la inversión no toma en cuenta el valor: cada caso de prueba tiene la misma importancia, pero por lo general sabemos que el 20% de los casos de prueba cubre el 80% de los casos de negocio Boehm, B. (2005). Value-Based Software Engineering: Overview and Agenda Value-Based Software Engineering S. Biffl, A. Aurum, B. Boehm, H. Erdogmus and P. Grünbacher, Springer: 3-14. KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 10. ENFOQUE NO BASADO EN VALOR 100 80 % de valor aportado 60 Herramienta de automatización de 40 las pruebas: todas las pruebas tienen el mismo valor 20 5 10 15 Número de Pruebas Automatizadas KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 11. ENFOQUE BASADO EN VALOR 100 80 % de valor aportado 60 Herramienta de automatización de 40 las pruebas: todas las pruebas tienen el mismo valor 20 5 10 15 Número de Pruebas Automatizadas KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 12. 3 - Caso de Estudio I: Planificación de la mejora de la calidad de un producto software KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 13. EFECTOS DE INTRODUCIR PATRONES DE DISEÑO Cantidad de… Número de Patrones KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 14. EFECTOS DE INTRODUCIR PATRONES DE DISEÑO VALOR DE CADA PATRÓN Patrón Tipo A Patrón Tipo A Patrón Tipo A Patrón Tipo A Patrón Tipo B Patrón Tipo B En Sitio 1 En Sitio 2 En Sitio 3 En Sitio 4 En Sitio 1 En Sitio 2 KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 15. ¿CUÁL ES EL VALOR DE UN PATRÓN DE DISEÑO? “Nada es un veneno, y todo es un veneno: la diferencia está en la dosis”, Paracelsus COSTE DE PERDIDAVALOR DE INTRODUCCIÓN DE UN (patrón_n) PATRÓN PROBABILIDAD DE CAMBIO = * (lugar_m) COSTE DE INTRODUCCIÓN (patrón_n, lugar_m) (patrón_n, lugar_m) KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 16. ¿CUÁL ES EL VALOR DE UN PATRÓN DE DISEÑO? VALOR DE COSTE DE PROBABILIDAD COSTE DE INTROD. DE INTROD. DE CAMBIO PÉRDIDA PATRÓNLa clase A implementa un demonio muy pesado; 100 0.3 500 1.5posible aplicación del patrón Observer.La clase B tiene un alto acoplamiento con losreceptores de mensajes. Posible aplicación del 20 0.3 500 7.5patrón Chain of Responsibility pattern.Los objetos de la clase C tienen uncomportamiento diferente dependiendo de un 40 0.1 100 2.5estado interno. Posible aplicación del patrónState. KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 17. SITUACIÓN DE PARTIDA VNI S.A. (pseudónimo), empresa especializada en el desarrollo y mantenimiento de soluciones de gestión, en 2006/2007 arrancó un proceso integral de mejora de la calidad, para, principalmente, UCO (pseudónimo) uno de sus principales productos. Desarrollado en J2EE, con JSP, Java para la lógica y Oracle 9i. •  Se detectó un incremento importante del coste de mantenimiento, mucho tiempo para hacer modificaciones. •  Muchos comportamientos del negocio habían sido codificados con sentencias rígidas, como complejas sentencias “if” o “swith”. •  La primera propuesta fue planear un proyecto de refactorización para sustituir el complejo código de condicionales por patrones State. •  Se pretendía la sustitución de 20 sentencias condicionales mensuales, hasta llegar al 80% de las mismas a lo largo de un año. Temimos que el coste de la operación se disparase. •  Se propuso una aproximación orientada por Valor. KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 18. ACOTAR EL PROBLEMA El primer paso fue el análisis y cuantificación de la situación. 7.964 clases y 863.473 LOC. Se procedió a estudiar la complejidad ciclomática (CC) para identificar las clases de lógica condicional más compleja Complejidad Número de clases Porcentaje Ciclomática [0, 25] 6092 76,49 % ]25 – 50] 1138 14,29 % problemas en el 23,51% de las Principales ]50 – 75] 397 4,98 % clases ]75 – 100] 145 1,82 % 100< 192 2,41 % KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 19. PROBABILIDAD DE CAMBIO, POR CLASE Estudiando el histórico de cambios del control de versiones (CVS) y mediante la utilización de la herramienta “trouble ticket management”, se pudo estimar la probabilidad de cambio de cada clase Modificaciones mensuales (últimos 12 meses) Media de cambios Mes 1 Mes 2 Mes 3 Mes 4 Mes 5 … Mes 12 mensualesClase 1 1 2 0 0 1 … 1 0,714Clase 2 0 0 1 1 0 … 2 0,571Clase 3 2 2 1 1 0 … 0 0,857Clase 4 1 1 0 0 1 … 1 0,571Clase 5 2 0 2 3 1 … 1 1,286 … … … … … … … 2 0,286Clase 0 0 1 1 1 … 0 0,4291337 KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 20. COSTE DE INTRODUCCIÓN (patrón State, por clase). El coste de la refactorización fue estimado en horas/hombre. Después de estudiar trabajos similares y aplicando la experiencia de los jefes de proyecto, establecimos una estimación del coste de cambio de acuerdo con los rangos de CC Complejidad Ciclomática Esfuerzo H/H Estimado 25- 50 10 51-75 15 76-100 20 >=101 25 KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 21. COSTE DE PÉRDIDA EN CASO DE CAMBIO (por clase) De la misma forma, utilizando la herramienta “trouble ticket management”, se pudo averiguar el coste de cambio en las modificaciones pasadas. Complejidad Coste medio de cambio en el pasado Ciclomática (unidades monetarias) 25- 50 4 51-75 10 76-100 15 >=101 18 KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 22. VALOR QUE APORTA CADA REFACTORIZACIÓN Coste Prob Coste Valor CC Introducir Cambio Perdida (x10) Clase 1 25-50 10 0,7 4 2,80 Casle 2 76-100 20 0,1 15 0,75 Clase 3 >= 101 25 0,4 18 2,88 Clase 4 51-75 15 0,5 10 3,33 … Clase 1872 51-75 15 0,3 10 2,00 (num clases CC > 25) KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 23. CONTROL DE CALIDADPara el control de manera continuada y en tiempos realistas, existen entornos basados en software libre que permiten automatizar las tareas de control de la calidad 1 2 Cálculo 3 Ejecución periódica Ejecución Medición Básica. Nivel 1 - Infraestructura de CONTINUUM MAVEN 2 PLUGINS GCS Operativo 4 Métricas 5 Métricas POM (XML) 6 Almacenamiento Medición Avanzada. Nivel 2 - Infraestructura de 9 8 Táctico y Estratégico Extracción Integración Plantillas BASE DE SERVIDOR DE Informes 7 DATOS INFORMES (JRXML) (MySQL) 10 Generación Informes KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 24. Caso de Estudio II: Gestión delretorno de inversión de las prácticas de ingeniería del software KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 25. GESTIÓN ECONÓMICA NUEVA PRÁCTICA DE INGENIERÍA COSTE (GASTO) VARIACIÓN (p.e. (H/H)) CUENTA RESULTADOS INGENIERÍA PRODUCTO – EJERCICIO (anual) FINANZAS KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 26. GESTIÓN ECONÓMICA Las prácticas de ingeniería del software y los productos del desarrollo debieran considerarse bajo aspectos económicos, su inversión, coste, retorno, etc. NUEVA PRÁCTICA DE INGENIERÍA VARIACIÓN DEL ESFUERZO COSTE INVERSIÓN (H/H) EN UNA VERSIÓN AMORTIZACIÓN [Versión n, Versión m] INGENIERÍAFINANZAS COSTE VERSIÓN n = … [H/H VERSIÓN n * COSTE H/H] – AMORTIZADO… RETORNO DE INVERSIÓN COSTE VERSIÓN n-1 <> COSTE VERSIÓN n KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 27. GESTIÓN ECONÓMICA IMPLANTAR MAVEN COMO ENTORNO PARA LA AUTOMATIZACIÓN DEL CONTROL DE CALIDAD Gestión de la INVERSIÓN Configuración Software Consultoría y H/H invertidas por el personal propio AMORTIZACIÓN Desde las versiones 3.5 hasta la versión 5 VARIACIÓN DEL ESFUERZO La versión 3.5 se ha creado con un 30% de H/H menos COSTE VERSIÓN 3.5 = … [H/H VERSIÓN 3.5 * COSTE H/H] – AMORTIZADO… RETORNO DE INVERSIÓN COSTE VERSIÓN n-1 <> COSTE VERSIÓN n KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 28. 3 - Caso de Estudio III: Selección de la estrategia de desarrollo KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 29. ESTRATEGIA DE DESARROLLOEn el desarrollo de software actual existen numerosas estrategias, si bien podemos destacar tres grandes grupos ESTRATEGIA DESCRIPCIÓN Desarrollo – mantenimiento software de cada producto de TRADICIONAL manera independiente. Estudio y determinación de los elementos comunes a una LÍNEA DE PRODUCTOS familia de productos para establecer parte del desarrollo de manera unificada. PROGRAMACIÓN Lenguajes de dominio de alto nivel para una posterior creación GENERATIVA – MDA Y SIMILARES de parte del software de manera automatizada. KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 30. LÍNEA DE PRODUCTOS (PL) Conjunto de software que comparte características comunes, que satisfacen las necesidades específicas de un dominio o segmento particular de mercado y que se desarrollan a partir de un sistema común de activos base (más conocidos como “core assets”, y que pueden ser elementos como los requisitos, diseño, arquitecturas, componentes, código, etc.) de una manera preestablecida. KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 31. COSTES DE UNA ESTRATEGIA BASADA EN PL INICIALMENTE •  Corg = coste de adoptar la aproximación de líneas de productos (reorganización, mejora de procesos, formación, etc.). •  Ccab = coste de desarrollar una base de “core asset” adecuados para soportar la línea de productos (análisis de comunalidad/variabilidad, arquitectura software, documentación, infraestructura de pruebas, etc.). POR CADA PRODUCTO •  Creuse = el coste de reutilizar “core asset” (localización, extracción, adaptación de los activos, pruebas de integración adicionales, etc.). •  Cunique = el coste de desarrollar software que no está basado en la plataforma de líneas de producto KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 32. COSTES DE UNA ESTRATEGIA BASADA EN PL número _ productos _ de _ la _ PLCorg + Ccab + ∑i =1 (Cunique ( productoi ) + Creuse ( productoi )) KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 33. COSTES DE UNA ESTRATEGIA BASADA EN PL Desarrollo ConvencionalEsfuerzo Total Ahorro Retorno Coste Unitario Desarrollo de (LPS) Línea de Producto Inversión Inicial Coste Unitario (convencional) 1 2 3 4 5 6 # Productos Fuente: Díaz, Ó., & Trujillo, S. (2007). Líneas de producto software. In J. Garzás & M. Piattini (Eds.), Fábricas de software: Experiencias, tecnologías y organización: Ra-ma. KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 34. LÍNEA DE NEGOCIO Y ESTRATEGIA DE DESARROLLOLa estrategia de desarrollo a implantar vendrá determinada por la línea de negocio; este punto tendrá una importante impacto en las economías, o des-economías LÍNEA DE TRADICIONAL MDA PRODUCTOS ÚNICO PRODUCTO PARA VARIOS ENTORNOS ÚNICO PRODUCTO PLATAFORMA PRODUCTOS DIFERENTES A MEDIDA - Idoneidad + KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 35. 6 - ConclusionesKYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 36. q  Considerar los aspectos económicos y el valor de las acciones de ingeniería es fundamental para poder tomar decisiones más racionales, con éxito y que se alineen con los objetivos de negocio.q  Igualmente la estrategia de desarrollo del departamento debe estar alienada con los objetivos de negocio.q  Para poder conocer el valor de las acciones de ingeniería, en un tiempo y esfuerzo razonables, es necesario disponer de una infraestructura de medición lo más automatizada posible. KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com
  • 37. Consideraciones económicassobre la fabricación softwareXVII Congreso Nacional de Usuarios de ORACLE Bilbao. 24, 25 y 26 de Octubre de 2007 Javier Garzás Kybele Consulting javier.garzas@kybeleconsulting.com KYBELE CONSULTING S.L. Copyright © 2007 - www.kybeleconsulting.com

×