Los ejemplos y la perspectiva de este artículo pueden no representar una visión global del tema . ( Octubre de 2016 ) |
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]
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:
El conjunto de conocimientos de ingeniería de calidad incluye: [6]
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.
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.
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]
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:
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.
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:
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.
Asociaciones