VANESSA CASTILLO JAIRO ANAGO DAVID ESCOBAR
SEXTO/PRIMERO
3 DE OCTUBRE DEL 2012
En los años 50, el software comenzó a encontrar su camino dentro de los sistemas del DoD (del inglés Deparment of Defense of USA). Usualmente estos proyectos estaban muy alejados de la planificación, planificación, se pasaban pasaban del presupuesto presupuesto y tenían muchos muchos problemas técnicos. técnicos. Frecuentemente Frecuentemente no funcionaban como se esperaba y muchos proyectos eran cancelados antes antes de ser entregados. Para intentar resolver este problema se estableció estableció la Verificación Verificación y Validación Independientes(IV&V Independientes(IV&V del inglés Independent Verification Verification and Validation), Validation), un proceso proceso de ingeniería que empleaba metodologías metodologías rigurosas rigurosas para evaluar la correctitud correctitud y calidad del software a lo largo de su ciclo de vida. El primer software en usar IV&V fue el programa del misil atlas a finales de los años 50. La actividad que llamamos llamamos SQA evoluciona evoluciona directamente directamente de la Verificación Verificación y Validación Independientes(IV&V), Independientes(IV&V), muchas muchas de las tareas tareas que asociamos asociamos con SQA SQA son originarias de IV&V. Luego durante durante los años años 70 la actividad actividad de desarrollo desarrollo de software software comenzó comenzó a expandirse y las compañías de desarrollo desarrol lo de software fueron experimentando los mismos pobres resultados que las agencias agencias gubernamentales(DoD, gubernamentales(DoD, NASA etc.) etc.) en las las décadas tempranas. Luego de la crisis del Software en los años 80, 80, SQA evoluciono hacia una herramienta herramienta que las compañías de de desarrollo de software utilizaban para para identificar de forma temprana los los problemas de calidad en en el proceso de desarrollo. Mientras SQA SQA era visto como un pequeño pequeño paso dentro del proceso del desarrollo del software, muchos jefes de proyectos vieron beneficios cuantificables a partir partir de integrar SQA dentro dentro del del proceso de desarrollo desarrollo de software. En los 90 varias compañías de software software ya tenían funciones de SQA dentro dentro de sus organizaciones.
El propósito del Aseguramiento de la Calidad del software es entregar a la administración una visibilidad adecuada del proceso utilizado y los productos construidos mediante acciones planificadas y sistemáticas que aseguren la calidad de di chos procesos y productos. Para ello, SQA abarca revisar, auditar e informar a la administración del proyecto sobre la adherencia de los productos productos y procesos a los estándares estándares y procedimientos establecidos. establecidos. El “proceso” incluye todas las actividades, métodos y prácticas para desarrollar o mantener
software y sus asociados. rtefactos creados como parte de la El “producto” comprende el software y todos los a rtefactos definición, mantención y uso del proceso de software, incluyendo especificaciones, descripciones de procesos, planes, procedimientos, procedimientos, código y documentación relacionada.
Entre los objetivos principales del Aseguramiento Aseguramiento de la Calidad de Software tenemos: Planificar las actividades de SQA. Verificar la adherencia de los productos de trabajo y de las actividades estándares, procedimientos y requerimientos establecidos.
a los
Informar a los grupos e individuos afectados sobre las actividades de SQA y sus resultados. Comunicar a la administración superior sobre desviaciones no resueltas dentro del proyecto.
Para alcanzar estos objetivos se requiere comprender la necesidad de un grupo responsable de SQA, las actividades del proceso de SQA, sus tareas a lo largo del ciclo de vida de un proyecto y su relación con otras áreas de prácticas del desarrollo desarrollo de software. software.
SQA se define como un conjunto de actividades planificadas y sistemáticas, cuyo primer objetivo es evaluar la calidad y adherencia de los productos de software a los estándares, procesos y procedimientos. procedimientos. La conformidad conformidad con los estándares y procedimientos procedimientos es evaluada a través del monitoreo de procesos, la evaluación del producto y las auditorías. El monitoreo de procesos y la evaluación del producto corresponden a las actividades de SQA responsables de verificar que el plan del proyecto, los procedimientos y estándares son seguidos correctamente durante el desarrollo y el control de los procesos. procesos. La auditoría es una técnica, que analiza con detenimiento los procesos y productos sobre la base de su adherencia a los procedimientos y estándares. Su propósito es garantizar que se cuenta con un proceso de control adecuado, que la documentación es mantenida y que los informes de los desarrolladores reflejan el estado de la actividad que desempeñan. Y su producto, un informe de guías y recomendaciones para los procesos de calidad y de desarrollo dirigido a la administración superior. Si bien estas tareas son las principales actividades de SQA, son aún demasiado generales con relación a una implantación de esta área de prácticas. Por ello, es necesario establecer y definir las tareas que permiten materializar el monitoreo de procesos, la evaluación del producto y las auditorías al interior de una organización. Estas actividades son: Estándares Revisiones Prueba Análisis de defectos defectos Gestión de configuración
Existen varios puntos puntos de vista desde donde se puede definir el aseguramiento aseguramiento de la calidad del software.
Desde el punto de vista de la evidencia:
“Una guía planificada y sistemática de todas las acciones necesarias para proveer la evidencia adecuada de que un producto cumple los requerimientos requerimientos técnicos establecidos. Un Un conjunto de actividades diseñadas para evaluar el proceso por el cual un producto es desarrollado o construido.”
Desde el punto de vista sistemático:
“Un conjunto, sistemático y planificado, de a cciones cciones necesarias necesarias para proveer la evidencia adecuada de que el proceso de desarrollo o mantenimiento de un sistema de software cumple cumple los requerimientos técnicos técnicos funcionales también como los requerimientos requerimientos gerenciales para cumplir la planificación y operar dentro del presupuesto del presupuesto confinado” confinado”
Desde el punto de vista de la visibilidad:
“El aseguramiento de la calidad del software provee clar o control del del proceso que está siendo usado por el proyecto y del producto que se está construyendo.” construyendo.”
Desde el punto de vista del aseguramiento:
“El aseguramiento de la calidad del softw are are es el sistema de métodos y procedimientos procedimien tos usados para asegurar que el producto de software alcanza sus requerimientos. requerimientos. El sistema involucra la planificación, estimación estimación y monitoreo monitoreo de las actividades de desarrollo realizadas realizadas por otros.”
Desde el punto de vista de la capacidad de uso:
“Las actividades sistemáticas que proveen evidencia de la c apacidad apacidad o disponibilidad disponibilidad de uso del p roducto roducto de software total.”
Para certificar madurez de procesos, procesos, hay que evidenciar que uno uno aplica un cierto proceso y para esto se deben registrar registrar las distintas actividades de tal tal proceso de desarrollo, como como éste es el objetivo que persigue el software software a desarrollar como como parte de esta tesis, elegiremos elegiremos la definición desde el punto punto de vista de la generación de evidencia evidencia adecuada que muestre muestre que se cumple con el proceso que que se dice seguir y con los requerimientos requerimientos establecidos.
Describir los diferentes roles que puede jugar el equipo equipo de SQA en una organización organización nos dará una visión clara de las funciones que puede llevar a cabo.
“Como policía del proceso”: el trabajo del equipo de SQA es asegurar que el desarrollo sigue el proceso establecido. establecido. Entre sus funciones funciones en este rol se encuentran: encuentran:
“Como abogado del cliente”: el trabajo del equipo de SQA es representar al cliente. Entre sus funciones en este rol se encuentran:
Auditar los productos productos del trabajo trabajo para identificar deficiencias. deficiencias. Determinar el cumplimiento del plan de desarrollo del proyecto y del proceso de desarrollo de software. Juzgar el proceso y no no el producto.
Identificar la funcionalidad que al cliente le gustaría encontrar. Ayudar a la organización organización a sensibilizarse sensibilizarse con las necesidades necesidades del cliente. Actuar como un cliente de prueba para obtener una alta satisfacción del cliente.
“Como analista” el trabajo del equipo de SQA es recabar información. Entre sus funciones en este rol se encuentran:
Juntar muchos datos sobre todos los aspectos aspectos del producto producto y del proceso. Con esta información ayudar ayudar a mejorar los procesos procesos y los productos.
“Como proveedor de información” el trabajo del equipo de SQA es revisar qué es lo que esté hecho y decir cuáles objetivos objetivos técnicos realmente realmente están cumplidos para que la gerencia pueda tomar mejores mejores decisiones de negocios. negocios. Entre sus funciones en en este rol se encuentran:
Proveer información información técnica objetiva objetiva para que la gerencia gerencia pueda usarla para tomar mejores decisiones. Proveer información información apropiada de las clases de productos productos y de los riesgos asociados con estos. Concentrarse más más en la reducción reducción de los riesgos que en el cumplimiento del proceso.
“Como responsable de la elaboración del proceso” el trabajo del equipo de SQA es participar en la definición de los planes, procesos, estándares y procedimientos para asegurar que se ajustan a las necesidades del proyecto y que pueden ser usados para realizar las evaluaciones de QA y cumplir los requerimientos del proyecto y las políticas de la organización. organización. Para cumplir este rol el aseguramiento aseguramiento de la calidad debería comenzar en las fases fases tempranas tempranas del proyecto.
Aquí conviene aclarar que no necesariamente necesariamente las personas que definen la metodología a seguir pertenecen al equipo de QA. Definir la metodología puede llegar a ser o no una actividad del equipo de QA. Una Una estructura posible en el proceso de mejora del software puede ser contar con un SEPG (Software Engineering Process Group) totalmente independiente del equipo equipo de QA, encargado encargado de definir la metodología mientras que el equipo de QA se limita a verificar que se cumpla dicha metodología.
Esta relación implica varios responsables durante el proceso de la elaboración del software de calidad, estos son:
Ingenieros de software Jefes de proyecto Clientes Vendedores Quienes trabajan dentro del grupo de las SQA (estos pueden ser independientes)
El proceso SQA está relacionado con dos elementos del desarrollo de una aplicación.
En primer, está relacionado con el proceso utilizado para desarrollar la aplicación (¿Cómo se desarrolla?). El grupo SQA debe asegurar que este proceso esté definido y se siga correctamente. correctamente.
En segundo lugar, está relacionado con los productos de software (¿Qué se desarrolla?). Es responsabilidad del grupo SQA garantizar que los productos producidos por los equipos de desarrollo cumplen con los estándares y atributos de calidad que se han establecido para esa aplicación.
El proceso SQA se divide en los subprocesos indicados en la figura. Estos procesos son responsabilidad del grupo SQA, el cual está integrado por el Líder de Desarrollo de Aplicaciones y los los Especialista en en Calidad del Proyecto Proyecto SIE.
El primer subproceso SQA consiste en elaborar el Plan SQA, descrito anteriormente en la Sección “Productos de los procesos de soporte”. Este plan define las actividades, procedimientos y recursos necesarios para asegurar que: (1) el proceso de desarrollo de la aplicación se siga; y (2) la aplicación satisfaga los atributos de calidad establecidos para ella. Esta planificación se realiza al inicio del proyecto, durante la ejecución del proceso de gestión denominado Planificación del Proyecto.
Las técnicas son utilizadas en las actividades de aseguramiento de la calidad para detectar desvíos de las especificaciones en los productos de software. En cada actividad para el aseguramiento aseguramiento de la calidad se puede utilizar una o más técnicas. Es un examen de un producto de software para detectar e identificar anomalías del software, incluido errores y desvíos de los estándares especificados. especificados. Gerenciales, Técnicas, entre pares, etc. Se utiliza para evaluar un producto para encontrar anomalías, mejorar el producto de software, etc.
SQA resuelve problemas como: Aumentar las posibilidades posibilidades de éxito del proyecto. Funcionalidad. Cumplimiento. Usable.
http://www.inf.utfsm.cl/~visconti/meigen/FundamentosSQA.pdf http://www.slideshare.ne http://www.slideshare.net/Anita325/a t/Anita325/aseguramiento-de seguramiento-de-la-calidad-del-softw -la-calidad-del-software-sqa are-sqa http://es.scribd.com/doc/38563777/37/Aseguramiento-de-la-Calidad-del-SoftwareSQA http://www.ort.edu.uy http://www.ort.edu.uy/fi/ingenieria/SubSitio /fi/ingenieria/SubSitios/ingsoft/o s/ingsoft/ortsf/areas/Intr rtsf/areas/IntroduccionCalida oduccionCalidad.p d.p df http://www.eumed.net/libros/2008a/351/Aseguramiento%20de%20Calidad%20de%20 Software.htm
El propósito del Aseguramiento de la Calidad del software es …… ntregar a la administración una visibilidad adecuada del proceso
1. Planificar las actividades de SQA. 2. Verificar la adherencia de los productos de trabajo y de las actividades a los estándares, estándares, procedimientos procedimientos y requerimient r equerimientos os establecidos. 3. Informar a los grupos e individuos i ndividuos afectados sobre las actividades de SQA y sus resultados. 4. Comunicar a la administración superior sobre desviaciones no resueltas dentro del proyecto.
“El aseguramiento de la calidad del software provee provee claro control del proceso que está siendo usado por el proyecto y del producto que se está construyendo.” construyendo.”
muchos datos sobre todos los aspectos aspectos del producto y del del proceso. Juntar muchos información ayudar a mejorar los procesos procesos y los productos. Con esta información
La relación entre la ingeniería y el SQA implica varios responsables durante el proceso de la elaboración del software de calidad, estos son: Ingenieros de software, Jefes de proyecto, Clientes, Vendedores y….. Quienes trabajan dentro del grupo de las SQA
Las técnicas empleados por el SQA son: Inspecciones, Walk-through y……. Revisiones
Aumentar las posibilidades posibilidades de éxito del del proyecto. Funcionalidad. Cumplimiento.
Las técnicas son utilizadas en las actividades de aseguramiento de la calidad para ……… ……… Detectar desvíos de las especificaciones en los productos de software.
En primer elemento del SQA está relacionado con……. El proceso utilizado para desarrollar la aplicación (¿Cómo se desarrolla?).
sistemáticas que proveen proveen evidencia de la capacidad o disponibilidad disponibilidad de uso “Las actividades sistemáticas del producto de software total.”