Ingeniería de calidad

Principios y prácticas de aseguramiento y control de calidad de productos y servicios

La ingeniería de calidad es la disciplina de la ingeniería que se ocupa de los principios y la práctica del control y garantía de la calidad de productos y servicios . [1] En el desarrollo de software, es la gestión, el desarrollo, la operación y el mantenimiento de sistemas de TI y arquitecturas empresariales con altos estándares de calidad. [2] [3] [4]

Descripción

La ingeniería de calidad es la disciplina de la ingeniería que crea e implementa estrategias para el aseguramiento de la calidad en el desarrollo y producción de productos, así como en el desarrollo de software. [5]

Los ingenieros de calidad se centran en optimizar la calidad del producto, lo que W. Edwards Deming definió como:

Calidad = Resultados de los esfuerzos laborales Costos totales {\displaystyle {\text{Calidad}}={\frac {\text{Resultados del esfuerzo laboral}}{\text{Costos totales}}}}

El conjunto de conocimientos de ingeniería de calidad incluye: [6]

  • Gestión y liderazgo
  • El sistema de calidad
  • Elementos de un sistema de calidad
  • Diseño de productos y procesos
  • Clasificación de las características de calidad
  • Entradas y revisión del diseño
  • Verificación del diseño
  • Fiabilidad y mantenibilidad
  • Control de productos y procesos
  • Mejora continua
  • Herramientas de control de calidad
  • Herramientas de gestión y planificación de la calidad
  • Técnicas de mejora continua
  • Acción correctiva
  • Acción preventiva
  • Control estadístico de procesos (CEP)
  • Gestión de riesgos

Roles

Auditor : Los ingenieros de calidad pueden ser responsables de auditar a sus propias empresas o a sus proveedores para verificar el cumplimiento de las normas internacionales de calidad, como ISO9000 y AS9100 . También pueden ser auditores independientes de un organismo de auditoría. [7]

Calidad del proceso : Los ingenieros de calidad pueden encargarse de la elaboración de mapas de flujo de valor y del control estadístico de procesos para determinar si es probable que un proceso produzca un producto defectuoso. Pueden crear planes de inspección y criterios para garantizar que se detecten las piezas defectuosas antes de la finalización. [8]

Calidad del proveedor : Los ingenieros de calidad pueden ser responsables de auditar a los proveedores o de realizar investigaciones de causa raíz y acciones correctivas en sus instalaciones o de supervisar dicha actividad para evitar la entrega de productos defectuosos.

Software

Los servicios de TI están cada vez más interconectados en flujos de trabajo que trascienden los límites de las plataformas, los dispositivos y las organizaciones, por ejemplo, en sistemas ciberfísicos, flujos de trabajo entre empresas o cuando se utilizan servicios en la nube. En esos contextos, la ingeniería de calidad facilita la necesaria consideración integral de los atributos de calidad.

En tales contextos, una visión "de extremo a extremo" de la calidad desde la gestión hasta la operación es vital. La ingeniería de calidad integra métodos y herramientas de la arquitectura empresarial -gestión, gestión de productos de software , gestión de servicios de TI , ingeniería de software e ingeniería de sistemas- , y de la gestión de calidad de software y gestión de seguridad de la información . Esto significa que la ingeniería de calidad va más allá de las disciplinas clásicas de ingeniería de software, gestión de seguridad de la información o gestión de productos de software ya que integra cuestiones de gestión (como estrategia de negocio y TI, gestión de riesgos, vistas de procesos de negocio, gestión de conocimiento e información, gestión del rendimiento operativo), consideraciones de diseño (incluyendo el proceso de desarrollo de software , análisis de requisitos , pruebas de software ) y consideraciones operativas (como configuración, monitorización, gestión de servicios de TI ). En muchos de los campos donde se utiliza, la ingeniería de calidad está estrechamente vinculada al cumplimiento de requisitos legales y de negocio, obligaciones contractuales y estándares. En lo que respecta a los atributos de calidad, la confiabilidad, seguridad y protección de los servicios de TI juegan un papel predominante.

En la ingeniería de calidad, los objetivos de calidad se implementan en un proceso colaborativo. Este proceso requiere la interacción de actores en gran medida independientes cuyo conocimiento se basa en diferentes fuentes de información.

Ingeniería de calidad

Objetivos de calidad

Los objetivos de calidad describen los requisitos básicos para la calidad del software . En la ingeniería de calidad, a menudo abordan los atributos de calidad de disponibilidad, seguridad, confiabilidad y rendimiento. Con la ayuda de modelos de calidad como ISO/IEC 25000 y métodos como el enfoque Goal Question Metric, es posible atribuir métricas a los objetivos de calidad. Esto permite medir el grado de consecución de los objetivos de calidad. Este es un componente clave del proceso de ingeniería de calidad y, al mismo tiempo, es un requisito previo para su seguimiento y control continuos. Para garantizar una medición eficaz y eficiente de los objetivos de calidad, es favorable la integración de números centrales, que se identificaron manualmente (por ejemplo, mediante estimaciones o revisiones de expertos) y métricas identificadas automáticamente (por ejemplo, mediante análisis estadístico de códigos fuente o pruebas de regresión automatizadas) como base para la toma de decisiones. [9]

Actores

El enfoque de gestión de calidad de extremo a extremo para la ingeniería de calidad requiere numerosos actores con diferentes responsabilidades y tareas, diferente experiencia y participación en la organización.

Diferentes roles involucrados en la ingeniería de calidad:

  • Arquitecto de negocios,
  • Arquitecto de TI,
  • Oficial de seguridad,
  • Ingeniero de requisitos,
  • Gerente de calidad de software,
  • Gerente de pruebas,
  • Gerente de proyecto,
  • Gerente de producto y
  • Arquitecto de seguridad.

Normalmente, estas funciones se distribuyen a lo largo de fronteras geográficas y organizativas, por lo que es necesario adoptar medidas adecuadas para coordinar las tareas heterogéneas de las distintas funciones de ingeniería de calidad y para consolidar y sincronizar los datos y la información necesarios para cumplir las tareas y ponerlos a disposición de cada actor en un formato adecuado.

Gestión del conocimiento

La gestión del conocimiento desempeña un papel importante en la ingeniería de calidad. [10] La base de conocimiento de ingeniería de calidad comprende múltiples datos estructurados y no estructurados , que van desde repositorios de código, pasando por especificaciones de requisitos, estándares, informes de pruebas y modelos de arquitectura empresarial, hasta configuraciones de sistemas y registros de tiempo de ejecución. Los modelos de software y sistemas desempeñan un papel importante en el mapeo de este conocimiento. Los datos de la base de conocimiento de ingeniería de calidad se generan, procesan y se ponen a disposición tanto de forma manual como mediante herramientas en un contexto distribuido geográfica, organizativa y técnicamente. De suma importancia es el enfoque en las tareas de garantía de calidad , el reconocimiento temprano de riesgos y el apoyo adecuado para la colaboración de los actores.

Esto da como resultado los siguientes requisitos para una base de conocimientos de ingeniería de calidad:

  • Los conocimientos están disponibles con la calidad necesaria. Entre los criterios de calidad importantes se encuentran que los conocimientos sean coherentes y actualizados, así como completos y adecuados en términos de granularidad en relación con las tareas de los actores pertinentes.
  • El conocimiento está interconectado y es rastreable para apoyar la interacción entre los actores y facilitar el análisis de los datos. Esta trazabilidad no solo se relaciona con la interconexión de los datos en diferentes niveles de abstracción (por ejemplo, la conexión de los requisitos con los servicios que los realizan), sino también con su trazabilidad a lo largo del tiempo, lo que solo es posible si existen conceptos de control de versiones adecuados. Los datos se pueden interconectar tanto de forma manual como (semi)automática.
  • La información debe estar disponible en un formato que sea coherente con el conocimiento del dominio de los actores apropiados. Por lo tanto, la base de conocimiento debe proporcionar mecanismos adecuados para la transformación de la información (por ejemplo, agregación) y la visualización. El concepto RACI es un ejemplo de un modelo apropiado para asignar actores a la información en una base de conocimiento de ingeniería de calidad.
  • En contextos en los que actores de diferentes organizaciones o niveles interactúan entre sí, la base de conocimientos de ingeniería de calidad debe proporcionar mecanismos para garantizar la confidencialidad y la integridad.
  • Las bases de conocimiento de ingeniería de calidad ofrecen todo un abanico de posibilidades de análisis y búsqueda de información para apoyar las tareas de control de calidad de los actores.

Procesos colaborativos

El proceso de ingeniería de calidad comprende todas las tareas que se llevan a cabo de forma manual y (semi)automatizada para identificar, cumplir y medir las características de calidad en un contexto determinado. El proceso es altamente colaborativo en el sentido de que requiere la interacción de actores que actúan de forma muy independiente entre sí.

El proceso de ingeniería de calidad debe integrar todos los subprocesos existentes que pueden incluir procesos altamente estructurados, como la gestión de servicios de TI , y procesos con una estructura limitada, como el desarrollo ágil de software . Otro aspecto importante es el procedimiento impulsado por el cambio, en el que los eventos de cambio, como los requisitos modificados, se abordan en el contexto local de la información y los actores afectados por dicho cambio. Un requisito previo para esto son los métodos y las herramientas que respaldan la propagación y el manejo de los cambios.

El objetivo de un proceso de ingeniería de calidad eficiente es la coordinación de tareas de control de calidad manuales y automatizadas . La revisión de código o la obtención de objetivos de calidad son ejemplos de tareas manuales, mientras que las pruebas de regresión y la recopilación de métricas de código son ejemplos de tareas realizadas automáticamente. El proceso de ingeniería de calidad (o sus subprocesos) puede contar con el apoyo de herramientas como sistemas de tickets o herramientas de gestión de seguridad.

Véase también

Asociaciones

  • Txture es una herramienta para la documentación y análisis textual de la arquitectura TI.
  • mbeddr es un conjunto de lenguajes integrados y extensibles para ingeniería de software integrado, además de un entorno de desarrollo integrado (IDE).
  • qeunit.com es un blog sobre temas relacionados con la flexibilización cuantitativa
  • TMAP.net es el cuerpo de conocimiento de Sogeti

Referencias

  1. ^ Juran, JM (1988). "Apéndice IV Terminología de sistemas de calidad" . En Juran, JM (ed.). Juran's Quality Control Handbook . McGraw-Hill Book Company. págs. 2-3. ISBN 0-07-033176-6.
  2. ^ Ruth Breu; Annie Kuntzmann-Combelles; Michael Felderer (enero-febrero de 2014). "Nuevas perspectivas sobre la calidad del software" (PDF) . IEEE Software . 31 (1). IEEE Computer Society: 32–38. doi :10.1109/MS.2014.9 . Consultado el 2 de abril de 2014 .
  3. ^ Ruth Breu; Berthold Agreiter; Matthias Farwick; Michael Felderer; Michael Hafner; Frank Innerhofer-Oberperfler (2011). "Living Models - Ten Principles for Change-Driven Software Engineering" (PDF) . Revista internacional de software e informática . 5 (1–2). ISCAS: 267–290 . Consultado el 16 de abril de 2014 .
  4. ^ Michael Felderer; Christian Haisjackl; Ruth Breu; Johannes Motz (2012). "Integración de la evaluación de riesgos manual y automática para pruebas basadas en riesgos". Calidad del software. Automatización de procesos en el desarrollo de software (PDF) . Apuntes de clase sobre procesamiento de información empresarial. Vol. 94. Springer Berlin Heidelberg. págs. 159–180. doi :10.1007/978-3-642-27213-4_11. ISBN 978-3-642-27212-7. Recuperado el 16 de abril de 2014 .
  5. ^ "¿Qué es un ingeniero de calidad? ¿Qué hace y cómo puede convertirse en uno?". 17 de febrero de 2017. Consultado el 2 de octubre de 2018 .
  6. ^ "Preparación para la certificación de ingeniero de calidad certificado - ASQ". asq.org . Consultado el 2 de octubre de 2018 .
  7. ^ "Grupo de Prácticas de Auditoría ISO 9001". committee.iso.org . Archivado desde el original el 29 de marzo de 2019 . Consultado el 7 de septiembre de 2018 .
  8. ^ "Ingeniero de calidad de procesos". automotiveengineeringhq.com . 17 de diciembre de 2014 . Consultado el 7 de septiembre de 2018 .
  9. ^ Michael Kläs; Frank Elberzhager; Jürgen Münch; Klaus Hartjes; Olaf von Graevemeyer (2–8 de mayo de 2010). "Combinación transparente de datos de expertos y de medición para la predicción de defectos: un estudio de caso industrial" (PDF) . Actas de la 32.ª Conferencia Internacional ACM/IEEE sobre Ingeniería de Software . 2 . ACM Nueva York, EE. UU.: 119–128 . Consultado el 8 de abril de 2014 .
  10. ^ Jacek Czerwonka; Nachiappan Nagappan; Wolfram Schulte; Brendan Murphy (julio-agosto de 2013). "CODEMINE: Building a Software Development Data Analytics Platform at Microsoft" (PDF) . IEEE Software . 30 (4). IEEE Computer Society: 64–71. doi :10.1109/MS.2013.68. S2CID  32085825 . Consultado el 7 de abril de 2014 .
Obtenido de "https://es.wikipedia.org/w/index.php?title=Ingeniería_de_calidad&oldid=1251656287"