Sistema para garantizar que el software cumpla con los estándares de calidad
La gestión de la calidad del software ( SQM ) es un proceso de gestión que tiene como objetivo desarrollar y gestionar la calidad del software de tal manera que se garantice de la mejor manera posible que el producto cumpla con los estándares de calidad esperados por el cliente y, al mismo tiempo, cumpla con los requisitos regulatorios y de desarrollo necesarios, si los hubiera. [1] [2] [3] Los gerentes de calidad del software requieren que el software se pruebe antes de lanzarlo al mercado, y lo hacen utilizando una evaluación de calidad basada en procesos cíclicos para revelar y corregir errores antes del lanzamiento. Su trabajo no es solo garantizar que su software esté en buenas condiciones para el consumidor, sino también fomentar una cultura de calidad en toda la empresa. [1] [2] [3]
Actividades de gestión de calidad
Las actividades de gestión de calidad de software generalmente se dividen en tres componentes principales: garantía de calidad, planificación de calidad y control de calidad. [1] [2] Algunos, como el ingeniero de software y autor Ian Sommerville, no utilizan el término "control de calidad" (ya que el control de calidad a menudo se considera más un término de fabricación que un término de desarrollo de software), sino que vinculan sus conceptos asociados con el concepto de garantía de calidad. [3] Sin embargo, los tres componentes principales siguen siendo los mismos.
Seguro de calidad
El aseguramiento de la calidad del software establece un conjunto organizado y lógico de procesos organizacionales y, al decidir qué estándares de desarrollo de software (basados en las mejores prácticas de la industria) deben combinarse con esos procesos organizacionales, los desarrolladores de software tienen más posibilidades de producir software de mayor calidad. Sin embargo, vincular atributos de calidad como "mantenibilidad" y "fiabilidad" a los procesos es más difícil en el desarrollo de software debido a sus elementos de diseño creativo en comparación con los procesos mecánicos de fabricación. [1] [2] [3] Además, "la estandarización de procesos a veces puede sofocar la creatividad, lo que conduce a un software de peor calidad en lugar de mejor". [3]
Esta etapa puede incluir:
Fomentar estándares en el proceso de documentación, como la creación de documentos de ingeniería bien definidos utilizando plantillas estándar
Asesoramiento sobre cómo llevar a cabo procesos estándar, como revisiones de calidad.
Realización de procedimientos de registro de datos de pruebas durante el proceso
Identificar estándares, si los hubiera, que deberían utilizarse en los procesos de desarrollo de software
Planificación de la calidad
La planificación de la calidad funciona a un nivel más granular, basado en proyectos, definiendo los atributos de calidad que se asociarán con el resultado del proyecto y cómo se deben evaluar dichos atributos. Además, en esta fase también se pueden asignar al proyecto los estándares organizacionales existentes. Se pueden asignar atributos como "robustez", "accesibilidad" y "modularidad" al proyecto de desarrollo de software. [1] [2] Si bien este puede ser un proceso más formalizado e integral, quienes utilizan un método más ágil de gestión de la calidad pueden poner menos énfasis en estructuras de planificación estrictas. [3] El plan de calidad también puede abordar el mercado previsto, las fechas críticas de lanzamiento, los objetivos de calidad, los riesgos esperados y la política de gestión de riesgos. [2] [3]
Control de calidad
El equipo de control de calidad prueba y revisa el software en sus distintas etapas para garantizar que se sigan los procesos y estándares de garantía de calidad tanto a nivel organizacional como de proyecto. [1] [2] (Algunos como Sommerville vinculan estas responsabilidades a la garantía de calidad en lugar de llamarlo control de calidad. [3] ) Estas comprobaciones se realizan de manera óptima separadas del equipo de desarrollo para brindar una visión más objetiva del producto que se va a probar. [2] [3] Sin embargo, los gerentes de proyecto del lado del desarrollo también deben ayudar, ayudando a promover como parte de esta fase una "cultura que brinde apoyo sin culpar cuando se descubran errores". [3] En las empresas de desarrollo de software que implementan un enfoque de calidad más ágil, estas actividades pueden ser menos formales; sin embargo, un cambio a métodos ágiles desde una estructura de gestión de calidad más formal puede crear problemas si los procedimientos de gestión no se adaptan adecuadamente. [3]
Las actividades incluyen:
Pruebas de lanzamiento del software, incluida la documentación adecuada del proceso de prueba
Examen del software y la documentación asociada para detectar la no conformidad con las normas
Revisión de seguimiento del software para garantizar que se aborden todos los cambios necesarios detallados en pruebas anteriores.
Aplicación de software de medición y métricas para la evaluación
La calidad del software y el ciclo de vida del software
La medición de la calidad del software es diferente a la fabricación; las tolerancias no son aplicables (al menos de la misma manera) y las conclusiones objetivas sobre si el software cumple con las especificaciones son difíciles, si no imposibles, de lograr. [3] Sin embargo, la calidad del software y su estado de idoneidad para el propósito aún se pueden lograr de varias maneras según la organización y el tipo de proyecto realizado. [4] Esto se hace mediante el apoyo de todo el ciclo de vida del desarrollo del software , lo que significa:
recopilación de requisitos y definición del alcance de un proyecto de TI, centrado en la verificación de si los requisitos definidos serán comprobables;
diseñar la solución, centrado en la planificación de un proceso de pruebas, por ejemplo, ¿qué tipo de pruebas se realizarán y cómo se realizarán en el contexto de los entornos de prueba y los datos de prueba?
implementar una solución respaldada por casos de prueba y escenarios, ejecutarlos y registrar defectos, incluida la coordinación de la resolución de los defectos;
Implementar la gestión de cambios, respaldada por la verificación de cómo los cambios planificados pueden influir en la calidad de una solución creada y el cambio eventual de un plan de pruebas; y
cierre del proyecto, apoyado en la realización de pruebas enfocadas a la verificación compleja de la calidad global de la solución creada.
Enlaces a métodos de TI
La gestión de la calidad del software es un tema estrechamente vinculado con diversos métodos de gestión de proyectos, desarrollo y operación de TI, entre los que se incluyen:
El método de gestión de proyectos PRINCE2 [5] define:
Componente "Calidad en el entorno de proyectos", que describe la necesidad de un control doble y objetivo de los productos creados. Propone el uso de 4 elementos: sistema de gestión de calidad, función de control de calidad, planificación de la calidad y controles de calidad.
"Técnica de revisión de calidad" que se centra en verificar si los productos creados cumplen con los criterios de calidad definidos.
El método de gestión de proyectos PMBOK 4ª edición [6] define el área de conocimiento Gestión de la Calidad del Proyecto y los siguientes procesos:
3.4.12 Plan de Calidad,
3.5.2. Realizar el control de calidad,
3.6.7. Realizar el control de calidad
El método de desarrollo RUP define la prueba de disciplina, que se lleva a cabo en todas las fases desde el inicio hasta la transición.
El método de desarrollo MSF define el rol del probador y la fase de estabilización, que se centra principalmente en probar una solución. [7]
El método operativo CMMI define entre otros el área de proceso PPQA "Garantía de calidad de procesos y productos", que ya se requiere en el nivel 2 de CMMI.
El método operativo COBIT define entre otros el proceso P08 Gestionar la Calidad.
El método operativo ITIL se define entre otros por la publicación Mejora Continua del Servicio.
V-Model : modelo que define el ciclo de vida del desarrollo de software y el proceso de prueba.
La familia de normas ISO 9000 está relacionada con los sistemas de gestión de calidad y está diseñada para ayudar a las organizaciones a garantizar que satisfacen las necesidades de los clientes y otras partes interesadas[1] al tiempo que cumplen los requisitos reglamentarios y legales relacionados con el producto.
Asociaciones y organizaciones
La Sociedad Estadounidense para la Calidad (ASQ) es una organización profesional que ofrece a sus miembros certificación, capacitación, publicaciones, conferencias y otros servicios relacionados con la gestión de la calidad, la mejora continua y la seguridad del producto.
La International Software Testing Qualifications Board (ISTQBP) es una asociación internacional sin fines de lucro registrada en Bélgica. Gestiona el proceso de certificación para probadores de software y cuenta con más de 535.000 certificados emitidos en más de 120 países. [8]
^ abcdef Zsolt, U. (febrero de 2014). «Gestión de la calidad del software» (PDF) . Procesos de desarrollo de software y garantía de calidad del software . Universidad de Panonia. págs. 117–121 . Consultado el 7 de diciembre de 2017 .
^ abcdefgh Maxim, BR (2014). "Gestión de la calidad del software" (PPT) . Universidad de Michigan - Dearborn . Consultado el 7 de diciembre de 2017 .
^ abcdefghijkl Sommerville, I. (2011). "Capítulo 24: Gestión de la calidad". Ingeniería de software (novena edición). Addison-Wesley. págs. 651–680. ISBN9780137035151.
^ Kelemen, ZD (2013). Unificación basada en procesos para la mejora de procesos de software multimodelo Eindhoven: Technische Universiteit Eindhoven. ISBN 978-90-386-3313-8
^ OGC (Oficina de Comercio Gubernamental) (2009). Managing Successful Projects with PRINCE2 (2009 ed.). TSO (The Stationery Office). ISBN 978-0-11-331059-3
^ Guía de los fundamentos de la dirección de proyectos, cuarta edición , PMI, EE. UU., 2008
^ Microsoft Solution Framework - Capítulo 18 Fase de estabilización, publicado: 27 de abril de 2005 [1]
^ "Certificación de probadores de software en todo el mundo". International Software Testing Qualifications Board . Consultado el 7 de diciembre de 2017 .