Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Jesús M." Miriguet Melian 11 !. 3wn Francisco HernBndez B a i l e t e ~ s JESÚS M" M ~ G U E T MELIÁN Profesor Titular de Lenguajes y Sistemas Informáticos (UNED) JUAN FRANCISCO HERNÁNDEZ BALLESTEROS Director del Servicio de Informática del Cabildo de Tenerife LA CALIDAD DEL SOFTWARE Y SU MEDIDA Reservados todos los derechos Ni la totalidad ni parte de ese libro puede reproducirse o transmitirse por ningún procedimiento electrónico o mecánico, incluyendo fotocopia, grabación magnética o cualquier almacenamiento de información y sistema de recupera- ción, sin permiso escrito de Editorial Centro de Estudios Ramón Areces, S. A. O EDITORIAL CENTRO DE ESTUDIOS RAMON ARECES, S.A. Tomas Bretón, 21 - 28045 Madrid ISBN: 84-8004-61 1-2 Deposito legal: M. 44.635-2003 Impresión por: LAVEL, S.A. Humanes (Madrid) Impreso en España 1 Printed in Spain CAPÍTULO 1 : LA CALIDAD DEL SOFTWARE ............................................ 23 1 . El papel de la calidad en el desarrollo del software ...................................... 23 1.1. ¿Por qué calidad? .................................................................................... 23 1.2. La calidad en la industria del software ................................................... 24 2 . Concepto de calidad ....................................................................................... 27 2.1. Definición de calidad .............................................................................. 27 2.2. Tipos de calidad ...................................................................................... 28 2.3. Rasgos inherentes a la calidad ................................................................ 29 2.4. Dimensiones de la calidad ...................................................................... 30 2.5. Las características de la calidad del software ......................................... 32 2.6. El Decálogo de la calidad ....................................................................... 33 3 . Estados de desarrollo de la calidad ................................................................ 37 ................................................................................................ 3.1. Inspección 37 3.2. Control de la calidad ............................................................................... 38 3.3. Aseguramiento de la calidad ................................................................... 39 3.4. Gestión de la Calidad Total .................................................................... 40 3.5. Evolución del concepto de calidad ......................................................... 41 ................................................................................... 4 . Aproximación histórica 41 4.1. Artesanos y obreros ................................................................................. 42 4.2. Los orígenes ............................................................................................ 42 4.3. La Revolución Insustrial: la inspección ................................................. 43 4.4. De 1900 a 1950: la era del control estadístico ....................................... 44 4.5. El aseguramiento de la calidad: aparecen las normas ............................ 46 .............................................. 4.6. El presente: la gestión de la Calidad Total 47 4.7. La industria del software y la industria tradicional ................................. 48 4.8. Orígenes del aseguramiento de la calidad del software .......................... 49 4.9. Las normas de calidad del software ......................................................... 52 4.10. Análisis de los atributos ......................................................................... 53 ........................................................................................... 4.1 1 . Los modelos 53 4.12. El futuro .................................................................................................. 55 5 . Concepciones erróneas y paradigrnas de la calidad ...................................... 56 6 . Costes de la calidad ........................................................................................ 57 6.1. Costes de prevención ............................................................................... 58 6.2. Costes de evaluación ................................................................................ 59 6.3. Costes de la no calidad ............................................................................. 59 6.4. Relación costeheneficio .......................................................................... 59 ........................................................................ 6.5. La Regla Federal Express 61 CAPÍTULO 2: LA MEDIDA DE LA CALIDAD DEL SOFTWARE ............... 63 1 . Introducción .................................................................................................... -63 2 . Necesidad de la medida del software .............................................................. 65 2.1. La medida como elemento de mejora metodológica .............................. 65 2.2. La medida y el conocimiento ................................................................... 66 2.3. Importancia de la medida ......................................................................... 66 3 . Estimación ....................................................................................................... 68 . . 3.1. Definicion y problemática ........................................................................ 68 3.2. Los métodos de estimación ...................................................................... 69 LA CALIDAD DEL SOFTWARE Y SU MEDIDA 11 .................................................... 3.3. Las reglas de estimación de De Marco 70 ............................................................... 3.4. Evaluación de las estimaciones 71 4 . Estimación de costes y esfuerzo ................................................................................. 71 ............................................................. 4.1. Definiciones de coste y esfuerzo 72 4.2. Los principales modelos ......................................................................... -72 4.3. COCOMO ................................................................................................. 72 4.4. SLIM ......................................................................................................... 76 5 . Medida ............................................................................................................ 78 5.1. Definiciones ............................................................................................. 78 5.2. Teoría general de la medida ..................................................................... 79 5.3. Escalas ..................................................................................................... 82 6 . Aproximación histórica .................................................................................. 83 6.1. Los orígenes ............................................................................................ 83 6.2. Maurice Halstead ...................................................................................... 83 6.3. El control de flujo de programa ............................................................... 85 6.4. Sistemas de diseño .................................................................................. 86 ................................................................................... 6.5. Costes y esfuerzos -87 .................................................................................. 7 . La medida del software 89 7.1. Marco teórico ........................................................................................... 89 ................................................................................8 . La norma ISOIIEC 9 126 93 CAPÍTULO 3: NORMALIZACI~N Y CERTIFICACI~N: NORMA ISO 9001 :2000 ....................................................................................... 95 . . . . ........................................................................ 1 . Normalizacion y certificacion 96 2 . Terminología sobre calidad del software ........................................................ 97 ................................................................................ 3 . Los niveles de la calidad 98 .................................................................................. 4 . Los sistemas de calidad 98 . . 4.1. Definicion .................................................................................................... 98 4.2. Partes del sistema ........................................................................................ 99 4.3. Manual de calidad ....................................................................................... 99 4.4. Los procedimientos ................................................................................. 100 4.5. Registros de datos sobre calidad ............................................................. 101 4.6. El enlace con la calidad del proyecto ...................................................... 101 5 . Calidad a nivel de proyecto .......................................................................... 101 5.1. Planificación del aseguramiento de la calidad en un proyecto ............... 101 5.2. El plan de aseguramiento de la calidad del software .............................. 102 5.3. Actividades de aseguramiento de la calidad ........................................ 103 6 . Modelos contractuales de aseguramiento de la calidad ............................. 103 7 . Proceso de certificación ............................................................................... 104 8 . La familia de normas ISO:9000 ................................................................... 108 8.1. Antecedentes ............................................................................................ 108 8.2. La ISO 9000.2000 . Razones para un cambio .......................................... 109 8.3. Principios del cambio ............................................................................... 110 8.4. Las normas ISO 9000:2000 ..................................................................... 111 9 . La norma ISO 9001 :2000 ............................................................................. 112 . . 9.1. Introduccion a la norma ........................................................................... 112 9.2. Sistema de gestión de la calidad ............................................................. 113 9.3. Responsabilidad de la dirección ............................................................. 114 9.4. Gestión de los recursos ............................................................................ 114 9.5. Realización del producto o servicio ........................................................ 114 9.6. Medición, análisis y mejora ..................................................................... 115 10 . La norma ISO 9004:2000 ............................................................................. 115 10.1 . Introducción a la norma ......................................................................... 115 10.2. Responsabilidad de la dirección ............................................................ 116 . . 10.3. Gestion de los recursos .......................................................................... 1 16 LA CALIDAD DEL SOFTWARE Y SU MEDIDA 13 ...................................................... 10.4. Realización del producto o servicio 1 16 .................................................................. 10.5. Medición, análisis y mejora 1 17 1 1 . La calidad. su aseguramiento y medida según la norma ..................................................................... ISO 9001:2000 e ISO 9000-3: 1997 1 17 CAPÍTULO 4: MODELOS. METODOLOGÍAS Y ESTÁNDARES: ..................................... ESTRATEGIAS PARA ALCANZAR LA CALIDAD 121 ........................................................... 1 . Modelos. metodologías y estándares 121 ............................................................................................. . 1 1. Definiciones 121 2 . El Modelo de Madurez de la Capacidad del Software ................................ 123 ................................... 2.1. Los cinco niveles definidos en el modelo CMM 124 .................................................... 2.2. Áreas clave y características comunes 128 ....................... 2.3. La calidad. su aseguramiento y medida según el modelo 131 ................................................................................. 3 . Modelo BOOTSTRAP 134 3.1. El concepto Bootstrap. del diagnóstico a la solución ............................. 134 .................................................................................. 3.2. Práctica del modelo 136 4 . La norma ISO 15504 .................................................................................... 139 ..................................................... . 4.1 ISO 15504. un modelo. bidimensional 141 ............................. 4.2. La calidad. su aseguramiento y medida en la norma 146 5 . Metodología MÉTRICA V . 3 ...................................................................... 147 5.1. MÉTRICA. una metodología basada en proceso ................................... 149 CAPITULO 5: MÉTRICAS PARA MODELOS CONCEPTUALES ............ 153 .................................................................................. . 1 Modelos conceptuales 153 .............................................................................................. . 1 1. Definciones 153 1.2. Calidad de los modelos conceptuales ...................................................... 154 2 . Métricas para modelos conceptuales tradicionales ........................................ 155 ..................................................................................... . 2.1 Métricas de Kesh 155 14 INDICE ................................................................................. 2.2. Métricas de Moody 157 ................................................................................. 2.3. Métricas de Piattini 159 ........................... 3 . Métricas para modelos conceptuales orientados a objetos 159 3.1. Métricas de Brito e Abreu y Carapuca .................................................... 159 ...................................................... 3.2. Métricas de Chindamber y Kemerer 161 ...................................................................... 3.3. Métricas de Lorenz y Kidd 162 ............................................................................ 3.4. Métricas de género y al 163 ............................... CAP~TULO 6: EL ANÁLISIS DEL PUNTO FUNCIÓN 165 1 . Introducción al Análisis del Punto Función ................................................ 165 1 . 1. La propuesta de Albrecht: ventajas e inconvenientes ............................. 165 2 . El Análisis del Punto Función paso a paso .................................................. 168 2.1. Determinar el tipo de conteo a realizar .................................................. 168 2.2. Identificar los límites en los que se aplicará el conteo de los Puntos Función ................................................................................... 168 .......................... 2.3. Identificación de los Ficheros Lógicos Internos (FLI) 169 ....................... 2.4. Identificación de los Ficheros de Interfaz Externo (FIE) 170 2.5. Clasificar la complejidad de los ficheros lógicos y determinar ....................................................................................... su contribución 171 2.6.Conteo de los tipos de función asociado a transacciones .......................... 174 ........................................................ 2.6.1. Identificación de Entradas Externas 174 2.6.2. Identificación de Salidas Externas ................................................ 176 2.6.3. Identificación de Cuestiones Externas ........................................ 177 2.6.4 Clasificar la complejidad de las transacciones identificadas y su contribución .................................................................................. 179 .................... 2.6.5. Cálculo del valor de los Puntos Función sin ajustar 185 ........................................... 2.6.6. Cálculo del valor del factor de ajuste 187 2.6.7. Cálculo de los Puntos Función ajustados .................................... 188 LA CALIDAD DEL SOFTWARE Y SU MEDIDA 15 3 . Más allá del Análisis del Punto Función tradicional .............................................. 192 CAPITULO 7: LA NORMA ISOIIEC 9126 Y LA MEDIDA DE LA CALIDAD .............................................................................................. 193 1 . Descomponer un problema para buscar la solución ................................ 193 ................................................... 1.1. La descomposición jerárquica en árbol 194 1.2. Modelos de McCall y Boehrn ................................................................. 196 2 . La norma ISO/IEC 9126 .............................................................................. 200 2.1. Calidad de uso, interna y externa ........................................................... 201 2.2. Medidas internas y externas .................................................................... 206 3 . Procedimiento de medida propuesto ............................................................ 207 4 . La medida de la fiabilidad de una aplicación informática . Ejemplo práctico ........................................................................................... 211 4.1. Definición de requisitos de calidad ........................................................ 211 4.2. Preparar la evaluación .............................................................................. 213 . r 4.2.1. Seleccion de métricas .................................................................... 214 4.2.2. Tasar .............................................................................................. 216 4.2.3. Valoración del criterio .................................................................. 217 4.2.4. Obtención de medidas ................................................................... 219 CAPITULO 8: MÉTRICAS DEL SOFTWARE ........................................ 221 ................................................. 1 . Métricas e indicadores de la productividad 221 1.1. Medida del tamaño ................................................................................... 222 1.2. Medida de la productividad .................................................................... 227 2 . Indicadores y métricas relacionadas con la calidad ................................... 230 ................... 2.1. Densidad de defectos e indicadores de calidad del proceso 230 3 . Fiabilidad ...................................................................................................... 232 4 . Complejidad del software ........................................................................... 234 4.1. La Ciencia del Software de Halstead ...................................................... 234 4.2. La medida de la complejidad de McCabe ............................................... 235 4.3. La métrica de Henry y Kafura ................................................................ 237 5 . Métricas para modelos de datos ................................................................... 240 5.1. Métricas a nivel de tabla ......................................................................... 240 5.2. Métricas a nivel de estrella ..................................................................... 240 5.3. Métricas a nivel de esquema .................................................................... 241 5.4. Calidad de los propios datos .................................................................... 242 6 . Medidas del facilidad de uso de las interfaces de usuario .......................... 243 6.1. Clasificación de los métodos .................................................................. 243 6.2. Algunos métodos de evaluación ............................................................. 244 7 . Medida de seguridad .................................................................................... 245 7.1. Un poco de historia ................................................................................. 246 7.2. SSE-CMM ............................................................................................... 247 7.3. Métricas de eficacia de los algoritmos criptográficos ............................ 248 7.4. Métricas de seguridad de red .................................................................. 250 LISTA DE SIGLAS AENOR APF ASA AS1 ATT AWS CE CEN CIS CMM COCOMO DFP DSI DTR EE ESPRIT EVS FIE FLI GQM GSC IAS IBM IEC IECISA IEEE IFPUG IMT ISO JAN JTC LCMS LOC Asociación Española de Normalización y Certificación. Análisis del Punto Función. American Standards Association. Análisis del Sistema de Información. American Telephone & Telegraph. American War Standards. Cuestiones Externas. Comité Europeo de Normalización. Construcción del Sistema de Información. Capability Maturity Model. COnstructive COst Model. Punto Función del desarrollo del proyecto. Diseño del Sistema de Información. Draft Technical Report. Entradas Externas. European Strategic Program for Research and Development Estudio de Viabilidad del Sistema. Fichero de Interfaz Externo. Fichero Lógico Interno. Goal Question Metrics. Características Generales del Sistema. Implantación y Aceptación del Sistema. International Business Machines. International Electrotechnical Commission. Informática El Corte Inglés. Institute of Electrical and Electronic Engineers. International Function Point Users Group. Inspección Media Total. International Organization for Standards. Joint Army-Navy Standard. Joint Technical Committee. Límite de Calidad Media de Salida. Lines Of Code. 1 X LISTA DE SIGLAS MAP METKIT MIT MSI MTTF NASA OTAN PSI SAG SE SE1 SPICE TED TER UFC VAF WG Ministerio de Administraciones Públicas. Metrics Educational ToolKIT. Massachusetts Institute of Technology Mantenimiento de Sistemas de Información. Mean Time to Faillure. National Aeronautics and Space Administration. Organización del Tratado del Atlántico Norte. Planificadn de Sistemas de Información. Software A.G. Salidas Externas. Software Engineering Institute. Software Process Improvement and Capability dEtermination. Tipos de Elementos de Datos. Tipos de Elementos de Registros. Puntos Función sin Ajustar. Valor del Factor de Ajuste. Working Group. La sociedad actual reclama productos y servicios informáticos que den respuesta a sus necesidades, requisitos cada vez más exigentes en un mercado globalizado de altísima competitividad. La respuesta de las empresas debe sustentarse en el disciplinado ejercicio de metodologías que tengan en la calidad un instrumento eficaz para responder a este desafío. Los programas informáticos, el software, es el valor añadido de mayor trascendencia en las industrias de principios del siglo XXI. Sin este componente el instrumental más sofisticado o el ordenador más complejo carece de valor, relegado a un amasijo de cables y circuitos electrónicos sin utilidad. La ingeniería del software como disciplina nacida hace casi cuarenta años como respuesta a la llamada "crisis de la programación" asume lasestrategias de las ingenierías tradicionales y trata de utilizarlas adaptándolas a la fabricación de programas para ordenador. Esta misma ingeniería que busca en modelos de calidad tradicional su más fiel aliado debe proseguir en la mejora continua de sus procesos. Dentro de esta mejora se encuentra, sin duda, la obtención de medidas adecuadas a las entidades y atributos que le son propios. Medir implica conocer y conocer permite manipular aquellos factores de interés en la búsqueda de la excelencia. Medir la calidad es, por tanto, un requisito imprescindible en las nuevas metodologías del software y un factor estratégico en el sector de la nueva economía. Nos encontramos ante un reto, uno más en esta civilización en constante cambio, en constante evolución. Un reto que, sin duda, exige un decidido apoyo a la investigación y a las tecnologías de la información y las comunicaciones. La divulgación científica es un camino seguro en la consecución de un conocimiento global. Nos permite el intercambio de información, comprender y ser comprendido, explicar y entender. Por todo esto es seguro que el reto al que nos enfrentamos estará culminado con el esfuerzo y la superación que no son más que una etapa intermedia hacia el éxito. Ricardo Melchior Navarro Presidente del Excmo. Cabildo Insular de Tenerife Nada puede torcer el camino de la verdad y la calidad, porque éstas adelgazan y no quiebran y siempre andan sobre la mentira y la falta de industria, como el aceite sobre el 1 agua El resultado final del proceso creativo humano en la industria tradicional se materializa en un objeto físico, electrodoméstico, aeroplano, automóvil etc. Este concepto desaparece en la ingeniería del software cuyo principal producto es un ente inmaterial, del cual sólo apreciamos sus resultados al ser ejecutado sobre un soporte físico, el ordenador. Este es un hecho de capital importancia que condiciona la concepción de la ingeniería del software. Bajo esta consideración el software no se fabrica, se desarrolla, tal como apunta Pressman, haciendo uso de un proceso secuencia1 compuesto de diferentes etapas que culmina con la creación del programa informática. La medida de un proceso productivo o de los atributos de un producto elaborado, es en la actualidad una actividad estratégica en las empresas de cualquier sector productivo. La ingeniería del software requiere y exige de estas medidas no limitándose a la implantación de metodologías aunque éstas abarquen todo el proceso productivo de una aplicación informática e incluso su posterior mantenimiento. Medir es necesario, mas allá, es imprescindible para la ingeniería del software igual que lo es para cualquier otra ingeniería. Medir, y en concreto medir la calidad, permite obtener información sobre atributos cuyo conocimiento aportan ventajas estructurales a aquella empresa o profesional que los poseen permitiendo la ejecución de acciones correctoras sobre datos objetivos y disfunciones perfectamente identificadas. La medida del software nos proporciona valiosa información sobre el proceso de desarrollo, los productos resultantes o los recursos utilizados. Hacer uso adecuado de esa información nos brinda la mejora intrínseca del propio proceso creativo modificándolo si fuera preciso. El software, la ingeniería del software, modelos de desarrollo, metodologías y la medida de entidades se encuentran íntimamente unidos y deben colaborar en la obtención de productos y servicios de calidad. En el capítulo 1 se introducirán los conceptos básicos de calidad en la industria tradicional y su traslado a la industria del software. Se revisará la evolución del concepto de calidad a lo largo de la historia y se comprobará el atraso histórico que, en términos de calidad, tiene la fabricación del software con respecto al resto ' Miguel de Cervantes Saavedra. Don Quijote de la Mancha de las industrias. Finaliza el capítulo con los costes que suponen la implantación de un sistema de gestión de la calidad en los procesos de producción o servicios. El capítulo 2 se centra en el problema de la medida. Tras discutir la necesidad de medir el software, se definen los conceptos básicos y se introduce la teoría de la medida. Se repasa históricamente la evolución de la medida de atributos propios del software. Finalmente se presenta un marco teórico válido para la medida del software y de la calidad como atributo. Se introduce el modelo ISOIIEC 9126. En el capitulo 3 estudiaremos los conceptos de normalización y certificación asociados a la calidad del software. Como norma internacional de gran implantación se presentará en detalle la familia de normas ISO 9000. El capítulo 4 trata de las estrategias para alcanzar la calidad mediante diversos modelos, metodologías y estándares. Se profundiza en el estudio de los modelos CMM y Bootstrap, el estándar ISO 15504 y la metodología MÉTRICA Versión 3. Estos modelos y metodologías se han escogido por su impacto histórico y su elevado nivel de implantación en numerosos países, son una referencia básica en el estudio de la calidad del software y su normalización. En el capítulo 5 se estudian las métricas asociadas a modelos conceptuales, estos modelos permiten enlazar los requisitos de los usuarios y la solución software. Se estudiarán las métricas correspondientes a modelos tradicionales y orientados a objeto. El capítulo 6 profundiza en una técnica para medir la funcionalidad de las aplicaciones informáticas, entendida ésta como el conjunto de funciones aportadas al usuario por el producto informático. Esta técnica es el Análisis del Punto Función. Su inclusión como un capítulo aparte se justifica por la importancia creciente de esta medida y representar un avance conceptual y práctico en la cuantificación del software. En el capítulo 7 se presenta un estudio exhaustivo de la norma ISO 9126, ya introducida en el apartado 2. En este mismo capítulo se explica el procedimiento propuesto para medir cualquier atributo propio del software. En el capítulo 8 se hace un repaso las medidas más interesantes actualmente utilizadas en la industria del software. Este repaso es limitado y aborda aquellas medidas que supusieron un avance en la historia del software o son habitualmente utilizadas por empresas del sector. Aunque el origen de este libro era servir de texto para la asignatura "Calidad del Software" de 5" curso de Ingeniería Informática de la UNED, los autores han pretendido que también pueda servir a los profesionales de la informática como una base para la implantación de la calidad en sus productos. Quizás se le encuentren fallos u omisiones, debidos en gran parte a la necesidad de que estuviera editado para el inicio del curso, pero los autores tienen la intención de ampliarlo en futuras ediciones. En este momento iniciamos esta labor. Julio 2003 Los autores Capítulo 1 LA CALIDAD DEL SOFTWARE La calidad tiene la estructura de un águila bicéfala (...) porque al mismo tiempo que un paradigma, que un ejemplo, la calidad se ha convertido en un gran tópico.' La industria del software, como tal industria, tiene muchas de las características de la industria tradicional, entre ellas la necesidad de que sus productos sean de calidad. En este capítulo se tratará del concepto de calidad, de sus características y de sus diferentes estados a través de los tiempos, para terminar con un breve estudio sobre los costes y beneficios que conlleva la implantación de un sistema de calidad. 1. EL PAPEL DE LA CALIDAD EN EL DESARROLLO DEL SOFTWARE 1.1. ¿Por qué calidad? Tanto en los medios de comunicación escritos y audiovisuales como en las revistas técnicas el tema de la calidad tiene una presencia continuada; incluso los políticos y gobernantes incluyen el término en sus discursos y proyectos. Todo ello es debido al papel fundamental que la calidad juega en la competitividad de las empresas y a que se ha acabado el tiempo en que la demandasuperaba a la oferta y el cliente tenía que conformarse con lo que le ofrecían. Hoy en día, los oferentes de productos y10 servicios deben adaptarse a las necesidades, gustos y exigencias de ' López Cachero, M. 11 Jornadas de Calidad del Software, organizadas por la Asociación de Técnicos de Informática. Madnd 2 y 3 de julio de 1998. 24 LA CALIDAD DEL SOFTWARE los potenciales clientes para mantenerse en el mercado. Incluso la Comunidad Europea propone la necesidad de la evaluación y certificación de los productos europeos, la calidad europea, como medio para evitar su discriminación en los mercados internacionales. La necesidad de producir productos de calidad es una realidad evidente exigida por un mercado abierto, enormemente competitivo y en constante evolución. Tal como Edward yourdon2 expone "... la posibilidad de que los usuarios finales sean demasiado exigentes puede explicarse por la presión empresarial a la que están sometido^"^. Existen varias razones que justifican el por qué la calidad es crítica para la supervivencia de las empresas: o La calidad es un factor competitivo. o La calidad es esencial para el comercio internacional. o La calidad reduce las pérdidas pr~ducidas por la no calidad. o La calidad mantiene a los clientes e incrementa los beneficios. o La calidad es el sello distintivo de los negocios de nivel mundial. 1.2. La calidad en la industria del software La exigencia de la calidad no es sólo para los productos materiales, también lo es para los productos inmateriales, los llamados servicios. Dentro de estas empresas de servicio se encuentran las empresas desarrolladoras de software; y las principales de ellas han apostado por la calidad como demuestran las siguientes consignas o tesis: "Si no mantenemos nuestro ímpetu en el aspecto de la calidad, los japoneses nos adelantarán". Hewlett-Packard. "El crecimiento no es nuestro objetivo principal. Nuestro objetivo ha de ser una organización de calidad, lo cual significa que nos sentiremos orgullosos de nuestro trabajo y de nuestros productos en los años venideros. A medida que alcancemos la calidad, el crecimiento vendrá por añadidura". Digital. ' Yourdon, Edward. Investigador ampliamente conocido por idear el método estructurado de análisis y diseño, así como ser coautor del método denominado CoadIYourdon para programación orientada a objeto en los años noventa. Autor de más de quinientos artículos y veinticinco libros es licenciado en matemáticas por el MIT y el Instituto Politécnico de Nueva York. Consultar el sitio http://www.vourdon.com. ' Yourdon Edward, "Lo bueno..¿es lo mejor?", Byte, no 22, octubre 1996. pág. 154. LA CALIDAD DEL SOFTWARE Y SU MEDIDA 25 Las empresas de software se ven obligadas a implantar modelos y metodologias propias del aseguramiento de la calidad del software generalmente culminados con la obtención de certificaciones emitidas por organismos de carácter internacional. Estas certificaciones son exhibidas como muestra de la excelencia de sus procesos productivos y se entienden como un mecanismo necesario, aunque no suficiente, para la captación de nuevos clientes o el mantenimiento de los ya existentes. La calidad es un "principio que no es ni social ni culturalmente bueno discutirm4. Sin embargo la gestión de la calidad se enfrenta a severos obstáculos de difícil superación. Si bien es patente la existencia de un consenso generalizado que nos indica un grado de concienciación sobre este tema, no es menos cierto que esta sensibilidad muchas veces se acerca más a una actitud estética que a un verdadero compromiso con los principios básicos que rigen esta disciplina. López Cachero sentencia " ... Pero cuando se trata de ponernos de acuerdo en discutir qué es la calidad, cómo se lleva a cabo hasta sus últimas consecuencias, empiezan los problemas"5. Este hecho, unido a la dificultad de objetivar atributos asociados a la calidad o a su control, han provocado numerosas frustraciones en aquellas empresas que emprendieron procesos de gestión de la calidad sin la debida preparación y conocimiento. En numerosos casos el propio concepto de calidad es mal entendido o no adecuadamente utilizado. Este hecho se ve agudizado en una disciplina cuyo resultado es la creación de una entidad inmaterial, el programa informático, de características sui géneris muy distintas al resultado de los procesos productivos tradicionales. La necesidad de implantar procedimientos y modelos que permitan el control y aseguramiento de la calidad, así como la falta de un consenso generalizado sobre esta disciplina, ha tenido como resultado la aparición de numerosos modelos propios del aseguramiento de la calidad del software. Se pueden citar más de una decena de estos modelos generados por universidades, asociaciones de carácter trasnacional y organismos públicos. CMM, ISO 9000, BOOTSTRAP, SQAM, proyecto ALVEY, MÉTRICA, ISO/IEC 9126, proyecto SPICE, son sólo algunos ejemplos de los numerosos esfuerzos realizados en esta dirección. La calidad del software adolece de la inexistencia de un punto de vista unificado que simplifique y dé coherencia a los modelos existentes permitiendo su equiparación en objetivos y resultados. López Cachero, M. 11 Jornadas de Calidad del Software, organizadas por la Asociación de Técnicos de Informática. Madrid 2 y 3 de julio de 1998. Registro en audio realizado por nosotros. López Cachero, M. 11 Jornadas de Calidad del Software, organizadas por la Asociación de Técnicos de informática. Madrid 2 y 3 de julio de 1998. Registro en audio realizado por nosotros. López Cachero, Manuel. Rector de la Universidad Alfonso X el Sabio y presidente de la Asociación Española de Normalización y Certificación, AENOR. 26 LA CALIDAD DEL SOFTWARE La medida del software se considera, igualmente, una necesaria consecuencia de la adopción de una estrategia propia de las ingenierías tradicionales en el desarrollo de los programas informáticos, ya puesto de manifiesto en la conferencia de Garmisch en 1968. Medir atributos propios del software y su proceso creativo, es una necesidad aceptada por teóricos y profesionales que consideran esta actividad normal en el control del proceso y del producto software. Sin embargo este compromiso se encuentra con serias disfunciones consecuencia, igualmente, de la fragilidad del mismo. La implantación de procedimientos de mejoras sin la obtención de medidas rigurosas era una práctica habitual en las empresas del sector. Este hecho es considerado por algunos autores como Fenton, Gibbs o Tom deMarco una de las causas más importante de la situación actual en el desarrollo de programas para ordenador. La medida del software se limita, en numerosos casos, a la obtención de datos estadísticos sobre la satisfacción del cliente sin entrar en conceptos más propios del software y sus atributos tales como la fiabilidad, madurez, estabilidad, etc. La medida del software se encuentra lejos de ser una verdadera cuantificación de los atributos de procesos o productos, limitándose a la acumulación de cantidades resultado de medidas realizadas sobre atributos poco definidos con el fin de obtener una base de datos histórica sobre la que aplicar diferentes herramientas matemáticas de naturaleza estadística. Un claro ejemplo de este hecho es el uso del análisis del punto función con el fin de estimar esfuerzos en la realización de aplicaciones informáticas. Sin embargo, esta situación está cambiando. La obtención de medidas estrictas que representen y cuantifiquen atributos claramente identificados de entidades propias del software y su proceso de creación es una necesidad que estudiosos y profesionales ya no ponen en duda. La medida del software y los modelos de aseguramiento y administración de la calidad del software son la base de una pirámide cuya cúspide es el control del proceso de creación de aplicaciones informáticas. Como colofón de lo expuesto no debe olvidarseque la calidad de los productos y servicios depende en gran manera de la calidad de los profesionales que los diseñan, organizan y controlan. Si siempre se ha dicho que "el principal capital de una empresa u organización lo constituyen sus recursos humanos", hoy día es más cierto que nunca, como reconoce la Comisión Europea: "En última instancia, las expectativas de Europa descansan sobre el potencial intelectual técnico de su población y especialmente de las generaciones más jóvenes. Por ello, la inversión en capital humano en general y en educación y capacitación en particular deben ocupar un lugar destacado en la agenda de todos los estados miembros." LA CALIDAD DEL SOFTWARE Y SU MEDIDA 27 2. CONCEPTO DE CALIDAD 2.1. Definición de Calidad Con objeto de estudiar la medida de la calidad del software se hace imprescindible definir este atributo. No es difícil encontrar más de una decena de definiciones aportadas por instituciones, estudiosos y organizaciones propias del ámbito tradicional de la prestación de servicios o del suministro de bienes manufacturados. La Real Academia Española de la Lengua define el concepto "calidad" como6 : Calidad (del lat. Qualitas, -atis y este calco del griego poiothz) .f. Propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su valor. 2. Buena calidad, superioridad o excelencia. 3. Carácter, genio, índole. 4. Condición o requisito que se pone en un contrato. 5. Estado de una persona, naturaleza, edad y demás circunstancias y condiciones que se requieren para un cargo o dignidad. 6. Nobleza del linaje. 7. Importancia o gravedad de algo. 8. pl. Prendas personales 9. Condiciones que se ponen en algunos juegos de naipes. Según María ~ o l i n e r ~ , calidad, en sentido amplio, equivale a "cualidad" Como se puede observar las acepciones del término son muy variopintas, aunque añadiremos aquellas que se encuentran en los textos que tratan de la calidad, tal como se entiende en los ámbitos empresariales, tales como: o Grado en el que un conjunto de características inherentes cumple con los requisitos8. o El conjunto de actividades encaminadas a descubrir y satisfacer las necesidades de un colectivo o de una sociedad en general9. o Satisfacción del cliente y conformidad con sus requisitos y necesidades'' . o El grado de satisfacción que produce al cliente" . ' Real Academia Española. Diccionario de la lengua española. 22" Edición. Madrid, 2001. Pág. 401. ' María Moliner. Diccionario de uso del Español. Editorial Gredos S.A. Madrid, 2000. Pág. 224. UNE-EN ISO 9000. Sistemas de gestión de la calidad. Fundamentos y vocabulario. AENOR. Madrid, 2000. Pág. 16. Sebastián Pérez, Miguel Ángel; Bargueño Fariñas, Vicente; Novo Sanjurjo, Vicente. Gestión y Control de calidad. Cuadernos de la V E D . Madrid. UNED. 1994. Pág. 15. ' O Sebastián Pérez, Miguel Angel; Bargueño Fariñas, Vicente; Novo Sanjurjo, Vicente. Op. Cit. Pág. 15. "JOC Sanders y Eugene Curran. Software Quality. A Framework for Success in Software Development and Support, Centre for Software Engineering, Dublin, Addison-Wesley Publishing Company, 1994. Pág. 3. La traducción es nuestra. 28 LA CALIDAD DEL SOFTWARE o El proceso de identificar, aceptar, satisfacer y superar constantemente las expectativas y necesidades de todos los colectivos humanos relacionados con la empresa (clientes, empleados, directivos, propietarios, proveedores y la comunidad) con respecto a los productos y servicios que proporciona'2. En el caso del software y su proceso de creación, consideraremos como definición de calidad la propuesta por la norma ISO 9000:2000. El proceso de creación de programas o el producto informático en sí, no se diferencian, en cuanto a objetivos a alcanzar, de aquel que debe cumplir cualquier otro servicio o producto ofrecido por la industria tradicional. La definición propuesta es de ámbito general pero nos permite afirmar que la calidad debe ser impuesta por los requisitos que ha de cumplir el producto o servicio, hecho que en el caso de los programas para computador pueden ser subjetivos y de difícil concreción. El problema de la medida de la calidad del software se ha trasladado, por tanto, a la medida de los requisitos a cumplir por la aplicación informática y el grado en que ésta las satisface. Estos requisitos serán estudiados más adelante. 2.2. Tipos de Calidad En los ámbitos industriales en general, y en los informáticos en particular, circulan numerosas historias jocosas de cómo lo que se proporciona al cliente no tiene nada que ver ni con lo que éste ha solicitado ni con el diseño inicial. Por ello podemos distinguir tres tipos de calidad relacionados entre sí: calidad necesaria, calidad programada y calidad realizada. Calidad necesaria. Es la calidad que pide el cliente y la que le gustaría recibir. Calidad programada. Es el nivel de calidad que se propone obtener el fabricante. Calidad realizada. Es la calidad que se puede obtener debido a las personas que realizan el trabajo o a los medios utilizados. '' Arthur Andersen. La Calidad en España. Cinco Días. Madrid, 1995. Pág. 28. LA CALIDAD DEL SOFTWARE Y SU MEDIDA 29 CALIDAD n / REALIZADA \ CALIDAD y CALIDAD / \ PROGRAMADA Figura 1.1. Los tres tipos de calidad. Podemos representar estas calidades como tres círculos que se cortan. Lo que la gestión de la calidad pretende conseguir es que el área común sea la mayor posible, incluso que lleguen a coincidir para evitar insatisfacciones y gastos superfluos. A veces se habla de calidad percibida, que no tiene que coincidir con la realizada, ya que depende de la subjetividad de algunas de las características, por ejemplo la estética, y es debido a que los usuarios no disponen de la información completa. En estos casos los productos o servicios se evalúan más por su nombre de marca o la publicidad que por sus características objetivas. La calidad percibida es el grado de calidad que el cliente cree que tiene el producto o servicio. Al ser subjetiva del cliente, el sistema de gestión poco puede hacer para que la calidad percibida sea igual a la realizada, salvo incrementar la comunicación a fin de conseguir la convergencia. 2.3. Rasgos inherentes a la calidad Algunos de los rasgos más sobresalientes de la calidad son: 0 Implica la mejora continua de la productividad y de la competitividad. O Significa hacer las cosas bien a la primera. O Consiste en dar al cliente lo que éste desea. 0 Se basa en el sentido común. Involucra a todos los niveles de la empresa. 30 LA CALIDAD DEL SOFTWARE Las consecuencias de la implantación de un sistema de calidad son: o Mejora de la imagen de la empresa. o Apoyo al marketing. o Favorece el espíritu de equipo. o Genera valor añadido. o Genera crecimiento sostenido basado en la excelencia. o Es una inversión sin riesgo. 2.4. Dimensiones de la calidad El modelo que representa la calidad se configura mediante un conjunto de dimensiones, también llamados factores o características, que son independientes entre sí. Un producto puede tener un valor alto en una dimensión y bajo en otra. Estas dimensiones varían según los diversos autores. A continuación presentaremos la de Sebastián, Bargueño y ~ o v o ' ~ , ligeramente modificada. Las dimensiones identificadas son: Prestaciones, Diferenciación, Fiabilidad, Conformidad, Duración, Asistencia Técnica y Estética. Prestaciones Son las características operativas principales de un producto, que son fundamentalmente medibles, como la velocidad máxima de un vehículo, el tiempo de frenado, el número de canales de un televisor, los watios de potencia de un equipo de sonido, etc. La conexión entre calidad y prestaciones, a pesar de poderse dar una medida de estas últimas, se encuentra afectada por las preferencias individuales y la semántica. Así, un cliente puede preferir el tiempo de frenado a la velocidad o no asociar con calidad el término potenciade un equipo de sonido o de una bombilla (por ejemplo no considera que una lámpara de 100 watios sea de más calidad que una de 40 watios). Así como las prestaciones se corresponden con las características objetivas del producto, su relación con la calidad depende de la interpretación individual y particular del cliente. " Sebastián, Miguel Angel; Bargueño, Vicente; Novo, Vicente. Gestión y Control de calidad. Madrid. UNED. 1994. LA CALIDAD DEL SOFTWARE Y SU MEDIDA 31 Diferenciación La diferenciación se refiere a las características secundarias del producto, las que coexisten con el funcionamiento básico del producto. La distinción con las prestaciones es muchas veces difícil, pues muchos clientes pueden pensar que para ellos una característica secundaria o característica diferencial, por ejemplo, la inclusión de una calculadora en una aplicación software de contabilidad, es una prestación del producto software considerado. Fiabilidad Se denomina fiabilidad a la probabilidad de que un producto no falle en un período de tiempo determinado. Su medida puede hacerse de diversas formas tales como el tiempo medio hasta el primer fallo, el tiempo medio entre dos fallos y la tasa de fallos por unidad de tiempo. Evidentemente estas medidas son sólo válidas para productos que están funcionando durante un cierto tiempo, por lo tanto sólo sirve para productos duraderos y no para productos perecederos o servicios de consumo instantáneo. Conformidad La conformidad es el grado en que el diseño y las prestaciones del producto cumple los estándares establecidos. Su medida varía de un sector a otro. En la industria de fabricación se mide mediante la tasa de defectos (proporción de la producción que no cumplen las normas). En otros sectores, como en los servicios, se mide por el número de reclamaciones o la frecuencia de reparaciones durante el período de garantía. Tanto la conformidad como la fiabilidad son medidas muy objetivas de la calidad y, por consiguiente, no afectan tanto a las preferencias individuales de los clientes como lo hacen las prestaciones y la diferenciación. Como los usuarios no quieren ni defectos ni fallos, apartando del mercado los productos que los presentan, la inversión en fiabilidad y conformidad se consideran como ganancias directas de la calidad. Duración Es la medida de la vida del producto. En esta medida de carácter técnico subyace un aspecto económico. La duración técnica es la cantidad de uso que se obtiene del producto antes de su deterioro físico, sin posibilidad de reparación. Si la reparación es posible, la duración es más difícil de calcular, ya que la vida del 32 LA CALIDAD DEL SOFTWARE producto dependerá de las condiciones económicas; así, si la economía va bien los coches usados tienen menor duración. En general, el cliente tiene que elegir entre el coste de la reparación para incrementar la duración y la inversión de un nuevo modelo más fiable. Como se puede deducir la fiabilidad tiene mucho que ver con la duración. Aunque no siempre una mayor duración implica una mejora 'del producto, ya que puede ocultar una situación económica particular, por ejemplo, obsérvese el parque automovilístico cubano, cuya vida media sobrepasa de largo los 14 años considerados como media, siendo casi joyas de museo. Asistencia técnica Esta característica está relacionada con el servicio de reparaciones y la atención al cliente en general, y comprende la prontitud en la atención o reparación, la competencia de los empleados y el trato al consumidor. Algunos aspectos pueden medirse objetivamente, como el tiempo de reparación o el del actualización de un antivirus, otros como el trato al cliente sólo puede hacerse de forma subjetiva. Es uno de los aspectos que más influyen en la percepción actual de la calidad. Estética Es muy subjetiva y está muy ligada a la personalidad del usuario, que no tiene por qué aceptar los cánones establecidos. La forma de un producto, su color, sabor, tacto o sonido o gráficos afectan de forma diferente a los diferentes usuarios. En un programa de videojuegos la calidad que percibe el usuario está muy ligada a la estética (parte gráfica, música de fondo, diseño de los personajes, etc.). 2.5. Las características de la calidad del software Debido a que el software es intangible, no material, muchas personas tienen dificultades para asociarle el concepto de calidad. Sin embargo las posibilidades de fmstración y de pérdida de confianza en él son muy elevadas. Para adaptar las dimensiones estudiadas a la calidad del software se seguirá la norma ISO 9126, que describe seis características compuestas: Funcionalidad, Fiabilidad, Facilidad de uso, Eficiencia, Mantenimiento y Movilidad. Cada una de ellas se descomponen en subcaracterísticas que serán estudiadas en detalle en el correspondiente capítulo. Así, cuando se adquiere un software se quiere que éste funcione siempre y bajo diferentes condiciones incluso difíciles de cumplir (fiabilidad), que realice las funcionalidades que dice tener y que por ello se ha adquirido (funcionalidad), que LA CALIDAD DEL SOFTWARE Y SU MEDIDA 33 se puedan ejecutar las funcionalidades de una forma fácil (facilidad de uso), que lo hagas lo más rápido posible y con el mínimo consumo de recursos (eficiencia), que cuando las circunstancias lo pidan pueda modificarse fácilmente (mantenimiento) y, por último, que pueda transferirse de un entorno a otro (movilidad o portabilidad). Quizás, de las dimensiones manejadas, la del nivel más bajo asumido es la fiabilidad, ya que el software debe funcionar siempre que se requiera. Qué mayor fmstración que cuando se está de viaje con un portátil, no pueda utilizarse por un incidente del sistema operativo. El siguiente nivel exigido, el intermedio, es la funcionalidad. No sólo el software debe de tener las funcionalidades que dice tener, sino que debe comunicarlas. Es decir, el usuario debe disponer de la información suficiente para poner usar de forma eficaz todas las tareas. El manual de usuario de la aplicación es un componente más del software. En un nivel superior se encuentra la facilidad de uso (usabilidad). Además de hacer lo que debe hacer el software, debe de hacerlo de una forma fácil, natural y amigable, de ahí la importancia del diseño de las interfaces. El resto de las características son complementarias de las anteriores, ya que lo fundamental es que el software, en primer lugar, debe de funcionar, hacer lo que dice que hace y de una manera fácil. La economía de recursos, la facilidad de modificación y el transporte del software añaden la miel a la hojuela de las tres características fundamentales. 2.6. El Decálogo de la calidad Este decálogo de la calidad es propuesto por Arthur ~ n d e r s e n ' ~ como preceptos fundamentales para la gestión exitosa del factor estratégico Calidad. Según los autores, el decálogo es consecuencia de su experiencia en consultoría. Los preceptos del decálogo son: 1" La calidad la deJinen los clientes En los actuales mercados competitivos son los clientes los que determinan sus necesidades y si los productos y servicios que se le ofrecen les satisfacen. De ahí que las empresas deban entender y conocer las necesidades, preferencias, percepciones y valores de los potenciales clientes y, en base a ellos, y con el fin de 14 Arthur Andersen. La calidad en España. Madrid. Cinco Días. 1995. 34 LA CALIDAD DEL SOFTWARE establecer una posición de liderazgo en algún segmento, identificando aquellos factores o dimensiones de calidad en los que tiene ventajas competitivas y diseñando estrategias de segmentación para explotar los nichos del mercado correspondientes. 2" El proceso de calidad se inicia con el liderazgo activo de la Alta Dirección La calidad no se delega, se practica. Por consiguiente deben ser los directivos los que lideren activamente el proceso de la calidad. Una vez que los directivos han previsto elfuturo de la empresa u organización y la estrategia de calidad han de impulsar su desarrollo y crecimiento. Como la visión y la estrategia de calidad han de ser compartidas por toda la organización, el estilo de gestión ha de ser participativo y se ha de practicar diariamente lo que se predica. 3" La calidad es un factor estratégico de competitividad y diferenciación No se puede hablar de niveles de calidad absolutos, ya que lo que importa es la comparación que los clientes hacen de las calidades percibidas entre los diferentes productos o servicios en competencia en el mercado. El factor de calidad a tener en cuenta como ventaja competitiva varía a lo largo del ciclo de vida del producto desde la innovación en su inicio, pasando a la competencia en precio y calidad como factor diferenciador según se avanza en el ciclo. La calidad y el servicio al cliente son ventajas competitivas duraderas. 4" La calidad efectiva es garantía de rentabilidad sostenida Si el criterio primordial empresarial es la excelencia del servicio al cliente, la eficacia de las operaciones se evalúa en términos de calidad más que en términos de costes, ya que, si el nivel de calidad obtenido cumple con las expectativas de los clientes, la rentabilidad está garantizada. A la larga la calidad implica reducción de costes, aunque al principio haya que invertir en formación, aprendizaje y modificación de los hábitos. La rentabilidad se debe a diversos factores como: o Los clientes satisfechos son los mejores vendedores. o Los clientes satisfechos son más fieles a la hora de una nueva compra. o Los productos y servicios de mayor calidad proporcionan mejores precios y márgenes comerciales. o Menores costes de comercialización, ya que no hay que captar nuevos clientes. LA CALIDAD DEL SOFTWARE Y SU MEDIDA 35 o Mayor productividad al dirigir los recursos hacia un objetivo común y conocido. 5" La calidad involucra a todo los miembros de la organización De poco sirve que exista una política de calidad y que los directivos la lideren si el resto del personal no se encuentra involucrado. Un factor fundamental para ello se encuentra en la selección de personal, ya que la imagen que de la empresa se' forman los clientes viene condicionada por el entusiasmo, motivación y convicción que transmiten los empleados; por lo tanto, los candidatos seleccionados deben tener unas actitudes y características acordes con la orientación de la empresa. Las empresas que consiguen implantar con éxito este tipo de estrategia son las que han dado prioridad a la inversión en formación de sus empleados, convirtiendo esta formación en un mecanismo fundamental en el proceso de motivación, ayudando a establecer el espíritu de equipo y cooperación necesarios para que la gestión diaria de la calidad alcance el éxito. 6" La calidad involucra también a los proveedores Es evidente que la calidad de un producto depende en un gran grado de la calidad de sus materias primas y de las herramientas utilizadas durante su proceso. Por ello es fundamental la calidad de los productos y servicios suministrados por los proveedores. De ahí nace el concepto de calidad concertada, que implica el trabajo conjunto con los proveedores con el fin de que estos asuman su parte de responsabilidad en obtener el objetivo final de calidad. De hecho muchas empresas exigen a sus proveedores la implantación de sistema de aseguramiento de calidad según normas ISO o sus equivalentes españolas UNE. 7" La calidad debe ser el criterio que configure todos los sistemas y procesos de la empresa Si una organización no evalúa todas sus actividades desde la orientación al cliente puede que implante sistemas incompatibles con la calidad. Los sistemas que más influyen en la gestión eficaz de la calidad son: - Sistemas de captación de información externa. Esta información se convierte en la base para el conocimiento del mercado, de la competencia y de los gustos y necesidades de los clientes y permite que se traduzcan en 36 LA CALIDAD DEL SOFTWARE innovaciones en los productos y servicios para responder ágilmente a los cambios del entorno. - Sistemas de medición de la calidad, Estos sistemas permiten evaluar los factores de calidad que soportan la estrategia de la empresa. Con esta información y la obtenida en el apartado anterior se puede evaluar el grado de cumplimiento de los objetivos de calidad establecidos y la posición competitiva de la empresa y de proceder a efectuar las correcciones necesarias. - Sistemas de retribución e incentivos al personal. Estos incentivos deben ligarse al cumplimiento de los objetivos de calidad, y es la herramienta más eficaz para motivar al personal y modificar su comportamiento. 8" La calidad debe comunicarse Para que la'calidad sea percibida hay que dar a conocer las ventajas diferenciadoras que pueden ser cumplidos por la empresa para generar expectativas en los clientes. Nunca deben anunciarse aspectos que sean falsos, ya que defraudan, causan frustración y suponen la pérdida del cliente. Las estrategias comunicacionales tienen como objetivo: - Crear una imagen institucional que se asocie con el concepto de calidad. - La promoción de los aspectos de calidad difeenciadores. 9" Calidad implica sensibilidad y preocupación de la empresa por su entorno social y medioambiental Si una empresa se orienta hacia la calidad tiene que distinguirse por su sensibilidad y responsabilidad hacia la comunidad y el medio ambiente en el que se desenvuelve. No puede separarse del concepto global de calidad la responsabilidad social, la ética y la conservación del medio ambiente. La responsabilidad social forma parte de la imagen de la empresa. 1 O" La calidad es dinámica La calidad no es estática, está constantemente en transformación debido fundamentalmente a tres factores: los gustos y motivaciones de los consumidores cambian con el tiempo, la competencia presiona mediante el lanzamiento de LA CALIDAD DEL SOFTWARE Y SU MEDIDA 37 nuevos productos y servicios y el proceso evolutivo interno de la propia empresa hace que se fije continuamente nuevas metas. 3. ESTADOS DE DESARROLLO DE LA CALIDAD La calidad ha pasado por diferentes etapas de desarrollo hasta el momento actual como se representa en el gráfico siguiente: Gestión estratégica de la calidad Aseguramiento de la calidad Figura 1.2. Etapas de la calidad. 3.1. Inspección Como consecuencia de la organización "taylorista" de la producción nace el control de calidad como supervisión de los productos terminados según el concepto "aceptado o no aceptado". Los inspectores de calidad comprobaban si los productos cumplían determinados requisitos, rechazando aquellos que no superaban la correspondiente inspección. Sus características son: 3 8 LA CALIDAD DEL SOFTWARE o El objetivo principal es la detección de errores. o Su visión de la calidad es un problema a resolver. o Pone el énfasis en la uniformidad del servicio. o Emplea métodos de fijación de estándares y medición. o El papel de los profesionales de la calidad es de inspección, clasificación, conteo y medición. o La responsabilidad de la consecución de la calidad es del departamento de inspección. o Su orientación y enfoque es que la calidad se comprueba. 3.2. Control de la calidad Hacia 1924 se establecen las bases del Control Estadístico de la Calidad, que recibe su confirmación durante la Segunda Guerra Mundial, contribuyendo a la producción de guerra que facilitaría el triunfo a los Aliados. Las características son: El objetivo principal es el control para detectar errores en los productos terminados. Su visión de la calidad sigue siendo un problema a resolver. El énfasis sigue estando en la uniformidad del servicio, pero reduciendo la inspección. Sus métodos son herramientas y técnicas estadísticas. El papel de los profesionales de la calidad es de resolución de problemas y aplicación de métodos estadísticos. Laresponsabilidad de la consecución de la calidad es de los departamentos de calidad y de los inspectores. La orientación y enfoque se basa en que la calidad se controla. Su filosofía es clasificar los productos en función de su calidad intrínseca. Su alcance se relaciona exclusivamente con el producto final. Las referencias escritas son las especificaciones del producto. La formación del personal queda limitada a los inspectores. El coste de la calidad se debe al rechazo de productos ya terminados, no recuperándose su coste de producción. A los proveedores prácticamente no se les presta ninguna atención. Las únicas normas existentes son las especificaciones del producto. La calidad se obtiene por comparación de las especificaciones con el resultado del control del producto terminado. LA CALIDAD DEL SOFTWARE Y SU MEDIDA 39 3.3. Aseguramiento de la calidad Del control estadístico de la calidad se pasa a la gestión de la misma, caracterizándose por: Su objetivo principal es la coordinación de los diferentes procesos que llevan al producto. Su visión de la calidad sigue siendo un problema a resolver, aunque ahora de una forma activa. Su énfasis consiste en actuar en la totalidad de la cadena, incluidas las funciones de I+D y las áreas de apoyo. Sus métodos son los programas y sistemas de calidad. El papel de los profesionales de la calidad está en planificar la calidad, medirla y diseñar programas para la calidad. La responsabilidad de la consecución de la calidad es de todos los departamentos; la dirección se limita a fijar la política, planificar, coordinar y controlar. Su orientación y enfoque es que la calidad se produce. Su filosofía es incorporar la calidad al producto desde la fase de desarrollo al final de una forma planificada. Su alcance se limita al proceso de producción, junto a los proceso de apoyo, en cuanto tengan relación directa con el producto final. Sus referencias escritas son normas ISO u otras específicas de aseguramiento de la calidad, el manual de calidad y los procedimientos escritos. La responsabilidad está en asegurar el cumplimiento de las instrucciones de la documentación de toda la línea jerárquica que ejerce la responsabilidad del aseguramiento. La formación es específica. Se dirige a que cada persona aprenda exclusivamente las tareas que tenga que desarrollar. La reducción de costes no es un objetivo directo. Los ahorros se producen indirectamente al actuar mediante medidas correctoras siguiendo los procedimientos escritos en el sistema de calidad. La calidad se obtiene realizando las tareas según las normas y se mide por el número de desviaciones. Al suministrador se le debe exigir su conformidad con sistemas de aseguramiento de la calidad. Las normas son la ISO 9001-2000, 9002-94, 9003-94 o las específicas del sector. 40 LA CALIDAD DEL SOFTWARE 3.4. Gestión de la Calidad Total Un grupo de empresas europeas pensó, a mediados de los años ochenta en obtener una ventaja competitiva por medio de la Gestión de la Calidad Total (TQM) y crearon la Fundación Europea para la Gestión de la Calidad (EFQM). Esta gestión no se basa en normas sino en modelos como el Premio Malcom Baldrige, el Premio Deming o el Modelo Europeo (modelo EFQM). Sus principales características son: Su objetivo principal es el impacto estratégico. Su visión de la calidad cambia del problema a una oportunidad de ventaja competitiva. Su énfasis se pone en el mercado y las necesidades de los clientes. Sus métodos son la planificación estratégica, la fijación de objetivos y la movilización de la organización. El papel de los profesionales de la calidad se centra en la fijación de objetivos, formación, coordinación entre los departamentos y diseño de programas. La responsabilidad de la consecución de la calidad es de todos los miembros de la empresa bajo el liderazgo activo de la dirección. La orientación y el enfoque se basa en que la calidad se gestiona. Su filosofía se basa en dirigir la organización, con colaboración de los empleados, hacia la mejora de los productos. Su alcance es la Gestión por Procesos de todo lo que se hace en la organización. Las referencias escritas, además de todas las anteriores, incluyen las expectativas de los clientes, las políticas de calidad, los objetivos estratégicos, la participación de los empleados, la relación con la comunidad, etc. La responsabilidad de la gestión es de todo el equipo directivo y de los mandos intermedios. El control de costes se dirige a reducir el coste mediante la eliminación de todos aquellos elementos y procesos que no añaden valor, desde el punto de vista del cliente interno y externo. El proveedor constituye un eslabón más en la cadena de valor, por lo que hay que establecer con él una relación de confianza para conseguir una Calidad Concertada. LA CALIDAD DEL SOFTWARE Y SU MEDIDA 4 1 3.5. Evolución del concepto de calidad Inicialmente la calidad se consideraba un problema. Actualmente esta visión ha variado al considerarse como un factor estratégico, un elemento competitivo. También ha pasado de ser incumbencia exclusiva del departamento de producción a afectar al resto de los departamentos, hasta llegar actualmente al mercado y a los clientes, centrándose todo el énfasis de la calidad en estos últimos. Los métodos, que consistían únicamente en herramientas de medición han evolucionado hasta herramientas de gestión y planificación. La calidad ha ido acrecentando su papel en la empresa, involucrando cada vez a mayor número de personas y saliendo de la organización para centrarse en el mercado y el consumidor. El cambio puede observarse en el siguiente cuadro: Tabla l . l . Evolución de la calidad en la empresa. Las actividades necesarias para la obtención de cierto producto, de forma que éste cumpla con requisitos concretos pueden ser entendidas como control de la calidad. La historia y evolución de esta disciplina se encuentra, por tanto, estrechamente unida a los avances tecnológicos aportados por la humanidad desde sus orígenes. El término calidad no aparece hasta muy avanzada la historia de la economía y la tecnología, aunque sí se emplean calibre, galga, sistema de medición que indican un cierto papel de la metrología, es decir, una tendencia a cuantificar las características de los productos. 42 LA CALIDAD DEL SOFTWARE 4.1. Artesanos y Obreros Un momento importante para la aparición de lo que podríamos llamar "la calidad moderna" se produce cuando el artesano se convierte en obrero con el advenimiento de la Revolución Industrial. Anteriormente era el artesano el que producía los artículos que necesitaban los demás, pero los hacía uno a uno, solamente condicionado por el cliente. Los productos tienen ciertas connotaciones artísticas y el artesano tiene prácticamente una total libertad de acción. Aunque el artesano no ha desaparecido en la actualidad (alfareros, bordadoras, sastres, zapateros, etc.) sigue teniendo un contacto directo o casi directo con el cliente, conociendo, por lo tanto, sus necesidades y requerimientos y elaborando el producto a la medida. Al entregar el producto, el artesano puede conocer el grado de satisfacción del cliente, que es lo que hoy en día se conoce como calidad. La Revolución Industrial introduce la producción masiva y la cadena de montaje. El operario no tiene ni iniciativa ni libertad de acción, su trabajo viene impuesto por su puesto en el conjunto del proceso productivo. El comportamiento de obrero está condicionado por muchos aspectos, tales como el tipo y estructura de su empresa, la situación socio-económica de su entorno, etc., siendo para él poco significativas las necesidades del usuario final, al que no conoce, y del que no aprecia sus requerimientos. Por lo tanto, el operario no conocerá casi nunca el grado de satisfacción del cliente o sea la calidad de su trabajo. Es necesario, por consiguiente, la organización de un sistema de medición,supervisión y control que intente asegurar la calidad de la producción, con la intervención de nuevos operarios especializados en calidad. 4.2. Los orígenes En los principios de la humanidad, la sociedad era exclusivamente nómada, recolectora y cazadora. Cada grupo elaboraba sus propios productos según sus necesidades, por lo que no hacía ningún control del tipo calidad sobre su proceso productivo, ya que no es lo mismo trabajar para uno mismo que producir para otra persona que tiene algo que decir sobre el resultado del trabajo. Cuando los hombres aprenden a domesticar los animales y sobre todo cultivar los vegetales, se ven obligados a asentarse, y al mejorar los cultivos se produce un excedente de alimentos que permite que algunos puedan convertirse en artesanos y producir objetos para los demás. Es el momento en el que empieza a tener lugar una "función de calidad" por parte del artesano por un lado y del consumidor por otro. También se inicia el comercio, incluso a grandes distancias: el intermediario, el comerciante, hace también un papel de "inspector de calidad" al elegir los productos con los que va a negociar. LA CALIDAD DEL SOFTWARE Y SU MEDIDA 43 Existe una notable diferencia entre un control de calidad realizado de forma inconsciente, desorganizada y por individuos aislados, y aquel otro, colectivo, organizado y consciente. No es fácil conocer cuándo y dónde se produjo la evolución desde una actitud hacia la otra. Jerry ~ a n k s ' ' apunta "la existencia de conscientes esfuerzos en el control de la calidad"I6 en tiempos de la construcción de las pirámides de Egipto, por lo que podemos considerar esta época como referencia temporal básica para esta disciplina. La Grecia clásica o el antiguo imperio romano han dejado muestras evidentes del nivel de calidad alcanzado en sus obras de ingeniería o arquitectura. Aun, hoy en día, podemos disfrutar de la simbiosis de técnica y belleza que sus construcciones nos ofrecen. En la Edad Media y hasta finales del siglo XIX el suministro de servicios y la producción de bienes se encontraban esencialmente limitados a individuos aislados, como máximo a un grupo formado por algunas pocas personas. Este colectivo era quien controlaba la calidad del artículo haciendo las funciones de productor e inspector. El resultado de esta actitud es que los estándares de calidad eran auto- establecidos. Por otro lado la existencia o no de conformidad entre el producto elaborado o el servicio ofrecido, y los requisitos del cliente eran determinados de forma individual. En esta era, sin embargo, la actividad manufacturera no era totalmente ajena a un control de calidad organizado. Los gremios, entendidos como agrupaciones de maestros artesanos, surgieron para la protección y provecho económico y social de sus miembros. Regulaban las economías locales urbanas estableciendo monopolios sobre el comercio, manteniendo servicios estables sobre condiciones estables y especificando estándares de calidad sobre las cosas. "Esta regulación de las actividades manufactureras (por parte de los gremios) puede haber sido uno de los primeros esfuerzos en el control de la calidad.17 " "Los consumidores se vieron beneficiados por una parte, porque la existencia de los gremios garantizaba una alta calidad de los productos.ls " 4.3. La Revolución Industrial: la inspección El advenimiento de la industrialización, a finales del siglo XVIII, supuso profundos cambios sociales y económicos generados por 'un proceso técnico. Prácticamente desaparecen los pequeños talleres artesanales y se forman grupos de trabajadores más numerosos con atribuciones específicas o similares. La l5 Banks, Jeny. Profesor de la Escuela Industrial y de Sistemas Ingenieriles perteneciente al Instituto Tecnológico de Georgia. Experto en sistemas de simulación informática. Consultar la Encyclopedia of Software Engineering, John Wiley & Sons, 1994. Jerry Banks. Principies of quality control. John Wiley & Sons, 1989. Pág. 4. La traducción es nuestra. " Banks, Jeny., op. cit. pág. 6. La traducción es nuestra. ' * Consultar "gremio" en la enciclopedia Salvat Universal. Barcelona. 1996. 44 LA CALIDAD DEL SOFTWARE complejidad de las manufacturas se incrementa y se incluye en el proceso productivo maquinaria sofisticada que proporciona un aumento espectacular de la productividad. Bajo estas circunstancias comienza la era del supervisor. Esta figura tenía la misión de controlar el trabajo de los empleados. Por otro lado el dueño de la fábrica, aún presente físicamente en la misma, elige estándares y claves relacionadas con el control de la calidad. A medida que transcurre el siglo XIX, avanza la complejidad de las manufacturas, las industrias crecen y la técnica progresa. Las organizaciones consideran la necesidad de incluir en sus plantillas individuos que, aunque no envueltos de forma directa en el proceso productivo, inspeccionen la calidad del producto. 4.4. De 1900 a 1950: la era del control estadístico En 19 1 1 Taylor en su obra Principios de la dirección cientzjica propone la separación entre la dirección de la empresa y los trabajadores mediante la fórmula: "La dirección debe definir la tarea de cada uno de los operarios especificando el método que deben de usar y cuantificando el tiempo que deben emplear en realizarla." La organización "taylorista" de la producción se extiende rápidamente. El proceso de producción se descompone en una serie de sencillas tareas y cada operario sólo realiza una de ellas y, por lo tanto, de una forma fácil. La duración de la formación del personal es relativamente corta y se puede atender rápidamente los aumentos de producción mediante la contratación de nuevo personal. Los precios de los productos bajan y se hacen asequibles a una gran masa de usuarios, aunque éstos no son tenidos en cuenta en el diseño de los productos. La empresa ofrece el producto que considera satisface las necesidades de los usuarios y a éstos, como la oferta es inferior a la demanda, no les queda otra solución que comprar lo que hay en el mercado. Como la organización de la empresa es funcional, sólo los directivos de mayor nivel de cada función tienen una visión global del proceso. Lo que obliga a comprobar que el producto obtenido al final de una fase satisfaga las condiciones de entrada de la fase siguiente. De ahí que las tareas deban de ser supervisadas y los productos resultantes controlados. Nace así el departamento de control de calidad y sus operarios, los inspectores como supervisores de si el producto "pasa o no-pasa", con el fin de eliminar los no aptos. La calidad se centra en el producto. En 1918, Henry Ford fue de los primeros en aplicar técnicas de control de calidad, mejorando y estandarizando los procesos. Las materias primas se LA CALIDAD DEL SOFTWARE Y SU MEDIDA 45 distribuían regularmente en la planta de "River Rouge" el lunes y los viernes los productos estaban terminados y listos para ser despachados. Las rutinas de control de la calidad basada en la supervisión de inspectores, a pesar del avance práctico y conceptual que supusieron, era una técnica insuficiente que no satisfacía a ciertas empresas. La empresa Be11 Telephone se enfrentaba a un grave problema: las solicitudes de instalación de teléfonos sobrepasaban las más optimistas expectativas, pero al mismo tiempo se incrementaban de forma alarmante las reclamaciones de los clientes, lo que suponía el tener que dedicar gran parte de sus recursos a resolver este problema. La empresa Western Electric, bajo contrato de la empresa American Be11 Telephone Company, estudió el problema con el objetivo de proporcionar técnicas e instrumentos más certeros que provocara una mayor confianza en los productos ofrecidos. En 1924 se formó el Departamento de Inspección de Laboratorio de las compañías Be11 Telephone y Western Electric [Banks, 19891, que recibió el nombre de "Quality Assurance Department", es decir,
Compartir